図1は、本実施形態の情報処理システムの構成例を示した図である。情報処理システムは、情報処理装置10等に実装される専用のアプリケーション(専用アプリケーション)と、情報処理装置10と通信可能な通信機器11とを少なくとも含んで構成される。図1では、その専用アプリケーションを情報処理装置10が実装するものとして説明する。情報処理システムは、情報処理装置10と通信機器11のみで構成されていてもよいが、図1に示す複合機12、クライアントPC13、リレーサーバ14、通信機器サーバ15の少なくとも1つを含んで構成することができる。また、情報処理システムは、情報処理装置10、通信機器11、複合機12等を1台ずつに限らず、2台以上含んで構成されていてもよく、その他の機器をさらに含んで構成されていてもよい。
情報処理装置10は、複合機12およびクライアントPC13とLAN(Local Area Network)といったローカルネットワークを介して接続され、また、通信機器11ともLANを介して接続可能とされている。情報処理装置10は、通信機器11との通信を仲介するリレーサーバ14および通信機器サーバ15とWAN(Wide Area Network)といったグローバルネットワークを介して接続されている。通信機器11は、リレーサーバ14および通信機器サーバ15とインターネットや3G回線/LTE(Long Term Evolution)等のWANを介して接続されている。WANは、全部が同じインターネットであってもよいし、それぞれが異なるネットワークであってもよい。
一般的に、LANは、他のネットワークからのアクセスを制限するために、ファイアウォール等の通信制限手段が導入されている。WANは、他のネットワークからも自由にアクセスできるようになっている。各機器は、ネットワークに有線または無線により接続することができ、無線により接続する場合、アクセスポイントと呼ばれる基地局を介して接続することができる。
情報処理装置10は、PCやワークステーション等とされ、Windows(登録商標)やUNIX(登録商標)等の汎用のOS(Operating System)を実装し、LANやWANを介して複合機12等と通信を行う。情報処理装置10は、専用アプリケーションを実装し、複合機12等からHTTP(Hypertext Transfer Protocol)等の汎用の通信プロトコルを使用して情報処理装置10に対する要求を受け付ける。そして、情報処理装置10は、その専用アプリケーションにより、その受け付けた要求を処理し、複合機12等にネットワークを介してその結果を送信する。
通信機器11は、スマートフォン、PDA(Personal Digital Assistant)、タブレット端末等とされ、通信機器11用の汎用OSを実装し、ネットワークを介して情報処理装置10等と通信を行う。この通信機器11も、通信機器11に専用アプリケーションを実装し、HTTP等の汎用の通信プロトコルを使用して情報処理装置10との間で情報のやりとりを行い、情報処理装置10が管理するファイルのファイル一覧を取得して表示する。通信機器11に実装される専用アプリケーションは、情報処理装置10に対する設定変更を行うことも可能となっている。ただし、通信機器11から設定変更を行う場合において、ユーザ権限が付与されているとき、ユーザ権限を考慮した設定項目のみが変更可能とされている。
設定項目に設定される設定情報としては、ログイン時等に使用するユーザ情報、管理するファイルのファイル情報、情報処理装置10のシステム設定情報等が挙げられる。ユーザ情報は、ユーザ名、ユーザID、パスワード、権限、ワークフロー設定、WebUI画面の各種設定値等である。ファイル情報は、ファイル名、ファイルパス、作成日時、更新日時、作成者名、種別等である。システム設定情報は、MAC(Media Access Control)アドレスや製造番号等の装置固有の情報、全ユーザに共通の設定等である。なお、ファイルパスは、ファイルの所在を示す文字列である。
複合機12は、MFP(Multi Function Peripheral)等の複数の機能を備える機器である。その機能としては、印刷機能、ファックス送受信機能、スキャナ機能、メール送受信機能等である。複合機12は、ブラウザソフトと呼ばれるネットワーク上の情報を閲覧するためのソフトウェアを実装し、このブラウザソフトを介して情報処理装置10にアクセスする。複合機12は、このブラウザソフトにより、HTTP等の汎用の通信プロトコルを使用して情報処理装置10へ要求を送信する。複合機12は、コンピュータリソースを操作するためのOSがもつ機能として、ファイルシステムを実装している。このため、情報処理装置10に対してSMB(Server Message Block)アクセスが可能であれば、複合機12内に保存されたファイルを情報処理装置10のネットワーク共有フォルダにコピーすることができる。そして、情報処理装置10のネットワーク共有フォルダに保存されているファイルもアクセス可能であるため、ネットワークを介してファイルの更新作業を行うことができる。
ここで、SMBは、ネットワークを介してファイル共有やプリンタ共有を実現するためのプロトコルであり、SMBアクセスは、そのプロトコルを使用した通信である。
クライアントPC13は、ノートPC、デスクトップPC、タブレットPCのいずれのPCであってもよい。クライアントPC13は、汎用OSを実装し、ネットワークを介して複合機12等と接続される。このクライアントPC13も、複合機12と同様、ファイルシステムを実装しており、情報処理装置10に対してSMBアクセスを行うことができる。このため、クライアントPC13に保存されたファイルを、情報処理装置10のネットワーク共有フォルダにコピーすることができ、情報処理装置10のネットワーク共有フォルダに保存されているファイルへアクセスすることができる。したがって、クライアントPC13も、ネットワークを介してファイルの更新作業を行うことができる。
リレーサーバ14は、情報処理装置10と通信機器11との間の通信を仲介する仲介装置としての役割を担う。通信機器11は、ファイアウォール等の通信制限手段により、情報処理装置10へLANを介して通信することができない場合、WANおよびリレーサーバ14を介して通信を行う。通信機器11が要求をリレーサーバ14に送信すると、リレーサーバ14は、その要求を受信して、リレーサーバ14が備えるキューに蓄積する。情報処理装置10は、リレーサーバ14にポーリングと呼ばれる、情報処理装置10に対する要求があるかどうかの問い合わせを定期的に行う。リレーサーバ14は、その問い合わせに対して要求がある場合、キューに蓄積された要求を順次取り出し、情報処理装置10へ送信する。これにより、通信機器11からの要求を、情報処理装置10へ送信する。
この仕組みについて、より詳細に説明する。通信機器11は、情報処理装置10を識別するための識別情報(例えば、コンタクトID)を含む要求をリレーサーバ14へ送信する。コンタクトIDは、情報処理装置10を一意に特定できる識別子で、任意の文字、数字、記号等の組み合わせとすることができる。リレーサーバ14は、予め機器を上記のコンタクトIDにより登録し、その機器に対して専用のキューを割り当てている。このため、リレーサーバ14は、要求に含まれるコンタクトIDを参照し、そのコンタクトIDが割り当てられたキューにその要求を入れる。情報処理装置10は、ポーリングの際、情報処理装置10のコンタクトIDを一緒に送信する。リレーサーバ14は、情報処理装置10から受信したコンタクトIDを参照し、そのコンタクトIDに対応するキューを探し、そのキュー内に要求が蓄積されている場合、順次、蓄積されている要求を情報処理装置10に対して送信する。情報処理装置10から通信機器11へ処理結果を返信する場合は、通信機器11のコンタクトIDを使用して、同様の処理を行い、処理結果を返信することができる。
通信機器サーバ15も、リレーサーバ14と同様、仲介装置としての役割を担い、通信機器11に実装される汎用OSを管理し、通信機器11に実装されるOSに対して指示を送る。この指示は、情報処理装置10から通信機器サーバ15を介して通信機器11へ送信されるものである。なお、情報処理装置10から通信機器11へ直接指示を送ることができれば、通信機器サーバ15は設けなくてもよい。指示としては、情報処理装置10内のファイルが更新された場合に、通信機器11へ通知する未読ファイル数を一例として挙げることができる。この未読ファイル数は、通信機器11と通信機器11に実装される専用アプリケーションを一意に特定できる固有情報とともに通知され、固有情報は、通信機器サーバ15が送信先を特定するため等に使用される。
ここでは、固有情報を使用しているが、通信機器11と専用アプリケーションを別個に特定するために、例えば、通信機器11および専用アプリケーションの各々を識別するための端末識別情報とアプリ識別情報の2つの情報を通知してもよい。
未読ファイル数は、通信機器11が固有情報により特定した専用アプリケーションを表すエンティティ(例えば、アイコン)に関連付けて表示される。関連付ける方法については公知の技術を採用することができる。これを、通信機器11を使用するユーザが見ることにより、その専用アプリケーションにより表示されるファイル一覧に、追加、更新等の変更されたファイルが存在することを把握することができる。
通信機器11は、その専用アプリケーションの起動により、ファイル一覧の取得を情報処理装置10に対して要求し、情報処理装置10が、実際にどのファイルが追加、更新されたかを、他のファイルと区別可能にリストしたファイル一覧を生成して返信する。ファイル一覧は、追加または変更されたファイルのファイル情報を通信機器11に表示させるための表示情報として生成される。このため、通信機器11では、追加、更新されたファイルが他のファイルと区別して表示されるため、ユーザは追加、更新されたファイルを簡単に探し出し、その内容を確認することができる。これにより、ユーザの利便性を高めることができる。なお、情報処理装置10は、追加、更新されたファイルのみをリストした一覧を生成し、返信することも可能である。この場合、一見してどのファイルが追加、更新されたかを把握することができる。
以下、それを実現するための具体的な装置構成や処理内容について詳細に説明する。図2は、情報処理システムが備える情報処理装置10のハードウェア構成を例示した図である。情報処理装置10のハードウェア構成は、汎用PCと同様の構成であり、CPU20、メモリユニット21、記憶装置制御ユニット22、ネットワーク制御部23、入出力装置制御ユニット24、外部メディア入出力装置25、各種インタフェース26を備える。また、情報処理装置10は、HDD(Hard Disk Drive)等の記憶装置27を備える。
CPU20は、情報処理装置10が備える各ユニットの制御やデータの演算、加工を行う。CPU20は、メモリユニット21に記憶された専用アプリケーション等のプログラムを実行し、図示しない入力装置や記憶装置27等からデータを受け取り、演算、加工した結果をそれらの装置へ出力する。メモリユニット21は、ROM(Read Only Memory)やRAM(Random Access Memory)等から構成される。メモリユニット21は、CPU20が実行するOSや専用アプリケーション等のプログラムやデータを記憶、または一時的に記憶する。
記憶装置27は、情報処理装置10が管理する各種情報、専用アプリケーション等のプログラムに関連するデータ等を記憶する。記憶装置制御ユニット22は、データベースやファイルシステム等の機能により、記憶装置27が記憶するファイルを管理する。ネットワーク制御部23は、イーサネット(登録商標)コントローラ等であり、LANやWANを介して他の機器と通信を行う。入出力装置制御ユニット24は、外部メディア入出力装置25や各種インタフェース26の管理を行い、外部機器、例えば図1に示す複合機12やクライアントPC13等からのデータの入出力を行う。外部メディア入出力装置25は、USB(Universal Serial Bus)メディア、CF(Compact Flash)カードやSD(Secure Digital)カード等の外部メディアを制御し、データの入出力を行う。各種インタフェース26は、シリアルポートやUSBポート、IEEE1394等の、外部機器を接続するためのインタフェースであり、汎用的な入出力装置を接続して使用することができる。
ここでは、情報処理装置10のハードウェア構成のみを説明したが、通信機器11、複合機12、クライアントPC13、リレーサーバ14、通信機器サーバ15も、同様のハードウェア構成を採用することができる。なお、複合機12は、印刷機能やスキャナ機能等を実現するために、印刷装置、スキャナ装置等をさらに備えるものとされる。
図3は、情報処理システムが備える情報処理装置10の機能ブロック図である。情報処理装置10は、記憶装置27といった記憶部としてのファイル記憶部に記憶された1以上のファイルを管理し、通信機器11からの要求を受けて、管理するファイルのファイル一覧を通信機器11へ送信し、ファイル一覧を表示させることができる装置である。この情報処理装置10は、通信機器11に表示されたファイル一覧において、新規に追加されたファイルや更新されたファイルを視覚的に把握できるようにするために、少なくとも検知部30と、未読ファイル管理部31と、送信処理部32とを含んで構成される。
情報処理装置10は、そのほか、WebAPI処理部33、認証処理部34、ワークフロー処理部35、リレーサーバ処理部36、WebUI処理部37、設定情報管理部38、通知部としてのPUSH通知処理部39を含むことができる。図3では、情報処理装置10内にファイルを記憶する格納領域としてのファイル記憶領域40を備えているが、ファイル記憶部は、外付けHDD等の情報処理装置10外に存在していてもよい。また、情報処理装置10は、WebAPI処理部33、認証処理部34、ワークフロー処理部35、リレーサーバ処理部36、WebUI処理部37、設定情報管理部38、PUSH通知処理部39の全部を備えていなくてもよい。これらの処理部や管理部等の機能部は、CPU20が専用アプリケーションを実行することにより、また、上記各ユニットにより実現される。
情報処理装置10は、共通フレームワーク41を備え、共通フレームワーク41は、情報処理装置10に実装される複数の機能部が互いに通信するために使用される。各機能部間でやりとりされる要求やファイルは、この共通フレームワーク41を介して行われる。WebAPI処理部33は、ネットワークに接続された通信機器11、複合機12、クライアントPC13からの要求を制御し、受け取った要求を、要求元ごとにシリアル化して、共通フレームワーク41を介して各処理部へ送信する。
WebUI処理部37は、情報処理装置10に実装されるWebサーバと呼ばれるアプリケーションにより表示される表示内容を制御する。WebUI処理部37は、ユーザごとに設定情報やファイルの内容に応じて表示内容を構築する。認証処理部34は、WebUI処理部37やWebAPI処理部33を介してユーザが入力を行い、ログイン処理を実施した際、ユーザ認証を行う。認証処理部34は、後述する設定情報管理部38により管理されている設定情報からユーザ情報を取得し、ユーザが入力したユーザ情報と一致するかどうかを判断する。一致すれば、認証成功となり、一致しなければ、認証失敗となる。認証処理部34は、認証失敗の場合、WebUI処理部37およびWebAPI処理部33が、アクセスしてきたユーザに対し、認証エラーを返す。
送信処理部32は、情報処理装置10が備えるファイル記憶領域40に記憶された1以上のファイルを管理する。ファイル記憶領域40に記憶されるファイルとしては、SMBアクセスにより保存されたファイル、情報処理装置10に実装されたアプリケーションにより作成されたファイル等が挙げられる。送信処理部32は、ファイルを管理するだけではなく、データのフォーマット変換も行う。フォーマット変換としては、画像フォーマットの変換、例えばbmpファイルのjpegファイルへの変換等が挙げられる。なお、変換後のファイルも、ファイル記憶領域40に記憶され、送信処理部32による管理対象となる。
また、送信処理部32は、後述する未読ファイル管理部31から通知された未読ファイルのファイル情報に基づき、ファイル一覧を生成し、生成したファイル一覧を通信機器11へ送信する。ファイル一覧は、未読ファイルを該未読ファイル以外の他のファイルとは区別可能に、管理する1以上のファイルをリストしたものである。このファイル一覧は、ファイルを一列に並べたものであってもよいし、フォルダを用いたツリー構造で表されるものであってもよい。また、送信処理部32は、追加または変更されたファイルの一覧のみを通信機器11へ送信することも可能である。ここでは、全部のファイル一覧を送信するものとして説明する。また、ファイルの変更を、ファイルの更新として説明する。
検知部30は、ファイル記憶領域40へのファイル(新規ファイル)の追加またはファイル記憶領域40に記憶されたファイルの更新を検知する。具体的には、新規ファイルが保存されたこと、既存のファイルが修正され、上書き保存されたことを検知する。検知部30は、ファイル記憶領域40を常時監視し、既存のファイルが削除されたこと等も検知することができる。ファイル記憶領域40に記憶される1以上のファイルは、ファイルシステムにより管理され、ファイルシステムがファイルの新規追加等により管理する対象の変更があった場合に管理情報を変更する。このため、検知部30は、この管理情報を参照して、ファイルの追加や更新があったことを検知することができ、そのファイル情報を取得することができる。
検知部30は、ファイル情報を含む検知結果を送信処理部32へ通知する。送信処理部32は、変更があったファイルのファイル情報を受け取ることで、ファイルシステムと同期してファイル記憶領域40に記憶されたファイルを管理することができる。
未読ファイル管理部31は、検知部30の検知結果を、送信処理部32を介して受け取り、その検知結果から、追加または更新が検知されたファイルのファイル情報を取得し、そのファイルを未読ファイルとして管理する。そして、未読ファイル管理部31は、管理している未読ファイルのファイル情報を送信処理部32に対して通知する。未読ファイル管理部31は、実際のファイルパスに対してハードリンクした未読用のリンクやショートカット等のファイルを参照するリンク情報を生成し、そのファイルとリンク情報とを対応付け、既存のファイルと同等に扱えるようにする。そして、未読ファイル管理部31は、このリンク情報を、ファイル記憶領域40のうち情報処理装置10がアクセス可能であり、後述する条件を満たしていない場合、他の装置からは参照できない非公開記憶領域に記憶させる。ファイル記憶領域40は、この非公開記憶領域のほか、既存のファイル一式にアクセス可能な公開記憶領域を有し、これらの記憶領域は、送信処理部32によって管理される。
ここで、未読ファイルは、ユーザ情報毎に管理されている。ユーザ情報、すなわちユーザ毎に未読ファイルを管理することで、例えばファイルAにユーザAがアクセスする前にユーザBがファイルにアクセスしても、ユーザAは未読として管理することができる。そのため、情報処理装置10は、ユーザAが閲覧するまでファイルAが未読であることを通知することができる。
ワークフロー処理部35は、検知部30がファイルの追加を検知した際、追加が検知されたファイルが予め指定されたフォルダに格納された場合に、所定のワークフローを実行する。ワークフローとしては、ファイルをフォーマット変換する処理や、ファイルを指定されたパスに送信する処理や、ファイルを指定された宛先へメール送信する処理等が挙げられる。なお、フォーマット変換等のファイルへの変更処理は、送信処理部32により実行される。
リレーサーバ処理部36は、図1に示すリレーサーバ14を定期的に監視し、リレーサーバ14内に、情報処理装置10宛ての要求があるかどうかを確認する。リレーサーバ処理部36は、定期的にポーリングを行い、リレーサーバ14に蓄積されている要求を取得し、各処理部へ要求を送って処理させ、その処理結果をリレーサーバ14に通知する。
設定情報管理部38は、ファイル記憶領域40に記憶される設定情報を管理する。設定情報は、上記のようなユーザ情報、システム設定情報を含み、ユーザの権限により、読み取り専用であるか、変更可能であるかが決められている。設定情報を設定するための設定項目には、追加または更新したファイルを未読ファイルとして追加するかどうかの設定もあり、この設定を無効にすることにより、追加または更新したファイルを未読ファイルとして扱わないようにすることができる。このため、どのファイルが追加または更新されたかを表示させることができなくなる。また、設定情報には、フォルダ毎に設定された通知先のユーザ情報も管理されている。
未読ファイルとして追加するかどうかの設定は、WebUI処理部37が表示する表示画面から、または通信機器11に実装される専用アプリケーションにより表示される表示画面から行うことができる。この設定は、ユーザ毎の設定として保存される。ここでは、未読ファイルとして扱い、どのファイルが追加または更新されたかを把握できるようにするために、この設定は有効とされる。
設定情報管理部38は、そのほか、通信機器11とその通信機器11に実装される専用アプリケーションとを一意に特定できる固有情報、通信機器11に実装されるOSの種類等も管理する。これらの情報は、互いに紐付けられて管理される。固有情報は、通信機器11と専用アプリケーションの両方を一意に特定できれば、いかなる文字、数字、記号の組み合わせであってもよい。OSの種類は、Android(登録商標)OSやiOS(登録商標)等である。また、設定情報管理部38は、ユーザ情報と、通信機器11の固有情報とを関連付けて管理する。これにより、情報処理装置10が、フォルダにファイルが追加されたとき、そのフォルダに設定されたユーザ情報を参照し、その参照したユーザ情報と関連付けられた固有情報で識別される通信機器11へ通知することができる。例えば、ユーザがいつも利用する通信機器11の固有情報を関連付けて記憶させておくことで、ユーザはいつも利用する通信機器11で通知を受けることができる。なお、1つのユーザ情報に複数の通信機器11の固有情報を関連付けて管理してもよい。
PUSH通知処理部39は、送信処理部32がファイル一覧を送信する前に、追加または更新されたファイルに関する情報としての未読ファイル数を通知して、通信機器11に実装される専用アプリケーションを表すアイコンにその未読ファイル数を表示させる。この未読ファイル数を通知する際、固有情報と、通信機器11に実装されるOSの種類を示す情報とが付加される。
情報処理装置10は、通信機器11へ未読ファイル数を通知する際、図1に示す通信機器サーバ15を介して送信する。このため、送信処理部32は、未読ファイル数が更新された場合に即座に通信機器サーバ15へ通知する。通信機器サーバ15は、固有情報から通信機器11を特定し、その特定した通信機器11に未読ファイル数、固有情報を通知する。このとき、通信機器サーバ15は、OSの種類によって通信機器サーバ15のアドレスを切り替え、通信機器11との通信が確立した際、未読ファイル数、固有情報を押し込むように通知する。このため、通信機器11は、通信が確立したとともに、専用アプリケーションを表すアイコンに関連付けて未読ファイル数を表示させることができる。これにより、ユーザは、追加、更新されたファイルが存在することを視覚的に把握することができる。
図4は、情報処理装置10が管理するファイルのファイル一覧を例示した図である。ファイルは、一例として、SMBを使用してアクセス可能なネットワーク共有フォルダ(公開用フォルダ)と、非公開記憶領域としてのネットワークに非公開のフォルダ(非公開用フォルダ)とにより管理される。これらのフォルダには、複数のフォルダとファイルが格納されていて、このファイル一覧は、ツリー構造(ディレクトリ構造)で表すことができる。ツリー構造により表す場合、公開用フォルダ、非公開用フォルダをルートノードとし、それに繋がるノードが、全ユーザに公開されるAllUserフォルダと、ユーザ毎に公開されるUserフォルダとされる。
公開用フォルダのAllUserフォルダ、Userフォルダには、通常のファイル置き場として使用されるファイルフォルダ、キーワードをフォルダ名にすることで情報処理装置10内のファイルのリンクが作成されるキーワード検索フォルダが繋がっている。また、フォルダにファイルを保存することにより自動的に登録された所定の処理を実行するワークフローフォルダや、不要なファイルを一時的に削除するごみ箱フォルダも繋がっている。
非公開用フォルダにも、全ユーザが対象のAllUserフォルダと、ユーザ毎が対象となるUserフォルダとが繋がっている。AllUserフォルダおよびUserフォルダには、未読ファイルフォルダのみが繋げられる。この非公開用フォルダは、情報処理装置10がアクセス可能で、条件を満たしていない他の機器からフォルダ一覧の要求を受け付けても、非公開用フォルダはフォルダ一覧として表示されない。一方、条件を満たした他の機器からフォルダ一覧の要求を受け付けたとき、この非公開用フォルダを含めたフォルダ一覧が他の機器に表示される。情報処理装置10内の専用アプリケーションからアクセスすることが可能であり、非公開用フォルダが表示された他の機器は、非公開用フォルダ内のファイルに情報処理装置10内のアプリケーションを介してアクセスする。また、これらの非公開用フォルダはユーザ毎に作成されている。なお、図3に示す各機能部は、この専用アプリケーションをCPU20が実行することにより実現されることから、各機能部からはアクセスすることが可能である。
未読ファイルフォルダには、オリジナルのファイル、すなわちSMBアクセスにより保存されたファイルや、情報処理装置10に実装されたアプリケーションにより作成されたファイル等を保存せず、オリジナルのファイルのリンク情報を記憶する。したがって、未読ファイルフォルダには、公開用フォルダに何らかのファイルが新規に追加された場合や、公開用フォルダ内のファイルが更新された場合、追加されたファイルから新たにファイルが生成された場合に生成されたリンク情報が保存される。もちろん、オリジナルのファイルを記憶させても良いが、オリジナルのファイルを未読ファイルフォルダにも記憶すると、同じファイルをファイル記憶領域40に記憶することになるため、ファイル記憶領域40の容量を節約するためにリンク情報を記憶させる。未読ファイル管理部31は、検知部30により検知された検知結果に基づき、この未読ファイルフォルダに該当するリンク情報が存在しない限り、新規のリンク情報を生成する。すなわち、ファイルAに対応するリンク情報Aが既に未読ファイルフォルダに記憶されている場合、リンク情報Aを再度記憶しないようにすることで、未読ファイルフォルダにリンク情報が過剰に記憶されるのを防ぐ。リンク情報は、ハードリンクやショートカット等の情報で、リンク先のファイルを参照する情報とされる。ここで、ハードリンクとは、別のパスで参照できる仕組みである。
オリジナルのファイルと、このリンク情報とは対応(紐)付けられ、テーブル情報としてファイル記憶領域40に記憶される。これにより、オリジナルのファイルにアクセスしても、リンク情報にアクセスしても、他方に逆引きすることができるようになっている。すなわち、オリジナルのファイルにアクセスした場合、リンク情報が存在することが分かり、未読ファイルフォルダからそのリンク情報を削除することが可能となる。ここで、リンク情報を削除する理由は、一度オリジナルのファイルにアクセスされたのであれば、ユーザは新規に追加または更新されたファイルを確認したことになり、アクセスされたファイルは、新規に追加されたファイルまたは更新されたファイルではなくなるためである。また、リンク情報にアクセスした場合は、オリジナルのファイルを開くことが可能となる。
図5は、通信機器11が取得するファイル一覧を例示した図である。通信機器11がファイル一覧の取得を情報処理装置10に対して要求すると、WebAPI処理部33がその要求を受け付ける。WebAPI処理部33は、その要求を送信処理部32に渡し、送信処理部32が、その要求に含まれるユーザ情報に応じて、ファイル一覧を生成し、生成したファイル一覧を通信機器11へ送信する。なお、予めファイル一覧情報を生成しておき、要求を受け付けたとき、予め生成したファイル一覧情報を送信するようにしても良い。
送信処理部32は、図4に示した公開用フォルダ内の情報と、非公開用フォルダ内の情報とをマージ(結合)してファイル一覧を生成し、生成したファイル一覧を、WebAPI処理部33を介して通信機器11へ送信する。公開用フォルダ内の情報としては、AllUserフォルダの情報と、通信機器11を使用するユーザAのUserAフォルダの情報とが使用される。非公開用フォルダ内の情報としては、AllUserフォルダ内の情報と、ユーザAのUserAフォルダ内の情報とが使用される。送信処理部32は、これらをマージして、図5に示すようなファイル一覧を生成する。
通信機器11は、ファイル一覧を受信し、専用アプリケーションを起動させてそれを表示させると、図5に示すようなツリー構造で表されるファイル一覧を表示させることができる。ツリー構造における各ノードは、フォルダで表され、各フォルダには複数のファイルが含まれている。
ユーザが通信機器11の表示画面に表示されたファイル一覧の中のファイルにアクセスすると、通信機器11は、ファイルを詳細に表示するために、情報処理装置10に対してファイル情報とともにサムネイル画像の作成要求を送信する。ファイル情報は、ファイル名、ファイルの種類、サイズ、作成日時、更新日時等の情報であり、サムネイル画像は、ファイルの内容を縮小表示した画像である。ここでは、サムネイル画像の作成要求を送信しているが、そのファイル自体を要求することも可能である。
情報処理装置10のWebAPI処理部33は、ファイル情報と要求を受け付け、送信処理部32にそのファイル情報と要求を送り、必要な処理を実行させる。送信処理部32では、必要な処理として、ファイル情報に基づき、ファイルを取得して、サムネイル画像を生成する。送信処理部32は、処理結果としてのサムネイル画像のデータを、要求元である通信機器11へ送信する。通信機器11では、受信したデータを基にサムネイル画像を表示させる。
送信処理部32は、受信したファイル情報から、アクセスされたファイルが未読ファイルのリンク情報である場合、そのリンク情報に紐付けられたオリジナルのファイルにアクセスし、そのオリジナルのファイルを用い、サムネイル画像を生成する。アクセスされたファイルがオリジナルのファイルの場合は、そのオリジナルのファイルからサムネイル画像を生成する。リンク情報からオリジナルのファイルをたどる方法としては、テーブル情報を使用して行うほか、汎用OSがもつ機能やショートカット等のプロパティ情報からたどる方式を採用してもよい。
送信処理部32は、受け取ったファイル情報を、未読ファイル管理部31へも送る。未読ファイル管理部31は、受け取ったファイル情報を基に、未読ファイルファルダ内のリンク情報がアクセスされたかどうかを調べ、リンク情報がアクセスされた場合、そのリンク情報を削除する。オリジナルのファイルがアクセスされた場合も、テーブル情報から未読ファイルフォルダ内のリンク情報が紐付けられているかどうかを調べ、紐付けられている場合、その紐付けられたリンク情報を削除する。紐付けられたリンク情報がない場合は、何の処理も行わない。ファイルが追加された場合は、未読ファイルフォルダ内に新規のリンク情報を生成し、そのリンク情報をファイル記憶領域40に記憶して登録する。
図6は、ファイルが更新された際の通信機器における表示画面の一例を示した図である。検知部30は、ネットワーク共有フォルダやワークフロー機能を介してファイルが追加、更新されたかどうかを常時監視している。検知部30は、ファイルの追加または更新を検知すると、追加または更新を検知したファイルのファイル情報を、送信処理部32を介して未読ファイル管理部31へ通知する。未読ファイル管理部31は、未読ファイルフォルダ内の未読ファイルのリンク情報の数から未読ファイル数を算出し、未読ファイル数とリンク情報に紐付けられたオリジナルのファイルのファイル情報を、PUSH通知処理部39に通知する。
PUSH通知処理部39は、そのファイルをアクセスしているユーザのユーザ情報と、そのユーザが使用する通信機器11の固有情報およびOSの種類を示す情報とを、設定情報管理部38から取得する。PUSH通知処理部39は、これらの情報を基に、通信機器11へ送信する通信機器サーバ15を特定し、未読ファイル数をこれらの情報とともに、特定した通信機器サーバ15へ通知する。
通信機器サーバ15は、受け取った固有情報から、通信機器11を特定し、特定した通信機器11へ未読ファイル数、固有情報を通知する。通信機器11では、受け取った固有情報をOSが解析し、専用アプリケーションを特定し、その専用アプリケーションを示すアイコンに未読ファイル数を関連付け、図6(b)に示すような表示をさせる。ちなみに、通知を受ける前の表示は、例えば、図6(a)のような未読ファイル数の表示がないものである。
ユーザは、このアイコンに関連付けられた未読ファイル数を見て、追加、更新されたファイルが存在することを把握し、専用アプリケーションを起動させると、通信機器11がファイル一覧の取得要求を送信する。情報処理装置10のWebAPI処理部33は、その取得要求を受け付け、送信処理部32へ送り、必要な処理を実行させる。送信処理部32は、未読ファイル管理部31から未読ファイルのファイル情報の通知を受け、そのファイル情報に基づき、ファイル一覧を生成し、WebAPI処理部33を介して通信機器11へ送信する。通信機器11は、受け取ったファイル一覧を表示させる。通信機器11において表示されたファイル一覧は、図6(c)に示すようなものである。その後、未読ファイル管理部31では、未読ファイルが1つアクセスされるたびに、未読ファイルフォルダ内の紐付けられたリンク情報を1つずつ削除し、アイコンに表示された未読ファイル数も1つずつデクリメントさせる。
ここで、未読ファイルが未読ファイルフォルダ内に記憶されていなければ、図6(c)の「未読ファイル」というフォルダは表示されない。また、未読ファイルが未読ファイルフォルダ内に記憶されていても、通知の宛先の通信機器11以外の他の機器では、「未読ファイル」は表示されない。例えば、通知先がユーザAおよびユーザBであれば、ユーザCと関連付けられた通信機器11からのファイル一覧の取得要求では「未読ファイル」が表示されない。一方、ユーザAと関連付けられた通信機器、およびユーザBと関連付けられた通信機器からのファイル一覧要求では、ユーザAの未読ファイルフォルダ、およびユーザBの未読ファイルフォルダがそれぞれ送信される。
図7〜図9に示すシーケンス図を参照し、情報処理システムにより実行される処理について詳細に説明する。図7は、クライアントPC13からファイルが追加または更新された場合の通信機器11へ未読ファイル数を通知し、未読ファイル数を表示させる処理を示したシーケンス図である。クライアントPC13は、情報処理装置10のネットワーク共有フォルダにSMBアクセスを行うことができるので、任意のファイルに直接アクセスし、そのファイルの内容を修正する等してそのファイルを更新することができる。また、ユーザは、新規のファイルを作成し、任意のフォルダに作成した新規のファイルを追加することができる。
情報処理装置10の検知部30は、クライアントPC13からのファイルの追加または更新を検知する。検知部30は、ファイルの追加または更新を検知したことを、クライアントPC13に対して応答する。特定のフォルダにファイルが追加された場合、ワークフロー処理部35が予め決められたワークフローを実行する。そして、ワークフロー処理部35は、送信処理部32に対して必要な処理を依頼する。送信処理部32は、処理の依頼を受けたファイルのファイル情報を、ワークフロー処理部35を介して検知部30に返して応答する。
特定のフォルダ以外のフォルダにファイルが追加された場合や、既存のファイルが修正され、上書きされる等して更新された場合は、検知部30から送信処理部32に対して必要な処理を依頼する。この場合も同様、送信処理部32は、処理の依頼を受けたファイルのファイル情報を、検知部30に返して応答する。
送信処理部32は、処理の依頼を受けると、必要な処理として、フォーマット変換等を実行する。なお、フォーマット変換によりさらにファイルが更新される。送信処理部32は、更新されたファイルのファイル情報を、未読ファイル管理部31へ送り、未読ファイル管理部31は、ファイル情報を受け取った旨を通知して応答する。未読ファイル管理部31では、そのファイル情報に基づき、リンク情報を生成して登録する。未読ファイル管理部31は、リンク情報の登録により、未読ファイル数が変更されるので、未読ファイル数をPUSH通知処理部39に通知する。
PUSH通知処理部39は、未読ファイル数の通知を受け取った旨を未読ファイル管理部31に通知して応答し、通信機器11へ送信するため、通信機器11との通信に必要とされる固有情報等を、設定情報管理部38から取得する。このとき、PUSH通知処理部39は、通信機器サーバ15のIPアドレス等の情報も取得し、その情報を使用して通信機器サーバ15へアクセスする。PUSH通知処理部39は、未読ファイル数を、取得した固有情報等とともに通信機器サーバ15に通知する。通信機器サーバ15は、それらの情報を受け取った旨をPUSH通知処理部39に通知して応答し、固有情報を使用して未読ファイル数を通知すべき通信機器11を特定し、その通信機器11へその未読ファイル数および固有情報を通知する。
通信機器11は、未読ファイル数および固有情報等の通知を受けると、通知を受けた旨を通信機器サーバ15に通知して応答し、固有情報から専用アプリケーションを特定し、特定した専用アプリケーションを表すアイコンに関連付けて未読ファイル数を表示させる。通信機器11を使用するユーザは、そのアイコンに関連付けて表示された未読ファイル数を見ることにより、追加、更新されたファイルが存在することを視覚的に把握することができる。
図7に示す実施形態では、クライアントPC13からファイルを追加、更新した場合について説明したが、複合機12からファイルを追加または更新した場合も同様の処理となる。図8は、通信機器11からファイルを追加または更新した場合の通信機器11へ未読ファイル数を通知し、未読ファイル数を表示させる処理を示したシーケンス図である。ワークフロー処理部35、送信処理部32、未読ファイル管理部31、PUSH通知処理部39、設定情報管理部38が行う処理は、図7に示した実施形態と同様であるため、ここではその説明を省略する。
通信機器11は、クライアントPC13のように、情報処理装置10が管理するファイルに直接SMBアクセスを行うことができない。そのため、通信機器11は、専用アプリケーションを起動し、WebAPI処理部33を介して送信処理部32に要求し、情報処理装置10が管理するファイルのファイル一覧を取得して表示する。ユーザは、表示されたファイル一覧の中の任意のファイルを選択し、WebAPI処理部33を介してそのファイルへアクセスし、そのファイルを更新する。また、ユーザは、新規のファイルを作成し、WebAPI処理部33を介してファイル一覧の中の任意のフォルダにアクセスし、そのフォルダに作成した新規のファイルを追加する。ここでは、ファイル一覧を最初に表示してから、任意のファイルへアクセスしているが、ファイル一覧を表示せず、WebAPI処理部33を介して任意のファイルへアクセスしてもよい。
WebAPI処理部33を介して実行されたファイルの追加または更新は、検知部30により検知されるが、この場合は、WebAPI処理部33がワークフロー処理部35または送信処理部32に依頼して、ワークフローの実行あるいは必要な処理が実行される。
図9は、通信機器11において、未読ファイル数を表示させた後に実施される各処理の流れを例示したシーケンス図である。通信機器11は、通信機器サーバ15から未読ファイル数と固有情報の通知を受け取ると、それらの情報を受け取った旨を通信機器サーバ15に通知して応答する。通信機器11は、固有情報を参照して、未読ファイル数を表示させる専用アプリケーションを特定し、その専用アプリケーションを表すアイコンに関連付けて未読ファイル数を表示させる。
ユーザ100は、追加、更新されたファイルが存在することを確認した後、その専用アプリケーションのアイコンをタップする等して、その専用アプリケーションを起動させ、WebAPI処理部33に対してファイル一覧の取得を要求する。WebAPI処理部33は、その要求を受け付けると、その要求を送信処理部32に送る。
送信処理部32は、要求に含まれるユーザ情報を確認し、ファイル記憶領域40の公開用フォルダからAllUserフォルダとユーザ情報で確認されたユーザ100のUserフォルダの情報を取得する。ユーザAが確認されれば、UserAフォルダの情報が取得される。また、送信処理部32は、ファイル記憶領域40の非公開用ファイルからAllUserフォルダとユーザ情報で確認されたユーザのUserフォルダの情報を取得する。そして、送信処理部32は、それらの情報をマージしてファイル一覧を生成し、WebAPI処理部33へ出力する。WebAPI処理部33は、ファイル一覧を通信機器11へ送信し、通信機器11は、ユーザ100に対してそのファイル一覧を表示する。
ここで、要求に含まれるユーザ情報を確認したが、要求に含まれる情報は通信機器の固有情報であってもよい。その場合、通信機器の固有情報と関連付けられて管理されているユーザ権限によって、非公開用フォルダの未読フォルダの情報を特定することができる。このような構成とすることで、通信機器11にユーザ情報を登録しておかなくても、情報処理装置10側でユーザ情報と機器の固有情報の紐付けを行うため、ユーザ毎にファイルが取得されたか(未読ファイルがあるか)の管理を行うことができる。
ユーザ100は、表示されたファイル一覧の中の未読ファイルフォルダ内にある1つのリンク情報を選択し、アクセスすると、通信機器11は、そのリンク情報に紐付けられた未読ファイルのサムネイル画像の取得を要求する。WebAPI処理部33は、その要求を受け付け、サムネイル画像の作成要求を送信処理部32に対して行う。送信処理部32は、必要な処理として、リンク情報に紐付けられたオリジナルのファイルを取得し、そのファイルからサムネイル画像を生成する。また、送信処理部32は、そのファイルのファイル情報を未読ファイル管理部31に送る。
未読ファイル管理部31は、管理する未読ファイルフォルダ内のリンク情報を確認し、リンク情報が存在する場合、そのリンク情報を削除する。このアクセスにより、新規に追加または更新されたファイルではなくなるためである。未読ファイル管理部31は、削除することにより、未読ファイルフォルダ内のリンク情報が変更され、未読ファイル数も変更されるため、それらの情報を送信処理部32に通知する。送信処理部32は、通信機器11から要求されたサムネイル画像のデータを、WebAPI処理部33を介して通信機器11へ送信する。通信機器11は、受け取ったデータに基づき、サムネイル画像を表示させる。
なお、ユーザ情報毎に未読ファイルを管理している場合、ユーザ100のユーザ情報と関連付けて管理されたリンク情報を削除すればよい。例えば、ユーザAがオリジナルのファイルを取得したとき、ユーザAの未読フォルダからはリンク情報を削除し、ユーザBの未読フォルダからはリンク情報を削除しないようにする。これにより、ユーザBがオリジナルのファイルを取得するまでユーザBの未読フォルダにはリンク情報を残すことができる。
ユーザ100は、サムネイル画像の表示を取り消し、ファイル一覧を表示するように要求することができる。通信機器11は、この要求を受け付け、ファイル一覧の取得をWebAPI処理部33に対して要求する。WebAPI処理部33は、その取得要求を、送信処理部32に送る。送信処理部32は、必要な処理として、マージした上記のファイル一覧と、変更された上記情報とを用い、ファイル一覧を修正して更新し、更新されたファイル一覧を、WebAPI処理部33を介して通信機器11へ送信する。通信機器11は、受信したファイル一覧を表示させる。
ユーザ100は、表示されたファイル一覧の中の未読ファイルフォルダ内のリンク情報ではなく、他のフォルダ内のオリジナルのファイルにアクセスすることができる。ユーザ100は、オリジナルのファイルを選択し、アクセスすると、通信機器11は、そのファイルのサムネイル画像の取得を要求する。WebAPI処理部33は、その要求を受け付け、サムネイル画像の作成要求を送信処理部32に対して行う。送信処理部32は、必要な処理として、オリジナルのファイルからサムネイル画像を生成する。また、送信処理部32は、そのファイルのファイル情報を未読ファイル管理部31に通知する。
未読ファイル管理部31は、管理する未読ファイルフォルダ内のオリジナルのファイルと紐付けられたリンク情報を確認し、リンク情報が存在する場合、そのリンク情報を削除する。未読ファイル管理部31は、削除することにより、未読ファイルフォルダ内のリンク情報が変更され、未読ファイル数も変更されるため、それらの情報を送信処理部32に通知する。送信処理部32は、通信機器11から要求されたサムネイル画像のデータを、WebAPI処理部33を介して通信機器11へ送信する。通信機器11は、受信したデータに基づき、サムネイル画像を表示させる。
通信機器11に表示されるファイル一覧では、未読ファイルフォルダという、それ以外のファイルが保存されるフォルダとは区別可能なフォルダに入れられているため、ユーザは、どのファイルが追加または更新されたファイルかを容易に把握することができる。このため、ユーザは追加、更新されたファイルを探す必要がなくなり、ユーザの利便性を高めることができる。
これまでの例では、情報処理装置10が通信機器11へ未読ファイル数を通知し、その未読ファイル数を通信機器11の画面に表示させることで、追加、更新されたファイルが存在することを視覚的に把握できるようにしている。また、専用アプリケーションを起動させ、ファイル一覧の取得を要求し、ファイル一覧を取得して表示し、ファイル一覧の未読ファイルフォルダ内の未読ファイルを参照することで、追加または更新されたファイルを視覚的に把握できるようにしている。しかしながら、追加または更新されたファイルを視覚的に把握する方法としては、上記の方法に限定されるものではなく、その他の方法を採用することも可能である。以下、追加または更新されたファイルを視覚的に把握するための別の方法について説明する。
図10は、情報処理システムの別の構成例を示した図である。情報処理システムは、上述したように、情報処理装置10に実装される専用アプリケーションと、その情報処理装置10と通信可能な通信機器11とを少なくとも含んで構成される。専用アプリケーションが情報処理装置10に実装される場合、情報処理システムとしては、情報処理装置10と通信機器11のみで構成されていてもよい。図10に示す実施形態では、情報処理装置10と通信機器11に加えて、メッセージの配信要求を受けてメッセージを配信するメッセージングサーバ50を備えている。メッセージングサーバ50は、メッセージのやりとりを中継する中継装置として機能する。
情報処理システムは、図10には図示していないが、図1に示す複合機12、クライアントPC13、リレーサーバ14、通信機器サーバ15の少なくとも1つをさらに含んで構成されていてもよい。図1に示す構成と同様、情報処理装置10は、通信機器11とLANを介して接続可能とされ、リレーサーバ14や通信機器サーバ15およびWANを介して通信機器11へ接続することができる。また、情報処理装置10は、LANまたはWANを介してメッセージングサーバ50と接続され、メッセージングサーバ50は、LANまたはWANを介して通信機器11へ接続することができる。メッセージングサーバ50は、リレーサーバ14や通信機器サーバ15に接続され、情報処理装置10や通信機器11とリレーサーバ14や通信機器サーバ15を介して通信を行うように構成されていてもよい。メッセージングサーバ50のハードウェア構成は、図2に示した情報処理装置10のハードウェア構成と同様であるため、ここでは説明を省略する。
上述した別の方法を説明するために図11を参照する。図11は、図10に示す情報処理システムが備える情報処理装置10と通信機器11の機能ブロック図である。なお、図11には、複合機12と、メッセージングサーバ50と、他の通信機器51〜53も示されている。
情報処理装置10は、図3に示したファイル記憶領域40と同様の機能を有するフォルダ60と、フォルダ60内のファイルを管理するファイル管理部61と、検知部30と同様の機能を有するフォルダ監視部62とを備えている。また、情報処理装置10は、未読ファイル管理部31と同様の変更または追加されたファイルのファイル情報を管理する機能や送信処理部32と同様の表示情報を生成する機能を有するメッセージ管理部63を備えている。さらに、情報処理装置10は、メッセージ管理部63が生成したメッセージをメッセージログとして記録するログ記録部64を備えている。また、情報処理装置10は、通信機器11やメッセージングサーバ50との間でメッセージやメッセージログのやりとりを行う、図3に示した送信処理部32と同様の機能を有するメッセージ送受信部65を備えている。
通信機器11は、専用アプリケーションを実装し、専用アプリケーション上で動作するファイル表示部70と、メッセージ送受信部71と、メッセージ表示部72とを備えている。なお、他の通信機器51〜53も、同様の機能部を備えている。
複合機12は、ファックスデータを受信し、あるいは原稿を読み取り、スキャンデータを取得すると、それらのデータをファイルとして、予め設定された記憶領域である情報処理装置10が備えるフォルダ60に送信して記憶させる。フォルダ60は、図11では1つのみとされているが、ファックスデータを記憶するファックス専用フォルダ、スキャンデータを記憶するスキャン専用フォルダ等、複数のフォルダを備えることができる。ユーザ101は、フォルダ60へのファイルの保存や更新を指示し、情報処理装置10は、それを受けてフォルダ60内に新たにファイルを追加し、またはファイルの更新を行う。
ファックス受信したファックスデータを記憶するファックス専用フォルダや、スキャンしたスキャンデータを記憶するスキャン専用フォルダは、それぞれ1つに限られるものではなく、複数設けられていてもよい。ファックス専用フォルダは、図12に示すように3つ設けられ、各フォルダに、メッセージを配信する配信先を特定するための情報として、メールアドレス、ユーザ名、グループ名等を関連付けることができる。ファックス受信により得られたファックスデータは、ファックス番号により特定されるファックス送信元やファックスの内容等に応じて3つのフォルダのうちの1つに振り分けることができる。これは一例であるため、その他の情報に応じて振り分けてもよい。なお、配信先を特定するための情報は、IPアドレスやMACアドレス等の配信先の情報と対応付けられている。
また、フォルダ60は、ファイルフォーマット変換を行うフォルダであってもよく、この場合、フォルダ60には、上記の配信先を特定するための情報のほか、ファイルをどのように変換するかという情報を関連付けることができる。例えば、bmpファイルをJPEGファイルやPDFファイルに変換するという情報である。
フォルダ60に保存するファイルは、ファックスデータやスキャンデータのほか、通信機器11からアップロードしたファイルであってもよい。通信機器11からファイルをアップロードしてフォルダ60に記憶する場合、図13(a)に示すように、通信機器11の画面にファイルA、B、Cを表示させ、アップロードしたいファイルAをタップして選択する。次に、図13(b)に示す画面下に設けられたアップロードボタンをタップしてそのファイルAのアップロードを指示する。そして、図13(c)に示す画面で、アップロードするファイルAを、PDF変換またはJPEG変換して保存することを選択することができる。変換しない場合は、「変換しない」を選択することができる。最後に、図13(d)に示す画面で、配信先を選択し、アップロードを実行する。メッセージの配信先は、予め配信先を設定しておいてもよいが、図13(d)に示すように配信先を選択することも可能である。この場合、通信機器11は、設定した情報、すなわち配信先を示す情報(例えば、グループを示す情報やユーザを示す情報)をアップロード要求とともに情報処理装置10へ送信する。
フォルダ監視部62は、フォルダ60内に新しくファイルが保存されたか、フォルダ60内のファイルが更新されたかを監視し、保存または更新されたことを検知した場合に、保存または更新されたファイルのファイル情報をメッセージ管理部63に通知する。ファイル情報には、配信先の情報も含まれている。メッセージ管理部63は、フォルダ監視部62から通知されたファイルの情報から通信機器11に表示させるための表示情報であるメッセージを生成する。メッセージ管理部63は、その生成したメッセージを、メッセージ送受信部65に渡すとともに、ログ記録部64にメッセージログとして記録する。
メッセージ送受信部65は、メッセージングサーバ50にメッセージを送信して、通信機器11や他の通信機器51〜53へのメッセージの配信を要求する。ファイル管理部61は、通信機器11からのファイルの取得要求を受け付けて、自身が管理しているフォルダ60内に保存されたファイルの中から要求されたファイルを検索し、その要求されたファイルを通信機器11へ送信する。他の通信機器51〜53からファイルの取得要求を受け付けた場合も同様に、フォルダ60内を検索し、要求されたファイルをそれら通信機器51〜53へ送信する。
メッセージングサーバ50は、メッセージ送受信部65から受信したメッセージを、通信機器11および他の通信機器51〜53へ配信する。メッセージ送受信部65は、メッセージと配信先の情報とを含むメッセージ配信要求をメッセージングサーバ50へ送る。このため、メッセージングサーバ50は、そのメッセージ配信要求に含まれる配信先の情報に基づき、メッセージを配信する。
通信機器11は、メッセージングサーバ50から配信されたメッセージを、メッセージ送受信部71により受信する。メッセージ送受信部71が受信したメッセージは、メッセージ表示部72に渡され、メッセージ表示部72が、通信機器11の画面にそのメッセージを表示させる。このようにファイルの保存または更新があったときに即座にメッセージを配信して表示させることができるので、リアルタイムにファイルの保存や更新を把握することができる。
ユーザ102は、画面に表示されたメッセージを参照し、そのメッセージに対応したファイルの表示を要求する。メッセージ表示部72は、その要求を受け付けると、その要求をファイル表示部70に渡す。ファイル表示部70は、その要求を情報処理装置10へ送信し、情報処理装置10からその要求に対応したファイルを取得する。そして、ファイル表示部70は、取得したファイルを、通信機器11の画面にそのファイルの内容を表示させる。これにより、メッセージから簡単にファイルを閲覧することができる。
メッセージ表示部72は、メッセージングサーバ50から配信されたメッセージを時系列に並べたタイムライン形式により画面上に表示する。メッセージは、受信したメッセージのほか、最近受信した予め決められた数のメッセージログが表示される。10件分のメッセージログしか表示できない場合、それ以前に受信したメッセージは、消去されてしまい画面上に表示されない。ユーザ102は、それ以前のメッセージを閲覧したい場合、メッセージ表示部72に対してメッセージログの取得を要求し、メッセージ表示部72がメッセージ送受信部71にその要求を渡す。メッセージ送受信部71は、情報処理装置10に対してメッセージログ取得の要求を送信する。
情報処理装置10のメッセージ送受信部65は、その要求を受信すると、メッセージ管理部63にその要求を渡す。メッセージ管理部63は、要求されたメッセージログを取得するために、ログ記録部64を参照し、対応するメッセージログを取得する。そして、メッセージ送受信部65を介して通信機器11へ送信する。例えば、それ以前の10件分のメッセージログを取得したい場合、通信機器11は、現在表示されているメッセージログの更新日時の1つ前から10件分のメッセージログを取得する旨を要求する。情報処理装置10のメッセージ管理部63は、その要求に従って、保存日時や更新日時を基にログ記録部64内のメッセージログを検索し、要求したメッセージログを取得する。
通信機器11のメッセージ送受信部71は、情報処理装置10からメッセージログを受信し、メッセージ表示部72に渡す。メッセージ表示部72は、受け取ったメッセージログをタイムライン形式で画面上に表示させる。
ファイル更新には、ユーザによるファイルを上書きして更新するほか、複合機12等からのファイルの受信や、情報処理装置10上でのファイル形式の変換、ファイル移動、情報処理装置10自身による更新等が考えられる。これらはファイル更新の一例を示したものであり、ファイル更新としてはこれらに限定されるものではない。
図14は、図11に示す情報処理装置10と通信機器11との間で行われる処理の流れを示したフローチャートである。この処理は、通信機器11が情報処理装置10に対してメッセージログを要求し、それを取得して画面上に表示する処理である。この処理は、ステップ1400から開始し、ステップ1410では、通信機器11がメッセージログの取得要求を情報処理装置10に送信する。この取得要求は、メッセージ送受信部71により情報処理装置10へ送信される。取得要求には、取得するメッセーログの数が含まれる。
ステップ1420では、情報処理装置10がその要求を受け付けると、メッセージ管理部63がログ記録部64から指示された数のメッセージログを新しい順に取り出し、メッセージ送受信部65を介して通信機器11へ送信する。ステップ1430では、通信機器11がメッセージ送受信部71により受信したメッセージログを、メッセージ表示部72が画面に表示し、ステップ1440でこの処理を終了する。
図15は、図11に示す情報処理装置10と通信機器11とメッセージングサーバ50との間で行われる処理の流れを示したフローチャートである。この処理は、通信機器11の画面にメッセージを表示しているとき、情報処理装置10のフォルダ60にファイルが保存された場合あるいはフォルダ60内のファイルが更新された場合に実行される処理である。
ステップ1500からこの処理を開始し、ステップ1510では、情報処理装置10が、ファイルが保存され、またはファイルが更新されたことを検知する。これは、フォルダ60を監視するフォルダ監視部62により検知される。ステップ1520では、メッセージ管理部63が保存または更新されたファイルのファイル情報からメッセージを生成する。ステップ1530では、メッセージ管理部63が生成したメッセージをメッセージ送受信部65に渡し、メッセージ送受信部65がメッセージングサーバ50にメッセージの配信を要求する。また、メッセージ管理部63は、生成したメッセージをログ記録部64にメッセージログとして記録する。
ステップ1540では、メッセージングサーバ50がメッセージ送受信部65から受け付けたメッセージを、同時に受け付けた配信先の情報に基づき配信する。配信先の通信機器11では、ステップ1550においてメッセージ送受信部71がメッセージを受信し、メッセージ表示部72にそのメッセージを渡す。ステップ1560では、メッセージ表示部72がそのメッセージを通信機器11の画面に表示させ、ステップ1570でこの処理を終了する。
図16は、図14に示す処理でメッセージングサーバ50に送られるメッセージ配信要求に含まれる情報の内容の一例を示した図である。フォルダ監視部62は、フォルダ60を監視し、追加または更新されたファイルを検知すると、そのファイルを格納するフォルダ60に関連付けられた情報、そのファイルに関連付けられた情報、そのファイルの内容からメッセージを生成する。
フォルダ60に関連付けられた情報としては、フォルダ名を挙げることができる。フォルダ名は、ファックスデータを格納するフォルダであれば、「ファックス受信」とすることができる。このフォルダ名を使用して、「ファックスが届きました。」という通知内容を作成することができる。ファイルに関連付けられた情報としては、ファイルパス、ファイルの更新日時、ファイルサイズ等のファイル属性を挙げることができる。ファイルの内容から生成する情報としては、ファイルの1ページ目の縮小画像データ(ファイルサムネイル)を挙げることができる。なお、ファイルパスには、URL(Uniform Resource Locator)等を用いることができる。
メッセージングサーバ50は、情報処理装置10のメッセージ送受信部65からメッセージ配信要求を受け付けると、図16に示す内容のメッセージを、配信先の情報に基づきその配信先の通信機器11へ配信する。通信機器11は、メッセージを受信すると、タイムライン形式でそのメッセージを表示する。
図17は、通信機器11上に表示される画面の一例を示した図である。メッセージは、例えば吹き出しの中に、通知内容と、ファイルパスと、サムネイル画像と、ファイルサイズとを表示し、その吹き出しの下側に近隣してファイル更新日時や保存日時を表示したものとされる。画面には、そのファイル更新日時あるいは保存日時に基づき、時系列にメッセージを並べて表示する。このメッセージの表示例は一例であり、これに限られるものではない。したがって、メッセージは、通知内容、ファイルパス、更新日時のみであってもよいし、その他の情報が含まれていてもよい。なお、サムネイル画像を含むことで、実際にファイルを開かなくても、どのようなファイルが保存され、更新されたかを知ることができる。
図18は、図11に示す情報処理装置10と通信機器11との間で行われる別の処理の流れを示したフローチャートである。この処理は、メッセージに含まれるファイル情報を用いてファイルを取得し、表示する処理である。ユーザ102は、通信機器11の画面上に表示されている複数の吹き出しの1つをタップする等して1つのメッセージを選択すると、ステップ1800からこの処理を開始する。ステップ1810では、ファイル表示部70が、その吹き出しに表示されているメッセージに含まれるファイル情報を用いてファイルの取得要求を生成し、情報処理装置10へ送信する。
情報処理装置10では、ステップ1820においてファイル管理部61が、フォルダ60内を検索して要求されたファイルを探し出し、要求されたファイルを通信機器11へ送信する。ファイルは、ファイルパスを使用して探し出すことができる。ステップ1830では、通信機器11のファイル表示部70がそのファイルを取得し、通信機器11の画面にそのファイルの内容を表示する。そして、ステップ1840でこの処理を終了する。
図19は、図18に示す処理で通信機器11に表示される画面の一例を示した図である。図19に示す複数のメッセージのうちの1つをユーザがタップして選択すると、そのメッセージに含まれるファイルパスのファイルを情報処理装置10から取得する。ここでは、通信機器11がファックスデータの取得を要求し、情報処理装置10がファックスデータを返している。通信機器11は、取得したファックスデータを開き、図19に示すようなファックスデータの内容、すなわちファックス文書を表示する。
図10に示す情報処理システムは、情報処理装置10、通信機器11、メッセージングサーバ50の3つの機器より構成され、通信機器11上で専用アプリケーションが既に起動している場合に上記のような処理を実現することができる。したがって、専用アプリケーションが起動していない場合、メッセージングサーバ50は通信機器11へメッセージを配信することができない。これでは、ファイルが保存または更新されたことを即座に知ることができない。
そこで、このように専用アプリケーションが起動していなくても、メッセージを配信することができるようにすべく、情報処理システムは、これら3つの機器に加えて、PUSH通知サーバ80をさらに備えることができる。PUSH通知サーバ80は、図1における通信機器サーバ15と同様に、PUSH通知を行うサーバ装置である。図20は、情報処理システムのさらに別の構成例を示した図である。なお、情報処理システムは、これら4つの機器以外に、複合機12、クライアントPC13、リレーサーバ14の少なくとも1つを含んで構成されていてもよい。
PUSH通知サーバ80は、メッセージングサーバ50と通信機器11とにLANまたはWANを介して接続され、メッセージングサーバ50からのプッシュ通知要求を受けて、プッシュ通知を行う。PUSH通知サーバ80は、このプッシュ通知において、通信機器11に対して、新着メッセージがある旨を通知し、専用アプリケーションを起動させるように指示する。
図21は、図20に示す情報処理システムが備える情報処理装置10と通信機器11の機能ブロック図である。なお、図21には、複合機12と、メッセージングサーバ50と、他の通信機器51〜53と、通知装置としてのPUSH通知サーバ80も示されている。複合機12と情報処理装置10との間のやりとり、情報処理装置10とメッセージングサーバ50との間のやりとり、情報処理装置10と通信機器11との間のやりとりについては、既に上述したものと同様であるため、ここではその説明は省略する。ここでは、相違する点についてのみ説明する。
通信機器11の専用アプリケーションが起動している場合、メッセージングサーバ50は、配信すべきメッセージがあるとき、通信機器11へ直接配信することができる。通信機器11の専用アプリケーションが起動していない場合は、通信機器11へメッセージを配信することができないため、PUSH通知サーバ80にプッシュ通知を行うようにプッシュ通知要求を送る。PUSH通知サーバ80は、この要求を受け付けると、要求された通信機器11に対してプッシュ通知を行う。
情報処理装置10は、図10と同様の機能構成とされているが、通信機器11は、図10に示す機能構成に加えて、プッシュ通知管理部73をさらに備えている。プッシュ通知管理部73は、PUSH通知サーバ80からプッシュ通知を受けると、通信機器11の専用アプリケーションを起動させる。これにより、メッセージングサーバ50が通信機器11へメッセージを配信することが可能となる。
専用アプリケーションが起動すると、通信機器11は、情報処理装置10に対してメッセージの配信が可能である旨を通知することができる。これに伴い、情報処理装置10のメッセージ送受信部65がメッセージ配信要求をメッセージングサーバ50へ送り、メッセージングサーバ50が通信機器11へメッセージを配信することができる。また、専用アプリケーションが起動していないためにメッセージの配信ができなかった場合、通信機器11は、メッセージログの取得要求を情報処理装置10へ送信し、メッセージログとして、その配信できなかったメッセージを取得することも可能である。
図22は、図19に示す情報処理装置10と通信機器11とメッセージングサーバ50とPUSH通知サーバ80との間で行われる処理の流れを示したフローチャートである。ステップ2200からこの処理を開始し、ステップ2205では、情報処理装置10が、ファイルが保存され、またはファイルが更新されたことを検知する。これは、フォルダ60を監視するフォルダ監視部62により検知される。ステップ2210では、メッセージ管理部63が保存または更新されたファイルの情報からメッセージを生成する。ステップ2215では、メッセージ管理部63が生成したメッセージをメッセージ送受信部65に渡し、メッセージ送受信部65がメッセージングサーバ50にメッセージの配信を要求する。また、メッセージ管理部63は、生成したメッセージをログ記録部64にメッセージログとして記録する。
ステップ2220では、メッセージングサーバ50がPUSH通知サーバ80に対してプッシュ通知を要求する。ステップ2225では、PUSH通知サーバ80が通信機器11に対してプッシュ通知を行う。ステップ2230では、通信機器11のメッセージ送受信部71がプッシュ通知を受信する。ステップ2235では、プッシュ通知管理部73が専用アプリケーションを起動させる。
ステップ2240では、メッセージ送受信部71がメッセージログの取得を、情報処理装置10に対して要求する。ステップ2245では、情報処理装置10のメッセージ送受信部65がその要求を受けてメッセージ管理部63がログ記録部64内を検索し、対応するメッセージログを取得する。そして、メッセージ管理部63は、メッセージ送受信部65に取得したメッセージログを渡し、メッセージ送受信部65が通信機器11にそのメッセージログを送信する。
ステップ2250では、通信機器11のメッセージ送受信部71がメッセージログを受信し、メッセージ表示部72がそのメッセージログを、通信機器11の画面に表示し、ステップ2255でこの処理を終了する。
ここで、図23を参照して、通信機器11の画面に表示される内容を説明する。アプリケーション(アプリ)を起動していないとき、画面には図23(a)に示すように通信機器11にインストールされたアプリの一覧が表示されている。PUSH通知サーバ80から通信機器11に対してプッシュ通知が行われ、通信機器11がプッシュ通知を受信すると、専用アプリケーション(アプリA)にメッセージがある旨を通知する。例として、図23(b)に示すように、アプリAのアイコンに未読メッセージの数を表示する。ユーザからの入力を受け付けて専用アプリケーション(アプリA)が起動すると、図23(c)に示すように画面上には、メッセージングサーバ50から送信された未読のメッセージの数が、メニューバー内のメッセージボタンの右上に表示される。これにより、未読のメッセージがあり、その数を把握することができる。
図23(c)に示すメッセージボタンをタップして選択すると、図23(d)に示す画面が表示される。例えば、グループとして、すべてのグループを表すAll、特定のグループを表すA Group、Aグループのリーダを表すA Group Leaderの欄が表示され、各欄には、その名称、未読ファイル数が表示される。Allは、すべてのグループ、そのうちのいずれかのグループ、そのグループ内のいずれかのユーザに対して配信されたメッセージを取得することができる。
A Groupは、Aグループ、Aグループ内のいずれかのユーザに対して配信されたメッセージを取得することができる。A Group Leaderは、Aグループのリーダに対して配信されたメッセージを取得することができる。ここでは3つの欄のみを例示したが、その他の欄を追加してもよいし、3つの欄のうちの1つまたは2つのみを表示してもよい。また、グループ分けは、このようなグループ分けに限定されるものではなく、これ以外のグループ分けも可能である。
図23(d)に示すAllをタップして選択すると、図23(e)に示すすべてのグループ、そのうちのいずれかのグループ、そのグループに所属するすべてのユーザに対して配信されたメッセージをタイムライン形式により表示する。これは、図17に示した画面と同様のものである。図23(e)では、通知内容、ファイルパス、ファイルサイズ、更新日時、サムネイル画像のほか、グループ名、ユーザ名が付加されている。
図23(e)に示すグループ名、ユーザ名、あるいは通知内容等が含まれる吹き出しをタップして選択することにより、メッセージで通知されたフォルダ60に保存されたファイルまたは更新されたファイルを取得し、そのファイルを表示させることができる。
図10に示す構成では、情報処理装置10のメッセージ送受信部65がメッセージの配信を、メッセージングサーバ50に対して要求しただけで、実際に配信されたかどうかを確認してはいない。配信されていないことを確認できれば、メッセージを再送したり、エラーログとして記録したりすることができる。そこで、確認するために、図24に示すような構成とすることができる。なお、各装置の機能部の構成は同じであるが、メッセージングサーバ50が情報処理装置10に対してもメッセージを配信する点が、図10に示す実施形態とは異なっている。
図24では、情報処理装置10のメッセージ送受信部65がメッセージの配信を、メッセージングサーバ50に対して要求すると、メッセージングサーバ50は、通信機器11に対してメッセージを配信する。そして、メッセージングサーバ50は、その配信を要求した情報処理装置10に対してもメッセージを配信する。このため、情報処理装置10は、メッセージングサーバ50がメッセージを配信したことを確認することができる。
情報処理装置10のメッセージ管理部63は、判断部として機能し、メッセージングサーバ50からのメッセージの受信結果に応じて、通信機器11や他の通信機器51〜53へメッセージの配信が成功したか否かを判断する。そして、メッセージ管理部63は、その判断した判断結果を、ログ記録部に記録する。これにより、メッセージの配信結果を後からトレースすることが可能となる。
メッセージ送受信部65は、再送部としても機能し、メッセージの配信が失敗した場合、メッセージ管理部63からの指示によりメッセージングサーバ50を介して通信機器11へメッセージを再送することができる。この再送により、メッセージ配信の成功率を向上させることができる。
図24に示す実施形態では、メッセージングサーバ50がメッセージを配信したことを確認することはできるが、配信先の通信機器11へ配信されたかどうかを確認することはできない。そこで、図25に示す構成を採用することができる。この図25も、図10や図24と同様の機能部の構成とされるが、通信機器11がメッセージングサーバ50に対してメッセージを受け取った旨の応答を返し、メッセージングサーバ50がその応答を、メッセージの配信を要求した情報処理装置10へ送信する。このように、メッセージングサーバ50が配信先から配信された旨の応答を受け取り、それを、配信を要求した装置に返すことで、配信先に配信されたことを確認することができる。
以上のことから、情報処理装置10は、ファイルを記憶するファイル記憶領域40あるいはフォルダ60といった記憶部と、ファイルの変更や追加を検知する検知部30やフォルダ監視部62といった検知部とを備える。また、情報処理装置10は、該情報処理装置10と接続可能な通信機器11に、その変更や追加されたファイルを表示させるための表示情報を、ファイル一覧やメッセージとして生成する送信処理部32やメッセージ管理部63といった生成部も備える。そして、情報処理装置10は、その表示情報を通信機器11へ送信する送信処理部32やメッセージ送受信部65といった送信部も備える。情報処理装置10は、少なくともこれらの記憶部、検知部、生成部、送信部を含んで構成することができる。
また、例えば、図23において、ファイルのメッセージを「All」から表示させるようにしたが、「ファイル処理」というグループを作成し、その「ファイル処理」のグループを選択することで、ファイル処理に関するメッセージが表示されるようにしてもよい。この場合、情報処理装置10は、ファイル処理に関するメッセージを送信する際に、メッセージを送信するユーザが所属する「ファイル処理」のグループを宛先とする。これにより、ユーザは、メッセージがファイル処理の完了通知なのか、チャット等の他のユーザからのメッセージなのかを容易に区別することができる。
また、メッセージのリンク先を未読ファイルフォルダとしてもよい。これにより、ユーザが通知のメッセージのリンクを選択すると、まだ閲覧していないファイルを一覧として表示させることができる。このため、複数のファイルを確認するとき、ユーザは、「通知メッセージのリンクを選択」→「リンク先のファイル表示」→「メッセージ画面へ戻る」→「確認していないファイルの通知メッセージを探す」→「通知メッセージのリンクを選択」という動作を繰り返すことなく、一度に未読ファイルを確認することができる。
また、第2の実施形態では、フォルダ毎にメッセージを送信するユーザの情報を関連付けておいたが、これに限らず、例えばファイルが追加または更新されたフォルダがユーザフォルダであれば、そのユーザフォルダにアクセス可能なユーザにメッセージを配信するようにしてもよい。
さらに、図13(d)において、配信先を選択する処理を説明したが、これに限らず、例えば図13(c)でアップロードの指示、あるいはファイルの変換指示を行ったとき、通信機器11が該通信機器11を利用するユーザを識別する情報を送信する。情報処理装置10は、ファイルの追加または更新の処理が完了すると、通信機器11から送信されたユーザへメッセージを送信する。これにより、情報処理装置10に処理を要求したユーザへ通知を行うことができる。さらに、ユーザは、自分を宛先として設定することなく通知を受け取ることができる。
これまで本発明を、情報処理装置、情報処理システム、情報処理方法およびプログラムとして上述した実施の形態をもって説明してきたが、本発明は上述した実施の形態に限定されるものではない。したがって、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。