(57)【要約】      （修正有）【課題】グループチャットに参加する一のユーザがそのグループチャット上に参加するチャットボットに対し、秘密情報の入力を必要とする特定の処理の実行を指示した場合に、そのグループチャットに参加している不特定のユーザにその秘密情報を知られることなく、その特定の処理の実行を制御する。【解決手段】印刷不可の保護がなされたファイルに対する印刷指示がグループチャットに投稿された場合、ボットサーバ１６Ａの動作制御部１６３は、その投稿を行ったユーザ、又はグループチャットにそのファイルを投稿したユーザに対して、一対一チャットでその保護を解除するためのパスワードを問い合わせる。そして、その問合せに対して一対一チャットで回答されたパスワードを用いてそのファイルの保護を解除し、プリンタに印刷させる。【選択図】図２
2020047039.tif 000002
【特許請求の範囲】
【請求項１】
２以上のユーザを含むグループチャットに属する第１ユーザから当該グループチャット上で秘密情報の入力を必要とする特定の処理の実行指示を受け付ける手段と、
前記グループチャットに属する第２ユーザから、前記グループチャットに属するユーザであって前記第２ユーザとは異なる第３ユーザには知られることなく、前記秘密情報を取得する取得手段と、
前記秘密情報を用いて、前記実行指示に応じた前記特定の処理が実行されるように制御する制御手段と、
を含む情報処理装置。
【請求項２】
前記取得手段は、前記第２ユーザからの通信内容が前記グループチャットの画面に表示されない通信手段を用いて、前記第２ユーザから前記秘密情報を取得する、請求項１に記載の情報処理装置。
【請求項３】
前記通信手段は、前記グループチャットの場を提供しているチャットサービスにより提供される、前記第２ユーザと前記情報処理装置との間の一対一チャットである、請求項２に記載の情報処理装置。
【請求項４】
前記取得手段は、グループチャット上で処理実行の指示を受け付けたことをきっかけに、前記一対一チャット上で前記秘密情報の入力を求める投稿を行い、この投稿に対して前記第２ユーザが行った投稿から前記秘密情報を取得する、請求項３に記載の情報処理装置。
【請求項５】
前記取得手段は、前記一対一チャット上での前記秘密情報の入力を求める前記投稿に対して前記第２ユーザが行った投稿が、前記グループチャットに属する第４ユーザの識別情報を知らせるものである場合、前記第４ユーザと前記情報処理装置との間の一対一チャットで、前記第４ユーザに前記秘密情報の入力を求める投稿を行う、請求項４に記載の情報処理装置。
【請求項６】
前記第２ユーザは、前記グループチャット上で前記実行指示を投稿した前記第１ユーザである、請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記取得手段は、前記グループチャット上で前記実行指示を投稿した前記第１ユーザに前記秘密情報を知るユーザを問い合わせ、この問合せに対して当該第１ユーザが回答したユーザを前記第２ユーザとする、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項８】
前記特定の処理を実行するには、対象であるファイルの保護状態を前記秘密情報により解除する必要があり、
前記取得手段は、前記ファイルの作成者属性が示す作成者を前記第２ユーザとする、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項９】
前記特定の処理を実行するには、対象であるファイルの保護状態を前記秘密情報により解除する必要があり、
前記取得手段は、前記ファイルを前記グループチャット又は前記グループチャットに対応する共有ファイル格納領域に登録したユーザを前記第２ユーザとして扱う、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項１０】
前記取得手段は、前記グループチャット上で前記特定の処理の前記実行指示を示す投稿があったときに、前記グループチャット上の投稿の履歴から前記第２ユーザを特定する、請求項９に記載の情報処理装置。
【請求項１１】
前記取得手段は、前記ファイルが前記グループチャット又は前記グループチャットに対応する共有ファイル格納領域に登録されたときに、その登録を行った前記第２ユーザから前記秘密情報を取得し、取得した前記秘密情報又はこの秘密情報により前記保護状態が解除された前記ファイルである解除済みファイルを保存手段に保存し、
前記制御手段は、前記実行指示に応じて、前記保存手段に保存された前記秘密情報又は前記解除済みファイルを用いて前記特定の処理が実行されるようにする実行制御を行う、請求項９に記載の情報処理装置。
【請求項１２】
前記取得手段は、前記第２ユーザから、前記グループチャットに属するユーザのうち一部のユーザを特定する特定情報を取得し、
前記制御手段は、前記実行指示を行った前記第１ユーザが前記特定情報により特定ユーザであれば前記特定の処理が実行されるよう制御し、前記第１ユーザが特定されたユーザでなければ、前記特定の処理が実行されないよう制御する、
請求項１〜４、６〜１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記制御手段は、前記実行指示を行った前記第１ユーザが前記特定情報により特定される前記適用対象のユーザでない場合、前記第１ユーザに対して前記グループチャット以外の通信手段を用いて前記秘密情報の入力を求める要求を送信し、この要求に対して前記通信手段を用いて前記第１ユーザから前記秘密情報を取得できれば、この秘密情報を用いて前記特定の処理が実行されるように制御する、
請求項１２に記載の情報処理装置。
【請求項１４】
前記制御手段は、前記実行指示を行った前記第１ユーザが前記特定情報により特定される前記適用対象のユーザでない場合、前記第２ユーザに対して前記第１ユーザに前記特定の処理の実行を許可するか否かの問合せを行い、この問合せに対して前記第２ユーザから許可の旨の回答を得た場合、前記特定の処理が実行されるように制御する、請求項１２に記載の情報処理装置。
【請求項１５】
前記特定の処理は、前記秘密情報によりファイルの印刷不可状態を解除して印刷装置に印刷させる処理であり、
前記制御手段は、前記実行指示を示す投稿を行った前記第１ユーザが前記第２ユーザ以外の者であり、かつその実行指示について前記第２ユーザから取得した前記秘密情報を用いて前記ファイルの印刷不可状態を解除した場合、解除後の前記ファイルが示す画像データに対して付加データを付加し、この付加を経た画像データを前記印刷装置に印刷させる、請求項１〜７のいずれか１項に記載の情報処理装置。
【請求項１６】
前記グループチャットに属するユーザから、保護状態でないファイルを登録する操作がなされた場合に、そのファイルを前記保護状態へと変換し、変換により得られた保護状態のファイルを前記グループチャットに登録する処理を行う変換手段と、
前記変換により得られた保護状態のファイルの保護状態を解除するための秘密情報、
又は前記保護状態でないファイルを保存する第２保存手段と、
を更に含み、
前記制御手段は、前記実行指示の対象の保護状態のファイルが、前記第２保存手段に保存された前記秘密情報又は前記保護状態でないファイルに対応する場合、当該解除情報又は当該保護状態でないファイルを用いて前記特定の処理が実行されるようにする実行制御を行う、請求項１〜１５のいずれか１項に記載の情報処理装置。
【請求項１７】
前記変換手段は、前記グループチャットに属するユーザの属性一定の条件を満たす場合、前記変換を行わず、前記保護状態でないファイル又はこのファイルのファイル識別情報を前記グループチャットに投稿する、請求項１６に記載の情報処理装置。
【請求項１８】
コンピュータを、
２以上のユーザを含むグループチャットに属する第１ユーザから当該グループチャット上で秘密情報の入力を必要とする特定の処理の実行指示を受け付ける手段、
前記グループチャットに属する第２ユーザから、前記グループチャットに属するユーザであって前記第２ユーザとは異なる第３ユーザには知られることなく、前記秘密情報を取得する取得手段、
前記秘密情報を用いて、前記実行指示に応じた前記特定の処理が実行されるように制御する制御手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
チャット上でのユーザの投稿に含まれるデータを受け取り、そのデータに対して特定の処理を行うソフトウエアロボット（以下、チャットボット）がある。
【０００３】
特許文献１に開示される情報提供システムは、ユーザ端末で実行されるインスタントメッセージングアプリケーションを介してユーザが人工知能ソフトウエアプログラムで実現される仮想の友だちの通訳ソフトウエアロボットをユーザが友だちに追加されるようにする。そして、ユーザが通訳ソフトウエアロボットをトークセッションを介して第１言語のメッセージを入力して送信すれば、情報提供システムは、第１言語のメッセージと共に、またはこれに代替して第２言語に翻訳された第２言語のメッセージを生成してユーザ及び対話相手方に提供する。
【０００４】
特許文献２に開示された制御サーバは、解析部が解析したメッセージの内容が、所定の電気機器に対する制御指示である場合に、当該制御指示に応じたメッセージであって、電気機器がメッセージの主体であることを連想させる表現を含むメッセージを電子伝言板に書き込む。
【０００５】
特許文献３に開示された方法は、インスタントメッセージングアプリケーションを介した情報提供方法において、ユーザ端末のメッセージングアプリケーションを介してユーザがソフトウエアロボットに送信するメッセージを受信し、前記メッセージをクエリとしてデータベースから応答を検索し、前記ユーザ端末のメッセージングアプリケーションを介して前記応答を前記ユーザに送信する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１５−１７９５１９号公報
【特許文献２】特開２０１５−１４４０２７号公報
【特許文献３】特開２０１４−２２５２６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特定の処理を実行する制御を行なうチャットボットを２以上のユーザを含むグループチャット上で動作させる場合を考える。ここで、その特定の処理の実行が秘密情報の入力を要するものであった場合、例えば、その秘密情報をグループチャット上に投稿する等によりチャットボットに伝えることも考えられる。しかし、この方法では、秘密情報がそのグループチャットに属する不特定のユーザに知られてしまう。
【０００８】
本発明は、グループチャットに参加する一のユーザがそのグループチャット上に参加するチャットボットに対して秘密情報の入力を必要とする特定の処理の実行を指示した場合に、そのグループチャットに参加しているユーザのうちの不特定のユーザにその秘密情報を知られることなく、その特定の処理の実行を制御する手法を提供する。
【課題を解決するための手段】
【０００９】
請求項１に係る発明は、２以上のユーザを含むグループチャットに属する第１ユーザから当該グループチャット上で秘密情報の入力を必要とする特定の処理の実行指示を受け付ける手段と、前記グループチャットに属する第２ユーザから、前記グループチャットに属するユーザであって前記第２ユーザとは異なる第３ユーザには知られることなく、前記秘密情報を取得する取得手段と、前記秘密情報を用いて、前記実行指示に応じた前記特定の処理が実行されるように制御する制御手段と、を含む情報処理装置である。
【００１０】
請求項２に係る発明は、前記取得手段は、前記第２ユーザからの通信内容が前記グループチャットの画面に表示されない通信手段を用いて、前記第２ユーザから前記秘密情報を取得する、請求項１に記載の情報処理装置である。
【００１１】
請求項３に係る発明は、前記通信手段は、前記グループチャットの場を提供しているチャットサービスにより提供される、前記第２ユーザと前記情報処理装置との間の一対一チャットである、請求項２に記載の情報処理装置である。
【００１２】
請求項４に係る発明は、前記取得手段は、グループチャット上で処理実行の指示を受け付けたことをきっかけに、前記一対一チャット上で前記秘密情報の入力を求める投稿を行い、この投稿に対して前記第２ユーザが行った投稿から前記秘密情報を取得する、請求項３に記載の情報処理装置である。
【００１３】
請求項５に係る発明は、前記取得手段は、前記一対一チャット上での前記秘密情報の入力を求める前記投稿に対して前記第２ユーザが行った投稿が、前記グループチャットに属する第４ユーザの識別情報を知らせるものである場合、前記第４ユーザと前記情報処理装置との間の一対一チャットで、前記第４ユーザに前記秘密情報の入力を求める投稿を行う、請求項４に記載の情報処理装置である。
【００１４】
請求項６に係る発明は、前記第２ユーザは、前記グループチャット上で前記実行指示を投稿した前記第１ユーザである、請求項１〜５のいずれか１項に記載の情報処理装置である。
【００１５】
請求項７に係る発明は、前記取得手段は、前記グループチャット上で前記実行指示を投稿した前記第１ユーザに前記秘密情報を知るユーザを問い合わせ、この問合せに対して当該第１ユーザが回答したユーザを前記第２ユーザとする、請求項１〜４のいずれか１項に記載の情報処理装置である。
【００１６】
請求項８に係る発明は、前記特定の処理を実行するには、対象であるファイルの保護状態を前記秘密情報により解除する必要があり、前記取得手段は、前記ファイルの作成者属性が示す作成者を前記第２ユーザとする、請求項１〜４のいずれか１項に記載の情報処理装置である。
【００１７】
請求項９に係る発明は、前記特定の処理を実行するには、対象であるファイルの保護状態を前記秘密情報により解除する必要があり、前記取得手段は、前記ファイルを前記グループチャット又は前記グループチャットに対応する共有ファイル格納領域に登録したユーザを前記第２ユーザとして扱う、請求項１〜４のいずれか１項に記載の情報処理装置である。
【００１８】
請求項１０に係る発明は、前記取得手段は、前記グループチャット上で前記特定の処理の前記実行指示を示す投稿があったときに、前記グループチャット上の投稿の履歴から前記第２ユーザを特定する、請求項９に記載の情報処理装置である。
【００１９】
請求項１１に係る発明は、前記取得手段は、前記ファイルが前記グループチャット又は前記グループチャットに対応する共有ファイル格納領域に登録されたときに、その登録を行った前記第２ユーザから前記秘密情報を取得し、取得した前記秘密情報又はこの秘密情報により前記保護状態が解除された前記ファイルである解除済みファイルを保存手段に保存し、前記制御手段は、前記実行指示に応じて、前記保存手段に保存された前記秘密情報又は前記解除済みファイルを用いて前記特定の処理が実行されるようにする実行制御を行う、請求項９に記載の情報処理装置である。
【００２０】
請求項１２に係る発明は、前記取得手段は、前記第２ユーザから、前記グループチャットに属するユーザのうち一部のユーザを特定する特定情報を取得し、前記制御手段は、前記実行指示を行った前記第１ユーザが前記特定情報により特定ユーザであれば前記特定の処理が実行されるよう制御し、前記第１ユーザが特定されたユーザでなければ、前記特定の処理が実行されないよう制御する、請求項１〜４、６〜１１のいずれか１項に記載の情報処理装置である。
【００２１】
請求項１３に係る発明は、前記制御手段は、前記実行指示を行った前記第１ユーザが前記特定情報により特定される前記適用対象のユーザでない場合、前記第１ユーザに対して前記グループチャット以外の通信手段を用いて前記秘密情報の入力を求める要求を送信し、この要求に対して前記通信手段を用いて前記第１ユーザから前記秘密情報を取得できれば、この秘密情報を用いて前記特定の処理が実行されるように制御する、請求項１２に記載の情報処理装置である。
【００２２】
請求項１４に係る発明は、前記制御手段は、前記実行指示を行った前記第１ユーザが前記特定情報により特定される前記適用対象のユーザでない場合、前記第２ユーザに対して前記第１ユーザに前記特定の処理の実行を許可するか否かの問合せを行い、この問合せに対して前記第２ユーザから許可の旨の回答を得た場合、前記特定の処理が実行されるように制御する、請求項１２に記載の情報処理装置である。
【００２３】
請求項１５に係る発明は、  前記特定の処理は、前記秘密情報によりファイルの印刷不可状態を解除して印刷装置に印刷させる処理であり、前記制御手段は、前記実行指示を示す投稿を行った前記第１ユーザが前記第２ユーザ以外の者であり、かつその実行指示について前記第２ユーザから取得した前記秘密情報を用いて前記ファイルの印刷不可状態を解除した場合、解除後の前記ファイルが示す画像データに対して付加データを付加し、この付加を経た画像データを前記印刷装置に印刷させる、請求項１〜７のいずれか１項に記載の情報処理装置。
【００２４】
請求項１６に係る発明は、前記グループチャットに属するユーザから、保護状態でないファイルを登録する操作がなされた場合に、そのファイルを前記保護状態へと変換し、変換により得られた保護状態のファイルを前記グループチャットに登録する処理を行う変換手段と、前記変換により得られた保護状態のファイルの保護状態を解除するための秘密情報、又は前記保護状態でないファイルを保存する第２保存手段と、を更に含み、前記制御手段は、前記実行指示の対象の保護状態のファイルが、前記第２保存手段に保存された前記秘密情報又は前記保護状態でないファイルに対応する場合、当該解除情報又は当該保護状態でないファイルを用いて前記特定の処理が実行されるようにする実行制御を行う、請求項１〜１５のいずれか１項に記載の情報処理装置。
【００２５】
請求項１７に係る発明は、前記変換手段は、前記グループチャットに属するユーザの属性一定の条件を満たす場合、前記変換を行わず、前記保護状態でないファイル又はこのファイルのファイル識別情報を前記グループチャットに投稿する、請求項１６に記載の情報処理装置である。
【００２６】
請求項１８に係る発明は、コンピュータを、２以上のユーザを含むグループチャットに属する第１ユーザから当該グループチャット上で秘密情報の入力を必要とする特定の処理の実行指示を受け付ける手段、前記グループチャットに属する第２ユーザから、前記グループチャットに属するユーザであって前記第２ユーザとは異なる第３ユーザには知られることなく、前記秘密情報を取得する取得手段、前記秘密情報を用いて、前記実行指示に応じた前記特定の処理が実行されるように制御する制御手段、として機能させるためのプログラムである。
【発明の効果】
【００２７】
請求項１、２、６又は１８に係る発明によれば、グループチャットに参加する一のユーザがそのグループチャット上に参加するチャットボットに対して秘密情報の入力を必要とする特定の処理の実行を指示した場合に、そのグループチャットに参加しているユーザのうちの不特定のユーザにその秘密情報を知られることなく、その特定の処理の実行を制御することができる。
【００２８】
請求項３に係る発明によれば、チャット以外の通信手段を用いる場合よりも、秘密情報の取得のための情報処理装置の処理が簡素化される。
【００２９】
請求項４に係る発明によれば、グループチャット上で第２ユーザに対して秘密情報を問い合わせ、これに対する回答を一対一チャットで返すよう要請する方式と比べて、第２ユーザのミスによりグループチャットに秘密情報が投稿されてしまうリスクを低減できる。
【００３０】
請求項５に係る発明によれば、秘密情報の入力を求めた第２ユーザが秘密情報を知らないが、それを知っている第４ユーザを知っている場合に、その情報を得て第４ユーザから秘密情報を取得できる。
【００３１】
請求項７に係る発明によれば、実行指示を示す投稿を行ったユーザが秘密情報を知らなくても、それを知っている第２ユーザを知っている場合に、その情報を得て第２ユーザから秘密情報を取得できる。
【００３２】
請求項８、９、１０に係る発明によれば、実行指示を示す投稿を行ったユーザから秘密情報の取得を試みる場合よりも、秘密情報を取得できる蓋然性を高めることができる。
【００３３】
請求項１１に係る発明によれば、実行指示の都度秘密情報の取得を試みる場合よりも、情報処理装置の処理負荷を軽減することができる。
【００３４】
請求項１２に係る発明によれば、秘密情報を知っている第２ユーザがグループチャットに属するユーザのうち特定の処理を許可するユーザを決めることができる。
【００３５】
請求項１３に係る発明によれば、第２ユーザが定めた適用対象のユーザに該当しないユーザでも、秘密情報を入手していれば、特定の処理を実行できる。
【００３６】
請求項１４に係る発明によれば、第２ユーザが定めた適用対象のユーザに該当しないユーザでも、第２ユーザに問い合わせて許可されれば、特定の処理を実行できる。
【００３７】
請求項１５に係る発明によれば、情報処理装置が第２ユーザから取得した秘密情報を用いて第１ユーザの実行指示に応じてファイルの印刷を行った場合に、印刷結果において、第１ユーザ自身が秘密情報を入力した場合とは区別できる。
【００３８】
請求項１６に係る発明によれば、グループチャットにファイルを登録するユーザが登録の前にファイルを保護状態に変換する作業を行わなくて済む。
【００３９】
請求項１７に係る発明によれば、登録されるすべてのファイルに対して保護状態への変換を行う場合と比べて、保護状態に変換する処理の負荷を軽減することができる。
【図面の簡単な説明】
【００４０】
【図１】実施形態のシステム構成図である。
【図２】実施形態の機能ブロック図である。
【図３】実施形態の構成ブロック図である。
【図４】グループチャット上に印刷指示の投稿があったときのチャットボットの処理手順を例示する図である。
【図５】図４の手順に対応するチャットの画面表示の例を示す図である。
【図６】グループチャットにファイルを登録する操作が行われたときのチャットボットの処理手順を例示する図である。
【図７】図６の手順に対応するグループチャットの画面表示の例を示す図である。
【図８】ファイル情報テーブルの説明図である。
【図９】ファイルを登録した者にパスワードと印刷を許可する相手の情報とを問い合わせるチャットの画面表示の例を示す図である。
【図１０】印刷を許可された印刷権限者の情報を含むファイル情報テーブルの説明図である。
【図１１】ファイルの登録者及び印刷権限者にはパスワード入力無しでファイルの印刷を許可するチャットボットの処理手順を例示する図である。
【図１２】チャットボットの処理手順の別の例を示す図である。
【図１３】パスワード入力を省略して印刷する場合に透かしを入れるチャットボットの処理手順の例を示す図である。
【図１４】グループチャット上に印刷指示の投稿があったときのチャットボットの処理手順の別の例を示す図である。
【図１５】図１４の手順に対応するチャットの画面表示の例を示す図である。
【図１６】投稿者にパスワードを問い合わせるチャットボットの処理手順の一部を例示する図である。
【図１７】図１６の手順に対応するチャットの画面表示の例を示す図である。
【図１８】パスワード保護を実行する機能を持つチャットボットの処理手順を例示する図である。
【発明を実施するための形態】
【００４１】
以下、図面に基づき本発明の実施形態について、チャットボットとして、ユーザからのメッセージに応じて印刷サービスを提供するチャットボットを例にとり説明する。
＜実施形態＞
【００４２】
図１は、実施形態におけるメッセージサービスシステムの全体構成図を示す。メッセージサービスシステムは、ユーザ端末Ａ（１０Ａ）〜ユーザ端末Ｃ（１０Ｃ）、チャットサービスサーバ１４、ボットサーバＡ（１６Ａ）〜ボットサーバＢ（１６Ｂ）、及びプリンタａ（１８ａ）〜プリンタｃ（１８ｃ）を備える。
【００４３】
ユーザ端末Ａ（１０Ａ）〜ユーザ端末Ｃ（１０Ｃ）は、メッセージサービスのユーザが利用する端末であり、スマートフォンやタブレット端末、ＰＣ（パーソナルコンピュータ）等の情報端末である。図では、ユーザ端末Ａ（１０Ａ）、ユーザ端末Ｂ（１０Ｂ）、ユーザ端末Ｃ（１０Ｃ）の３台を示しているが、その数は任意である。ユーザは、ユーザ端末Ａ（１０Ａ）〜ユーザ端末Ｃ（１０Ｃ）を操作してクラウド１２上のチャットサービスサーバ１４にアクセスし、他のユーザやチャットボットとメッセージ等投稿をやり取りする。以下では、ユーザＡがユーザ端末Ａを操作し、ユーザＢがユーザ端末Ｂを操作し、ユーザＣがユーザ端末Ｃを操作するものとする。ユーザ端末Ａ（１０Ａ）〜ユーザ端末Ｃ（１０Ｃ）とチャットサービスサーバ１４は、有線あるいは無線の通信ネットワークでデータ送受信可能に接続される。通信ネットワークの一例はインターネット等の公衆回線であるが、専用回線でもよい。
【００４４】
チャットサービスサーバ１４は、クラウド１２上に配置されたクラウドサーバであり、チャットサービスを提供するサーバである。チャットサービスサーバ１４は、１又は複数のサーバコンピュータで構成される。チャットサービスサーバ１４は、ユーザ端末Ａ〜ユーザ端末Ｃに対するメッセージ等の送受信処理、及びメッセージ送受信の表示画面表示等、メッセージ等のやり取りに関する処理全般を実行する。チャットサービスサーバ１４は、２人のメンバ間のメッセージ等のやり取りを処理する他に、３人以上のメンバでグループを形成し、グループ内でのメッセージ等のやり取りを処理することができる。以下では、２人のメンバ間でメッセージ等のやり取りを行なうこと、及びそのやり取りを行なう場のことを、一対一チャット又はピア・ツー・ピアチャットと呼ぶ。また、３人以上のメンバで形成したグループ内でメッセージ等のやり取りを行なうこと、及びそのやり取りを行なう場のことを、グループチャットと呼ぶ。チャットサービスサーバ１４は、グループチャットごとに、そのグループチャットに所属するメンバの識別子（例. ユーザＩＤ）のリストを保持する。
さらに、チャットサービスサーバ１４は、ボットサーバＡ（１６Ａ）、ボットサーバＢ（１６Ｂ）と協働し、ボットサーバ１６Ａ，１６Ｂにより提供されるチャットボットに対するメッセージ等のやり取りを処理する。本実施形態においてチャットボットは、チャット上でメッセージ等のやり取りを行なう「メンバ」の１人として取り扱う。すなわち、メンバには、実在する人物との関連付けがなされたユーザと、チャットボットとの両方が含まれる。ユーザとチャットボットとのメッセージ等のやり取りには、１人のユーザとチャットボットとのメッセージ等のやり取り、及び複数のユーザとチャットボットとのメッセージ等のやり取りが含まれる。すなわち、チャットボットは、ユーザとの一対一チャットに参加する場合もあれば、グループチャットに参加する場合もある。チャットボットは、例えば、チャットに参加しているユーザからの招待に応じて、そのチャットに参加する。
【００４５】
チャットにおいてメンバ間でやりとりされるメッセージ等の概念の中には、文字列で表現されたメッセージの他に、いわゆる「スタンプ」のように投稿内容を表す画像や、ＵＲＬ（Uniform Resource Locator）等が含まれる。このようなメッセージ等のことを、チャットに対する「投稿」とも呼ぶ。これはチャットに投稿された情報を示す意味での「投稿」である。また、チャットのメンバが、そのようなメッセージ等をそのチャットに入力する行為のことも「投稿」と呼ぶ。これは行為としての「投稿」である。チャットへの「投稿」行為には、そのチャットに対して文字列のメッセージを書き込む行為、スタンプを送信する行為、ＵＲＬを貼付する行為などが含まれる。
【００４６】
ボットサーバＡ（１６Ａ）、ボットサーバＢ（１６Ｂ）は、ユーザとの間でメッセージをやり取りするチャットボットのソフトウエアロボットプログラムがインストールされ、当該プログラムを実行する。これらのボットサーバＡ（１６Ａ）、ボットサーバＢ（１６Ｂ）は、企業や店舗などの、広告用または商業用に割り当てられたメッセンジャーサービスアカウントがそれぞれ運用するものであってもよい。
【００４７】
ボットサーバＡ（１６Ａ）、ボットサーバＢ（１６Ｂ）は、チャットサービスサーバ１４と特定ＡＰＩ（Application Programming Interface：アプリケーションプログラミングインタフェース）を介して協働し、ユーザとのメッセージをやり取りし、ユーザからのメッセージに自動応答してメッセージを返信する。特定ＡＰＩは、チャットサービスサーバ１４を利用するためのＡＰＩである。ＡＰＩの形式は任意であるが、例えばＪＳＯＮ（Javascript（登録商標）Object Notation：ジャバスクリプト  オブジェクト  ノーテイション）形式のＡＰＩとし、規定のフォーマットのＪＳＯＮデータをチャットサービスサーバ１４の特定ＵＲＬに対してＰＯＳＴやＧＥＴで送信し、結果がＪＳＯＮ形式のデータとして返ってくる。
【００４８】
ボットサーバＡ（１６Ａ）、ボットサーバＢ（１６Ｂ）は、ユーザからのメッセージに動作指示が含まれている場合に、当該動作指示に応じて特定のサービス内容を実行する。本実施形態において、ボットサーバＡ（１６Ａ）は、ユーザからのメッセージに印刷指示が含まれている場合に、この印刷指示に応じてプリンタａ（１８ａ）、プリンタｂ（１８ｂ）又はプリンタｃ（１８ｃ）を動作させて印刷処理する「プリントボット」として機能する。他方、ボットサーバ１６Ｂは、ユーザからの動作指示に応じて任意のサービスを提供し得る。図では、ボットサーバＡ（１６Ａ）、ボットサーバＢ（１８Ｂ）の２台を示しているが、その数は任意である。また、１台のボットサーバで複数のチャットボットを構成してもよく、複数台のボットサーバで１つのチャットボットを構成してもよい。
【００４９】
チャットボット（あるいはプリントボット）としてのボットサーバＡは、予めユーザ毎に登録された、ソフトウエアロボットプログラムの動作に関する設定情報に従ってプリンタａ、ｂ又はｃを駆動して印刷処理を実行する。
【００５０】
プリンタａ（１８ａ）〜プリンタｃ（１８ｃ）は、ボットサーバＡからの指令により印刷処理を実行する。
【００５１】
図２は、ボットサーバＡ（１６Ａ）の機能ブロック図である。ボットサーバＡは、機能ブロックとして、通信部１６０、メッセージ受付部１６１、内容解析部１６２、動作制御部１６３、応答メッセージ作成部１６４、ユーザ情報記憶部１６５、ファイル情報記憶部１６６、メッセージ記憶部１６７、及びＡＰＩゲートウェイ１６８を備える。
【００５２】
通信部１６０は、チャットサービスサーバ１４及びプリンタａ〜ｃと通信する。通信部１６０は、ＡＰＩゲートウェイ１６８を介してチャットサービスサーバ１４と通信し、メッセージを交換する。通信部１６０は、ＡＰＩゲートウェイ１６８を介してチャットサービスサーバ１４から受信した投稿、すなわちユーザ端末Ａ〜ユーザ端末Ｃからの投稿をメッセージ受付部１６１に出力する。また、通信部１６０は、応答メッセージ作成部１６４で作成された応答の投稿を、ＡＰＩゲートウェイ１６８を介してチャットサービスサーバ１４に送信（つまりユーザ端末Ａ〜ユーザ端末Ｃに送信）する。さらに、通信部１６０は、動作制御部１６３からの指令に従い、プリンタａ〜ｃに印刷指示を出力してプリンタａ〜ｃを駆動する。
【００５３】
メッセージ受付部１６１は、通信部１６０からの投稿の情報（メッセージ等）を受け付け、内容解析部１６２に出力する。チャットに対してメンバが投稿する投稿情報の中には、印刷指示やチャットボットからの質問に対する回答に関する投稿がある。メッセージ受付部１６１は、受け付けた投稿（メッセージ等）をメッセージ記憶部１６７に順次記憶する。
【００５４】
内容解析部１６２は、受け付けた投稿のうち、少なくとも文字列で表現されたメッセージの内容を解析して動作制御部１６３に出力する。具体的には、受け付けたメッセージに含まれるユーザ識別子（ユーザＩＤ）を認識するとともに、メッセージに含まれるテキスト部分を抽出してその構文解析を実行する。構文解析の方法は任意であり、例えば、入力メッセージを形態素単位に分解した後、名詞や形容詞、動詞、疑問代名詞をキーワードとして抽出する。内容解析部１６２は、メッセージのテキスト部分に動作指示が含まれている場合に、その動作指示の内容を解析して動作制御部１６３に出力する。本実施形態における動作指示には、プリンタａ〜ｃに対する印刷指示、会議モード（詳細は後述）の開始及び終了の指示、印刷不要の指示、チャットボットの質問に対する回答としての指示、が含まれる。また、受け付けた投稿がスタンプである場合は、内容解析部１６２はそのスタンプに対応付けられた意味情報を取得する。スタンプにはあらかじめ当該スタンプが示す意味が定められており、チャットの処理を行うコンピュータは、各スタンプの意味を、そのスタンプ自体から、又はチャットサービスサーバから取得できる。
【００５５】
動作制御部１６３は、内容解析部１６２で得られた解析結果に基づき、ユーザからの印刷指示を認識した場合、通信部１６０を介してプリンタａ〜ｃに印刷指示を出力する。動作制御部１６３は、印刷対象として印刷不可の保護状態である文書ファイル（以下単に「ファイル」とも呼ぶ）が指定された場合に対処するための処理を、メッセージ受付部１６１、内容解析部１６２、応答メッセージ作成部１６４と協働して行う（詳細は後述）。
【００５６】
応答メッセージ作成部１６４は、内容解析部１６２における解析結果や動作制御部１６３からの指示に応じて応答メッセージを作成し、通信部１６０を介してチャットサービスサーバ１４に送信する。
【００５７】
ユーザ情報記憶部１６５は、チャットサービスサーバ１４を利用するユーザの情報、特に、ボットサーバＡで実現されるチャットボットを利用するユーザの情報をテーブルとして記憶する。チャットボットは、チャットサービスサーバ１４で実現されるチャットサービス上で特定のアカウントが割り当てられており、このアカウントを指定してユーザが一定の操作（例えば「友達」登録を意味する操作）を行うことでチャットボットの利用が確定される。ユーザ情報記憶部１６５が記憶するユーザの情報には、例えばユーザＩＤ、ユーザの登録プリンタの情報が含まれる。各ユーザの権限についての情報を記憶してもよい。
【００５８】
ファイル情報記憶部１６６は、ユーザからチャットに投稿された文書のファイルについての情報を記憶する。ファイル情報記憶部１６６に記憶する情報は、例えば、ファイルの保護状態を解除して印刷できるようにするためのパスワード、等がある。
【００５９】
メッセージ記憶部１６７は、メッセージ受付部１６１で受け付けたユーザからのメッセージを履歴として記憶する。
【００６０】
図３は、ボットサーバＡの構成ブロック図を示す。ボットサーバＡは、１又は複数のサーバコンピュータから構成され、１又は複数のＣＰＵ１６ｂ、ＲＯＭ１６Ｃ、ＲＡＭ１６ｄ、通信インタフェース（Ｉ／Ｆ）１６ｅ、入出力Ｉ／Ｆ１６ｆ、及び記憶装置１６ｇを備える。
【００６１】
１又は複数のＣＰＵ１６ｂは、ＲＯＭ１６Ｃあるいは記憶装置１６ｇに記憶されたボットアプリを読み出し、ＲＡＭ１６ｄをワーキングメモリとして用いることでチャットボットの機能を実現する。すなわち、ユーザからのメッセージに自動応答し、ユーザからのメッセージに動作指示が含まれている場合に当該動作指示に応じてプリンタａ〜ｃを駆動する。ＣＰＵ１６ｂは、ボットアプリを実行することで、図２におけるメッセージ受付部１６１、内容解析部１６２、動作制御部１６３、応答メッセージ作成部１６４、及びＡＰＩゲートウェイ１６８を実現する。
【００６２】
通信Ｉ／Ｆ１６ｅは、チャットサービスサーバ１４とのメッセージのやり取りを行うとともに、プリンタａ〜ｃに対して印刷指示を出力する。
【００６３】
入出力Ｉ／Ｆは、キーボードマウス等の入力装置、表示装置等の出力装置とデータを送受信する。
【００６４】
記憶装置１６ｇは、ＨＤＤ（Hard Disk Drive：ハードディスクドライブ）やＳＳＤ（Solid State Drive：ソリッドステートドライブ）等の不揮発性メモリで構成され、ボットアプリを記憶する他に、ユーザ情報テーブル、ファイル情報テーブル及びメッセージ管理テーブルを記憶する。記憶装置１６ｇは、図２におけるユーザ情報記憶部１６５、ファイル情報記憶部１６６及びメッセージ記憶部１６７を実現する。
【００６５】
なお、本実施形態では、チャットボットを実現するためのソフトウエアロボットプログラムをＣＰＵにより実行しているが、チャットボットの一部をプログラムの実行による処理ではなく、ハードウエア処理により実現してもよい。ハードウエア処理は、例えばＡＳＩＣやＦＰＧＡ（フィールドプログラマブルゲートアレイ）などの回路を用いて行ってもよい。
＜パスワード保護されたファイルの印刷＞
【００６６】
ファイル（文書とも呼ぶ）の中には、印刷不可とする保護を設定でき、その保護をパスワード等の所定の解除情報の入力により解除できるファイル形式のものがある。例えばＰＤＦ（Portable Document Format）形式やDocuWorks（登録商標）により作成されるXDW形式等のファイルには、閲覧パスワード（ユーザパスワード）と権限パスワード（オーナーパスワード）と呼ばれる２種類のパスワードが少なくとも用意されている。これらのファイル形式のファイルに閲覧パスワードが設定されている場合、そのパスワードを入力しないとそのファイルは開かない。また、権限パスワードが設定されているファイルは、印刷、編集、転記、音声読み上げ等の機能を利用するには、その権限パスワードを入力する必要がある。例えばＰＤＦファイルの場合、権限パスワードが設定されているファイルは、そのパスワードが入力されない限り印刷ができないよう保護された状態である。以下では、印刷不可とする保護のためのパスワードが設定することをＰＷ保護と呼び、そのようなパスワードが設定されたファイルのことをＰＷ保護ファイルと呼ぶ（ＰＷはパスワードの略）。
【００６７】
グループチャット上でユーザから印刷の指示を受けたファイルがＰＷ保護ファイルである場合、チャットボットはそのファイルの保護状態を解除しないと印刷することができない。チャットボットは、保護解除のためのパスワードをユーザから得る必要があるが、そのパスワードのやりとりをグループチャット上で行うと、グループチャット上にそのパスワードを含むメッセージが表示されてしまうので、グループチャットに参加している他のユーザにそのパスワードが知られてしまうおそれがある。
【００６８】
そこで、本実施形態では、チャットボットは、グループチャットで印刷指示されるＰＷ保護ファイルを印刷するために必要なパスワードの問合せを、そのグループチャット上ではなく、一対一チャットで行う。
【００６９】
以下、チャットボットによるパスワードの問合せ処理についてのいくつかの方式を説明する。
＜印刷を指示した者に問い合わせる方式＞
【００７０】
チャットボットが、ＰＷ保護ファイルの印刷指示を行った者（指示者と呼ぶ）に対してパスワードを問い合わせる例について説明する。この例では、チャットボットは、図４に例示する手順を実行する。図４の手順は、グループチャット上でいずれかのユーザが印刷を指示する投稿を行ったときに実行される。
【００７１】
この手順では、まずチャットボット（動作制御部１６３）は、その印刷指示において印刷対象として指定されたファイルがＰＷ保護ファイルであるか否かを判定する（Ｓ１０）。この判定の結果がＮｏの場合、印刷対象のファイルは印刷可能なので、チャットボットは、そのファイルをプリンタに印刷させるための処理を行う（Ｓ２２）。出力先のプリンタは、例えば指示者が指定する（指示者による指定がない場合はデフォルトとして設定されたプリンタから出力）。そして、印刷が完了すると、印刷完了の旨を示すメッセージ等をグループチャットに投稿する（Ｓ２４）。
【００７２】
Ｓ１０の判定結果がＹｅｓの場合、チャットボット（動作制御部１６３及びこれに制御される応答メッセージ作成部１６４）は、そのグループチャットではなく、指示者との一対一チャットに対して、そのファイルのパスワードを問い合わせるメッセージ等の投稿を行う（Ｓ１２）。そして、チャットボットは、所定時間その投稿に対する指示者の応答を待つ（Ｓ１４）。
【００７３】
所定時間内に指示者がその一対一チャットに対して応答の投稿を行うと、チャットボットは、その投稿に含まれる文字列をパスワードとみなし、そのパスワードを用いて印刷対象のファイルのＰＷ保護の解除を試行する（Ｓ１６）。そのパスワードが正しい場合（Ｓ１８の判定結果がＹｅｓ）、ＰＷ保護の解除に成功する（Ｓ２０）。この場合、チャットボットは、ＰＷ保護解除済みのファイルをプリンタに印刷させ（Ｓ２２）、印刷が完了すると、印刷完了の旨を示すメッセージ等をグループチャットに投稿する（Ｓ２４）。
【００７４】
Ｓ１８の判定結果がＮｏ、すなわちパスワードが正しくない場合、ＰＷ保護の解除は失敗する（Ｓ２６）。この場合、チャットボットは、ＰＷ保護解除の試行（Ｓ１６）の回数が所定の閾値に達したかどうかを判定し（Ｓ２８）、達していない場合はＳ１２に戻って、その一対一チャットで再度パスワードを問い合わせる投稿を行う。Ｓ２８で、ＰＷ保護解除の試行回数が閾値に達していると判断した場合、チャットボットは、グループチャットまたは一対一チャット（又はその両方）に対して、指示されたファイルの印刷ができなかった旨を投稿する（Ｓ３０）。なお、Ｓ１４の判定で、所定時間待っても指示者からパスワードの投稿がなかった場合、チャットボットはＰＷ保護の解除を失敗したものとし、グループチャットまたは一対一チャット（又はその両方）に対して、指示されたファイルの印刷ができなかった旨を投稿する（Ｓ３０）。
【００７５】
図４の処理に対応するチャット上でのやりとりの例を図５に示す。図５には、あるグループチャットの画面１０００と、２つの一対一チャットの画面１１００及び１２００を示す。これら画面１０００、１１００及び１２００は、「ダックスフント」というユーザ名のユーザの端末に表示されるものである。
【００７６】
図４の例では、まず、ユーザ「ヨークシャテリア」が、「機密書類A.pdf」というファイルをグループチャット（画面１０００）に投稿する投稿。「機密書類A.pdf」は、ＰＷ保護ファイルであり、パスワードを提示しないと印刷できない。「ヨークシャテリア」は、グループチャットに参加している「ダックスフント」がそのファイルを印刷できるよう、「ダックスフント」との一対一チャット（画面１１００）上で、「機密書類A.pdf」を印刷するためのパスワード（権限パスワード）が「x-admin」であることを示す投稿を行う。「ダックスフント」は、これによりパスワードを知得する。
【００７７】
次に「ダックスフント」が、グループチャット（画面１０００）に対して、「機密書類A.pdf」を印刷することをチャットボットに指示する投稿を行う。この例では、チャットボットはユーザ名「Print Bot」でそのグループチャットに参加している。またこの例では、チャットボットへの印刷指示の投稿は、チャットボットへのメンション（「@Print Bot」）と、印刷対象のファイル名と含む形でなされる。なお、メンションとは、グループチャット内での投稿の宛先を示す文字列であり、「＠」の後にユーザ名を繋げたものである。
【００７８】
この印刷指示を受けたチャットボットは、「機密書類A.pdf」がＰＷ保護ファイルであることから、印刷のためのパスワードを取得するために、「ダックスフント」との一対一チャット（画面１２００）に対して、パスワードを問い合わせる投稿を行う。図示例では、チャットボット（「Print Bot」）は、「パスワード保護されているＰＤＦファイルですね。」と、これからパスワードを尋ねる理由を示す投稿を行った後、「パスワードを教えてください。」とのメッセージを投稿する。これに応じて「ダックスフント」がパスワード「x-admin」をその一対一チャット上に投稿する。チャットボットは、その投稿に含まれる文字列「x-admin」でファイル「機密書類A.pdf」のＰＷ保護が解除できるか試行する。図示例では解除できたので、チャットボットは、一対一チャットに対して「プリント権限を獲得しました。」とのメッセージの投稿を行う。
【００７９】
印刷対象のファイルのＰＷ保護が解除できたので、チャットボットは、グループチャット（画面１０００）上で、指示者「ダックスフント」に対して印刷を行う旨の投稿を行い、印刷が完了すると、その旨を「ダックスフント」に宛てて投稿する。
【００８０】
次に、別のユーザ「チャウチャウ」が、チャットボットに対して「機密書類A.pdf」の印刷を指示する投稿をグループチャットに対して行う。チャットボットは、「チャウチャウ」との一対一チャット（画面例は図示省略）で、印刷のためのパスワードを問い合わせるが、「チャウチャウ」は「ヨークシャテリア」からパスワードを教えられていないので、答えられない。このため、チャットボットは、タイムアウトの後、グループチャット上で「チャウチャウ」に宛てて「プリントできませんでした。」との投稿を行う。
＜ファイル登録時にパスワードの登録を求める方式＞
【００８１】
図４及び図５を参照して説明した方式では、印刷を指示したユーザが、ファイルのＰＷ保護解除のためのパスワードを知っている者（通常はそのファイルの作成者（オーナー））からパスワードを取得していないと、そのファイルを印刷できない。
【００８２】
ＰＷ保護ファイルの作成者が、グループチャットにそのファイルを投稿し、グループチャットの参加者にそのファイルを印刷させたい場合、それら参加者にパスワードを（例えば一対一チャットで）教えるのは一つの方法である。しかし、この方法では、その参加者は、取得したＰＷ保護ファイルとパスワードをそのグループチャットと関係のない第三者に渡すことが可能であり、この場合その第三者はそのＰＷ保護ファイルを自由に印刷できてしまう。また、そのパスワードが、ＰＤＦの権限パスワードのように、印刷以外に編集や転記等の他の機能の利用権限をも与えるものである場合、その参加者やその第三者に、その作成者が意図していない、そのファイルの多様な利用を許してしまうことになりかねない。
【００８３】
そこで、以下では、グループチャットの参加者に投稿者がパスワードを教えることなく、それら参加者にチャットボット経由でのＰＷ保護ファイルの印刷を許可する方式を説明する。
【００８４】
この方式では、ユーザがＰＷ保護ファイルをグループチャットに登録した際に、チャットボットがそのユーザ（登録者と呼ぶ）に対してパスワードを問い合わせ、これにより得られたパスワードをそのファイルと対応付けて保持する。この問合せは、そのグループチャットではなく、チャットボットと登録者との一対一チャットで行う。そして、グループチャットの参加者からそのファイルの印刷指示があった場合には、チャットボットは、保持しているパスワードを用いてそのファイルの印刷処理を行う。
【００８５】
図６に、この方式におけるファイル登録時のチャットボットの処理手順を例示する。この例では、グループチャットに対するファイル登録の方法として、そのグループチャットに対応付けられた共有フォルダ（共有ファイル格納領域）にファイルを登録する方法を用いているとする。共有フォルダに格納されたファイルは、グループチャットに参加しているユーザから利用（閲覧、印刷等）可能である。グループチャットに対応付けられた共有フォルダの例としては、例えばLINE（登録商標）のチャットサービスにおけるLINEアルバムがある。
【００８６】
チャットボットは、自分が参加しているグループチャットに対応する共有フォルダを監視しており、その共有フォルダにユーザ（登録者）からファイルが格納された場合に、図６の手順を実行する。
【００８７】
この手順では、まずチャットボット（動作制御部１６３）は、格納されたファイルがＰＷ保護ファイルであるか否かを判定する（Ｓ４０）。この判定の結果がＮｏの場合は、印刷対象のファイルは印刷の際にＰＷ保護の解除が不要なので、チャットボットは処理を終了する。
【００８８】
Ｓ４０の判定結果がＹｅｓの場合、チャットボット（動作制御部１６３及びこれに制御される応答メッセージ作成部１６４）は、その共有フォルダに対応するグループチャットではなく、登録者との一対一チャットに対して、そのファイルのパスワードを問い合わせるメッセージの投稿を行う（Ｓ４２）。そして、チャットボットは、所定時間その投稿に対する登録者の応答を待つ（Ｓ４４）。
【００８９】
所定時間内に登録者がその一対一チャットに対して応答を投稿すると、チャットボットは、その応答に含まれる文字列をパスワードとみなし、そのパスワードを用いて印刷対象のファイルのＰＷ保護の解除を試行する（Ｓ４６）。そのパスワードが正しい場合（Ｓ４８の判定結果がＹｅｓ）、ＰＷ保護の解除に成功する（Ｓ５０）。この場合、チャットボットは、その一対一チャット又は共有フォルダに対応するグループチャットで、登録者に対して、入力されたパスワードで印刷可能になった旨を投稿し（Ｓ５２）、その格納されたファイルのファイル名（又はファイル識別情報）に対応付けてそのパスワードを保存する（Ｓ５４）。
【００９０】
Ｓ４８の判定結果がＮｏ、すなわちパスワードが正しくない場合、ＰＷ保護の解除は失敗する（Ｓ５６）。この場合、チャットボットは、ＰＷ保護解除の試行（Ｓ４６）の回数が所定の閾値に達したかどうかを判定し（Ｓ５８）、達していない場合はＳ４２に戻って、その一対一チャットで再度パスワードを問い合わせる投稿を行う。Ｓ２５８で、ＰＷ保護解除の試行回数が閾値に達していると判断した場合、チャットボットは、グループチャットまたは一対一チャット（又はその両方）に対して、格納されたファイルを印刷可能にできなかった旨を投稿する（Ｓ６０）。この場合、チャットボットは、そのファイルのパスワードが不明であることを示すデータを、そのファイルのファイル名に対応付けて保存する。
なお、Ｓ４４の判定で、所定時間待っても指示者からパスワードの投稿がなかった場合、チャットボットはＰＷ保護の解除を失敗したものとし、グループチャットまたは一対一チャット（又はその両方）に対して、格納されたファイルの印刷ができなかった旨を投稿する（Ｓ６０）。
【００９１】
図６の処理に対応するチャット上でのやりとりの例を図７に示す。図７には、ユーザ「ダックスフント」の端末に表示される、あるグループチャットの画面１０００と一対一チャットの画面１２００を示す。
【００９２】
図７の例では、まず、ユーザ「ダックスフント」が、画面１０００の設定ボタン等の操作により共有フォルダ１４２をチャットサービスサーバ１４上に作成し、グループルチャット（画面１０００）に対してフォルダを作成した旨のメッセージ等を投稿する投稿。その次に「ダックスフント」は、画面１０００を操作してその共有フォルダ１４２に対して「機密書類B.pdf」というファイルを格納し、その旨を示す投稿をグループチャット（画面１０００）に対して行う。「機密書類B.pdf」は、ＰＷ保護ファイルであり、パスワードを提示しないと印刷できない。
【００９３】
そこで、チャットボットは、そのファイルの印刷のためのパスワードを取得するために、「ダックスフント」との一対一チャット（画面１２００）に対して、パスワードを問い合わせる投稿を行う。図示例では、チャットボット（「Print Bot」）は、「パスワード保護されているＰＤＦファイルですね。」と、これからパスワードを尋ねる理由を示す投稿を行った後、「パスワードを教えてください。」と投稿する。これに応じて「ダックスフント」がパスワード「x-admin」をその一対一チャット上に投稿する。チャットボットは、その投稿に含まれる文字列「x-admin」でファイル「機密書類B.pdf」のＰＷ保護が解除できるか試行する。図示例では解除できたので、チャットボットは、一対一チャットに対して「プリント権限を獲得しました。」との投稿を行う。またチャットボットは、ボットサーバ１６Ａ内のファイル情報記憶部１６６に、そのファイル名「機密書類B.pdf」に対応付けて、そのパスワード「x-admin」を保存する。
【００９４】
図８にファイル情報記憶部１６６内のファイル情報テーブルの例を示す。この例のファイル情報テーブルは、グループチャットごとのテーブルである。このテーブルには、当該グループチャットの識別情報（図示例では「グループ００１」）が対応付けられている。またこのテーブルには、そのグループチャットに対応付けられた共有フォルダに格納された各ファイル（及びそのグループチャットに投稿された各ファイル）のファイル名、パスワード、登録者の情報が登録される。それらファイルの中にはＰＷ保護されていないファイルもあり、そのようなファイルについてはパスワードの欄は「なし」となる。また、ＰＷ保護ファイルであっても、登録者からパスワードの提示がなかったものについては、パスワードの欄の値は「不明」となる。登録者の欄には、当該ファイルを共有フォルダに格納（又はグループチャットに投稿）したユーザのＩＤが登録される。
【００９５】
図７の説明に戻ると、ユーザ「ヨークシャテリア」は、グループチャット（画面１０００）上に、ユーザ「シベリアンハスキー」宛で市場調査結果を投稿するよう求める投稿を行う。これに応じて「シベリアンハスキー」は、ファイル「市場調査結果報告書.pdf」を共有フォルダに格納し、その旨を示す投稿を行う。このファイル「市場調査結果報告書.pdf」は、ＰＷ保護されていないものとする。
【００９６】
次にユーザ「チャウチャウ」が意見を投稿し、その次に「ダックスフント」が、グループチャット（画面１０００）に対して、「機密書類B.pdf」を印刷することをチャットボットに指示する投稿を行う。この例では、チャットボットはユーザ名「Print Bot」でそのグループチャットに参加している。またこの例では、チャットボットへの印刷指示の投稿は、チャットボットへのメンション（「@Print Bot」）と、印刷対象のファイル名と含む形でなされる。なお、メンションとは、グループチャット内での投稿の宛先を示す文字列であり、「＠」の後にユーザ名を繋げたものである。
【００９７】
この印刷指示を受けたチャットボットは、「機密書類B.pdf」がＰＷ保護ファイルであることから、「機密書類B.pdf」に対応するパスワードを当該グループチャットのファイル情報テーブルから読み出す。そして、そのパスワードを用いて「機密書類B.pdf」のＰＷ保護を解除し、ＰＷ解除済みの「機密書類B.pdf」を、出力先のプリンタに送って印刷させる。チャットボットは、グループチャット上に「ダックスフント」宛に印刷を実行する旨の投稿を行い、プリンタによる印刷が完了すると、印刷が完了した旨の投稿を更に行う。
【００９８】
次に、別のユーザ「チャウチャウ」が、チャットボットに対して「機密書類B.pdf」の印刷を指示する投稿をグループチャットに対して行う。チャットボットは、「機密書類B.pdf」に対応するパスワードをファイル情報テーブルから読み出し、そのパスワードを用いて「機密書類B.pdf」のＰＷ保護を解除し、出力先のプリンタに送って印刷させる。チャットボットは、グループチャット上に「チャウチャウ」宛に印刷を実行する旨の投稿を行う（以降の投稿は図示省略）。
【００９９】
なお、市場には、ＰＷ保護ファイルとパスワードとを受け取り、そのファイルのＰＷ保護をそのパスワードで解除して印刷を行う機能を有するプリンタが存在する。出力先のプリンタがその種のプリンタである場合、チャットボットは、印刷対象のファイルのＰＷ保護を自分で解除する代わりに、そのファイルとパスワードとをそのプリンタに送ってもよい。
【０１００】
図６の例では、ファイル情報テーブル（ファイル情報記憶部１６６）には、ファイル名に対応付けてそのファイルのＰＷ保護を解除するためのパスワードが登録されていたが、これは一例に過ぎない。この代わりに、そのパスワードを用いてＰＷ保護を解除した保護解除済みのファイルを、そのファイル名に対応付けてファイル情報テーブルに登録してもよい。この場合、チャットボットは、グループチャット上でＰＷ保護ファイルのファイル名を示した印刷指示の投稿を受けた場合、そのファイル名に対応する保護解除済みのファイルをファイル情報テーブルから取り出し、プリンタに送って印刷させる。
【０１０１】
また、図６及び図７の例は、グループチャットで用いるファイルが共有フォルダに格納される場合の例であったが、グループチャット自体に対してユーザから投稿されたファイルについても、同様の処理を適用することが可能である。ファイルをグループチャットに投稿したユーザも、以下では登録者と呼ぶ。
【０１０２】
またユーザ（登録者）が共有フォルダに格納したファイルの印刷を他のユーザには許可したくない場合もあり得る。そのような場合に対処するために、チャットボットは、例えば、ファイルを格納した登録者からパスワードを入手した際に、他のユーザにも印刷を許可するか否かを登録者にチャットで問い合わせ、これに対する登録者の回答が不許可の場合、ファイル情報テーブルに、そのファイルは登録者のみ印刷可能である旨を記録する。そしてグループチャットでＰＷ保護ファイルについての印刷指示が投稿された場合、チャットボットは、ファイル情報テーブルを調べ、そのＰＷ保護ファイルが「登録者のみ印刷可能」であるかどうかを判定する。「登録者のみ印刷可能」であれば、チャットボットは、その印刷指示の投稿を行った者が登録者である場合には印刷を許可し、登録者以外であれば印刷不可とする。また、「登録者のみ印刷可能」でない場合には、チャットボットは、印刷指示を行ったユーザが登録者でない場合にも、印刷を許可する。
【０１０３】
また、ファイルをグループチャットに登録（すなわちチャット本体に投稿または共有フォルダに格納）した登録者は、グループチャットに参加しているユーザの全てではなく、そのうちの一部にのみ印刷を許可したい場合もある。このような場合に対応するために、チャットボットは、登録したファイルについてのパスワードを一対一チャットで投稿した登録者に対して、そのファイルの印刷を許可するユーザの指定を求めてもよい。この場合の、登録者とチャットボットとの一対一チャットの画面１２００の例を図９に示す。
【０１０４】
図９の画面例は、図７の画面例における一対一チャットの画面１２００に置き換わるものである。図９に示す画面１２００は、チャットボットが登録者「ダックスフント」にパスワードを尋ね、これに対して「ダックスフント」がパスワードを答え、チャットボットがそのパスワードでファイルの保護が解除できることを確認して「プリント権限を獲得しました。」と投稿するところまでは、図７の例と同じである。この後チャットボットは、「プリントを許可するメンバを教えてください。」とその一対一チャットに投稿する。これに応じて、「ダックスフント」は、グループチャットのメンバのうち、印刷を許可するメンバのユーザ名をその一対一チャットで投稿する。図示例では、印刷を許可するメンバとして「ヨークシャテリア」の名前が投稿されている。
【０１０５】
チャットボットは、問い合わせに対して登録者が回答した印刷を許可するユーザ名を、ファイル情報テーブルに対して登録する。この場合のファイル情報テーブルの例を図１０に示す。図１０の例は、図８に例示したファイル情報テーブルに対して、「印刷権限者」の欄が追加されている。印刷権限者は、グループチャットのメンバのうち、登録者がグループチャットに登録したファイルを印刷する許可を与えた者である。すなわち印刷権限者の欄には、当該ファイルについて登録者が印刷を許可する者として指定したユーザのユーザ名のリストが記録される。図９の例でいえば、「機密書類B.pdf」を登録した「ダックスフント」は、印刷を許可するメンバとして「ヨークシャテリア」を指定したので、ファイル情報テーブルの「機密書類B.pdf」の登録者欄には「ダックスフント」が、印刷権限者欄には「ヨークシャテリア」が登録される。
【０１０６】
図１１に、登録者がファイル登録時に印刷を許可する者（印刷権限者）を指定する例において、グループチャット上でユーザがＰＷ保護ファイルの印刷を指示した場合のチャットボットの処理手順の一部を例示する。図１１の例は、図４に例示した処理手順のＳ１０とＳ１２の間に挿入される部分手順である。Ｓ１０で印刷対象がＰＷ保護ファイルと判定された場合、チャットボットは、印刷指示を行った指示者が、そのファイルを当該グループチャットに登録した登録者、又はその登録者から印刷が許可された印刷権限者のいずれかに該当するかどうかを判定する（Ｓ７０）。この判定は、ファイル情報テーブル（図１０参照）を参照して行う。Ｓ７０の判定結果がＹｅｓ、すなわち指示者が登録者又は印刷権限者である場合、チャットボットは、ファイル情報テーブルにあるそのファイルのパスワードを用いてそのファイルのＰＷ保護を解除し（あるいはファイル情報テーブルに登録されているＰＷ保護解除済みのファイルを取得し）、プリンタに対してその保護解除済みのファイルを印刷させる（Ｓ７２）。一方、Ｓ７０の判定結果がＮｏの場合、チャットボットはＳ１２以降（図４参照）の処理に進む。すなわち、この場合チャットボットは、指示者に対して一対一チャットでパスワードを問い合わせ、それに応じて指示者から正しいパスワードが回答された場合には、そのパスワードを用いてそのファイルの印刷を行う。
【０１０７】
図１１の例は、指示者が登録者及び印刷権限者のいずれでもない場合、チャットボットは指示者にパスワードを尋ねた（図４のＳ１２以降の処理）が、これは一例に過ぎない。そのような場合に、チャットボットは、登録者に対して、指示者の印刷指示を許可するかチャットで問い合わせてもよい。この例の手順を、図１２に例示する。図１２の手順は、グループチャット上でいずれかのユーザが印刷指示の投稿を行った場合に実行される。
【０１０８】
この手順では、チャットボットは、まず印刷指示の対象のファイルがＰＷ保護されているか判定し（Ｓ１０）、ＰＷ保護されていなければそのファイルをプリンタに印刷させる（Ｓ７２）。
【０１０９】
Ｓ１０の判定結果がＹｅｓの場合、チャットボットは、印刷指示を行った指示者が、そのファイルの登録者又は印刷権限者に該当するかどうかをファイル情報テーブルに基づき判定する（Ｓ７０）。ここで、該当する場合には、チャットボットは、ファイル情報テーブルに登録されているそのファイルのパスワードを用いてそのファイルをプリンタから印刷するための処理を実行する（Ｓ７２）。
【０１１０】
Ｓ７０の判定結果がＮｏの場合、チャットボットは、そのファイルの登録者に対して、グループチャットで、又はその登録者との一対一チャットで、指示者の印刷指示の実行を許可するかどうかを問い合わせる（Ｓ７３）。例えば、チャットボットは、（１）今回だけ許可、（２）今後ずっと許可、（３）拒否、の３つの選択肢を示した問合せメッセージをチャット上に投稿し、登録者はその問合せに対して、選んだ選択肢の番号をチャットで回答する。チャットボットは、その回答が（２）今後ずっと許可であるかどうかを判定する（Ｓ７４）。この判定の結果がＹｅｓの場合、チャットボットは、その指示者のユーザ名をファイル情報テーブル（図１０）の印刷権限者のリストに追加し（Ｓ７５）、そのファイルのＰＷ保護を解除してプリンタから印刷出力する（Ｓ７２）。Ｓ７４の判定結果がＮｏの場合、チャットボットは、登録者の回答が（１）今回だけ許可、であるかどうかを判定し（Ｓ７６）、この判定の結果がＹｅｓであればそのファイルのＰＷ保護を解除してプリンタから印刷出力する（Ｓ７２）。Ｓ７６の判定結果がＮｏであれば、チャットボットは、印刷指示を実行せずに処理を終了する。このときチャットボットは、印刷できない旨の指示者宛のメッセージをグループチャットに投稿してもよい。
このように、ＰＷ保護ファイルをグループチャット、又はそのグループチャットの共有フォルダに登録した登録者が、パスワードの適用先、すなわちそのパスワードの利用（ひいてはそのパスワードでＰＷ保護が解除されたファイルの印刷）を許可するユーザを限定する仕組みを設けてもよい。この場合、秘密情報であるパスワードの適用先のユーザを登録者が指定し、チャットボットは指定されたユーザの情報をそのファイルの識別情報（ファイル名等）に対応付けてファイル情報テーブルに登録する。そしてチャットボットは、グループチャット上であるユーザからそのファイルの印刷指示を受けた場合、そのユーザがそのファイルのパスワードの適用先のユーザに該当するかをファイル情報テーブルが保持する情報から判定する。そして、該当する場合には、そのパスワードを用いて印刷処理を実行する。
より一般化すれば、登録者は、グループチャットのメンバのうち一部のユーザを特定する特定情報をチャットボットに入力し、チャットボットは、グループチャット上でファイルの印刷等の特定の処理を指示したユーザがその特定情報により特定されるユーザであれば、パスワード等の秘密情報を用いてその特定の処理を実行する。
＜複写の制限＞
【０１１１】
さて、図９及び図１０を参照して説明した処理により、チャットボットにパスワードを提示することなくファイルを印刷した印刷権限者は、その印刷結果を複写機でコピーして第三者に提供することも不可能ではない。しかし、登録者（例えばファイルを作成した作成者）は、セキュリティ上の懸念から、そのような複写機による複写を望まない場合もある。
【０１１２】
また、登録者は、グループチャットのメンバのうち情報漏洩等の懸念がない十分に信頼できる者にはあらかじめファイル印刷のためのパスワードを教え、そこまで信頼できない者にはパスワードは教えずに印刷権限者としてチャットボットに登録する、といったセキュリティのレベル分けをすることも考えられる。この場合、登録者は、印刷権限者がファイルの印刷結果を複写することは望まないこともある。
【０１１３】
そこで、チャットボットは、ＰＷ保護ファイルを印刷する際に、その印刷を指示した者が、そのファイルの登録者ではなく、印刷権限者である場合に、そのファイルのＰＷ保護を解除したあと、複写機による複写を抑制するための付加情報（透かし）を追加した上で、印刷を行う。このような付加情報（透かし）は、例えば、あらかじめ設定された文字列（例えば「極秘」）を背景に印刷するものであってもよいし、印刷結果では目に見えないが複写機で複写するとその複写結果が真っ黒になるなどの形で読めなくなるようなものであってもよい。
【０１１４】
この複写制限機能に関する処理手順の要部を図１３に例示する。図１３の部分手順は、図４の手順のＳ１０とＳ１２の間に位置するものである。Ｓ１０で印刷対象がＰＷ保護ファイルと判定された場合、チャットボットは、印刷指示を行った指示者が、そのファイルを当該グループチャットに登録した登録者であるか判定し（Ｓ７０ａ）、この判定結果がＹｅｓの場合、そのファイルのＰＷ保護を解除し（又はファイル情報テーブルに登録されているＰＷ保護解除済みのファイルを取得し）、プリンタに対してその保護解除済みのファイルを印刷させる（Ｓ７２）。一方、Ｓ７０ａの判定結果がＮｏの場合、チャットボットは、更に指示者がその登録者から印刷が許可された印刷権限者に該当するかどうかを判定する（Ｓ７０ｂ）。Ｓ７０ｂの判定結果がＹｅｓの場合、チャットボットは、そのファイルのＰＷ保護を解除し（又はファイル情報テーブルに登録されているＰＷ保護解除済みのファイルを取得し）、その保護解除済みのファイルの画像に所定の透かし画像を付加し、付加後の画像をプリンタに印刷させる（Ｓ７２）。一方、Ｓ７０ｂの判定結果がＮｏの場合、チャットボットはＳ１２以降（図４参照）の処理に進む。
【０１１５】
また、登録者は印刷権限者を信頼度に信頼度に応じて「透かしを入れるメンバ」と「入れないメンバ」とに分けて設定できるようにしても良い。
【０１１６】
また、チャットボットがグループチャットに招待される前（あるいはグループチャットに参加していない間）に、そのグループチャットに対応付けられた共有フォルダにＰＷ保護ファイルが登録された場合、チャットボットはその登録の時点でそのファイルのパスワードを登録者に問い合わせることはできない。この場合、そのファイルに対して印刷指示がなされた時点で、その指示を行った指示者や登録者等から、上述した他の例の方式によりそのパスワードを取得することになる。この場合、チャットボットは、取得したパスワード（あるいはそのパスワードによりＰＷ保護を解除したファイル）を、そのファイルのファイル名に対応付けてファイル情報テーブルに登録してもよい。この場合、今後そのファイルについて印刷指示があった場合は、ファイル情報テーブルからそのファイルのパスワード（又はＰＷ保護が解除されたファイル）を読み出して印刷に用いてもよい。
＜印刷指示者にＰＷ保有者を尋ねる方式＞
【０１１７】
例えば、図４、図６、図１１、図１２を参照して説明した各手順は、グループチャット上で印刷指示されたＰＷ保護ファイルを印刷するためのパスワードを、その指示を行った指示者自身又はそのファイルをグループチャットに登録した登録者が知っていることを想定している。しかし、その想定が成り立たない場合、そのファイルは印刷できない。例えば、ファイル作成者からファイルを取得したユーザが、そのファイルに印刷不可のＰＷ保護が掛けられていることやそれを解除するパスワードを知らないまま（そのユーザはそのファイルの閲覧はできるものとする）、そのファイルをグループチャットに登録した場合がその一例である。また、グループチャットの第１メンバが第２メンバからそのグループチャット以外（例えばそれら両者間の一対一チャット）でＰＷ保護ファイルを受け取り、第１メンバがそのＰＷ保護ファイルをグループチャットに投稿してチャットボットに印刷指示を行う場合も、第１メンバが第２メンバからパスワードを聞いていなければ、同様のケースとなる。
【０１１８】
このような場合でも、指示者は、ＰＷ保護ファイルを誰から取得したかは認識していることがある。そこで、以下では、チャットボットが指示者にパスワードを知っているもの（ＰＷ保有者と呼ぶ）を尋ね、そのＰＷ保有者にパスワードを一対一チャットで尋ねる方式を説明する。
【０１１９】
図１４にこの方式を用いるチャットボットの処理手順を例示する。図１４の手順は、グループチャット上でいずれかのユーザが印刷を指示する投稿を行ったときに実行される。
【０１２０】
この手順では、まずチャットボット（動作制御部１６３）は、その印刷指示において印刷対象として指定されたファイルがＰＷ保護ファイルであるか否かを判定する（Ｓ１０）。この判定の結果がＮｏの場合、チャットボットは、そのファイルをプリンタに印刷させるための処理を行い（Ｓ２２）、印刷が完了すると、印刷完了の旨をグループチャットに投稿する（Ｓ２４）（図４の手順と同様）。
【０１２１】
Ｓ１０の判定結果がＹｅｓの場合、チャットボット（動作制御部１６３及びこれに制御される応答メッセージ作成部１６４）は、指示者との一対一チャット、又はそのグループチャットに対して、そのファイルのパスワードを知っている者（ＰＷ保有者）のユーザ名（又はユーザＩＤ）を問い合わせる投稿を行う（Ｓ８２）。ＰＷ保有者のユーザ名が分かっても、ＰＷ保護ファイルが直ちに印刷可能となるわけではないので、この問合せとこれに対する指示者からの回答をグループチャット上で行っても、ＰＷ保護ファイルのセキュリティに対して深刻な問題は生じない。ただし、ＰＷ保有者の問合せもグループチャットでは行わないというポリシーでチャットボットを運用する場合には、この問合せは指示者との一対一チャットで行えばよい。そして、チャットボットは、所定時間その投稿に対する指示者の応答を待つ（Ｓ８４）。
【０１２２】
Ｓ８４の問合せのあったチャットに対して所定時間内に指示者が投稿を行うと、チャットボットは、その投稿からＰＷ保有者のユーザ名を認識する。その投稿から、チャットサービスサーバに登録されたユーザのユーザ名を認識できなかった場合、チャットボットは、指示者に対して、ユーザ名を認識できなかった旨、及びＰＷ保有者のユーザ名を問い合わせる文面を含んだ投稿を再度そのチャットに対して行う。指示者の投稿からユーザ名が認識できた場合、チャットボットは、その認識したユーザ名のユーザ（ＰＷ保有者）との一対一チャットに、パスワードを問い合わせる投稿を行う（Ｓ８６）。この投稿は、例えば［指示者のユーザ名の文字列］から［印刷指示対象のファイル名の文字列］についての印刷指示があったことを知らせる文面、この印刷を認めるか拒否するかを問い合わせる文面、認める場合にはパスワードを提示することを要請する文面を含む。この後チャットボットは、所定時間その投稿に対するＰＷ保有者の応答を待つ（Ｓ８８）。
【０１２３】
その一対一チャットに対してＰＷ保有者からパスワードの投稿があると、チャットボットは、その投稿に含まれるパスワードを用いて、対象であるＰＷ保護ファイルのＰＷ保護を解除する（Ｓ９０）。ここでは説明を簡潔にするためにパスワード提示時の処理をＳ９０にまとめたが、より詳細には、Ｓ９０の処理としては、図４に示したＳ１６、Ｓ１８、Ｓ２０、Ｓ２６、Ｓ２８、Ｓ３０と同様の処理を行えばよい。Ｓ９０でＰＷ保護が解除できると、チャットボットは、そのファイルをプリンタに印刷させるための処理を行い（Ｓ２２）、印刷が完了すると、印刷完了の旨をグループチャットに投稿する（Ｓ２４）。
【０１２４】
Ｓ８８で、ＰＷ保有者が指示者の印刷を拒否する回答を一対一チャットで投稿した場合、あるいは所定時間待ってもＰＷ保有者が回答を投稿しなかった場合、チャットボットは、ファイルのＰＷ保護解除に失敗し（Ｓ９２）、印刷できない旨をグループチャットに投稿する（Ｓ９４）。
【０１２５】
また、Ｓ８４で、所定時間待っても指示者がＰＷ保有者のユーザ名を投稿しなかった場合は、チャットボットは、ファイルのＰＷ保護解除に失敗し（Ｓ９２）、印刷できない旨をグループチャットに投稿する（Ｓ９４）。
【０１２６】
図１４の処理に対応するチャット上でのやりとりの例を図１５に示す。図１５には、ユーザ「ダックスフント」の端末に表示されるグループチャットの画面１０００及びｔ一対一チャットの画面１４００と、「プードル」の端末に表示される一対一チャットの画面１５００を示す。
【０１２７】
図１４の例では、ユーザがチャットにファイルを投稿すると、印刷指示がなくても、自動的にチャットボットがそのファイルを印刷する設定がなされているものとする。
【０１２８】
この例では、まずユーザ「ダックスフント」が、グループチャット（画面１０００）にＰＷ保護されていないファイル「市場調査結果報告書.pdf」を投稿すると、チャットボットはそのファイルをプリンタに印刷させ、印刷が完了すると「プリントが完了しました。」とグループチャットに投稿する。
【０１２９】
また、ユーザ「プードル」と「ダックスフント」の一対一チャット（画面１３００）に、「プードル」がＰＷ保護されたファイル「機密書類B.pdf」を投稿し、「ダックスフント」がそのファイルを受け取っているとする。
【０１３０】
その後、「ダックスフント」が「機密書類B.pdf」をグループチャット（画面１０００）に投稿する。チャットボットは、印刷対象のファイル形式（この例ではＰＤＦ）のファイル「機密書類B.pdf」が投稿されたことから、印刷を行おうとするが、そのファイルはＰＷ保護されている。そこで、チャットボットは、グループチャット（画面１０００）に対して「パスワード保護されているＰＤＦファイルですね。」、「パスワードを知っている人のＩＤも送付してください。」と、そのファイルのＰＷ保有者のＩＤ（例えばユーザ名）を問い合わせる投稿を行う。この問合せに対して「ダックスフント」は、そのファイルをくれた「プードル」のユーザ名をそのグループチャットに投稿する。
【０１３１】
これに応じてチャットボットは、「プードル」との一対一チャット（画面１４００）に対して「機密書類B.pdfをダックスフントさんがプリントしようとしています。許可する場合、パスワードを投稿してください。許可しない場合、「拒否」と投稿してください。」とのメッセージを投稿する。すなわち、チャットボットは、印刷指示の対象であるＰＷ保護ファイルのファイル名、指示者のユーザ名、印刷を許可する場合はパスワードを投稿すること、許可しない場合は「拒否」と投稿すること、を「プードル」に伝える。この例では、「プードル」は、印刷を許可するためにパスワード「kimitsu」をその一対一チャットに投稿する。
【０１３２】
チャットボットは、グループチャット（画面１０００）上で「プードルさんが許可したので、プリントします。」と投稿し、パスワード「kimitsu」を用いてファイル「機密書類B.pdf」のＰＷ保護を解除してプリンタに印刷させる。そして、印刷が完了するとその旨をグループチャット上に投稿する。
【０１３３】
図１４の手順では、印刷指示の対象がＰＷ保護ファイルである場合に、直ちに指示者にＰＷ保有者を問い合わせたが、これは一例に過ぎない。この代わりに例えば図４の手順のようにまず指示者に一対一チャットでパスワードを問い合わせ、指示者がパスワードを知らない旨回答したら、指示者にＰＷ保有者を問い合わせてもよい。また、指示者が登録者又は印刷権限者のいずれでもなく（図７参照）、また指示者がパスワードを回答できない場合に、指示者にＰＷ保有者を問い合わせてもよい。
【０１３４】
また、チャットボットは、図４の手順のようにまず指示者に一対一チャットでパスワードを問い合わせ、その問合せに対して指示者がユーザ名を回答した場合、そのユーザ名はＰＷ保有者を示すものであると見なし、そのユーザに対して一対一チャットでパスワードを問い合わせてもよい。
【０１３５】
図１４及び図１５を用いて説明した例では、チャットボットは、印刷対象のファイルのＰＷ保有者を指示者に問い合わせたが、この代わりに、そのファイルの作成者（オーナー）属性が示す作成者にパスワードを問い合わせてもよい。この場合、チャットボットは、その作成者が当該グループチャットのメンバに含まれているかどうかを確認し、含まれている場合にのみ、その作成者にパスワードを問い合わせるようにしてもよい。また、まず指示者にＰＷ保有者を問い合わせ、ＰＷ保有者が分からないと指示者が回答した場合に、作成者にパスワードを問い合わせるようにしてもよい。
＜ファイル投稿者にパスワードを問い合わせる方式＞
【０１３６】
また、グループチャット上でなされた印刷指示の対象のファイルがそのグループチャットに投稿（又は共有フォルダに格納）されたものである場合、チャットボットはそのファイルを投稿（又は共有フォルダに格納）した者が誰であるか把握可能である。そこで、チャットボットは、その投稿者（又は登録者）に対してパスワードを問い合わせてもよい。
【０１３７】
この例の手順を図１６に例示する。図１６の手順は、図１４の手順のＳ１０とＳ８２の間に挿入される部分手順である。この手順では、印刷指示の対象がＰＷ保護ファイルである場合（Ｓ１０がＹｅｓ）、そのＰＷ保護ファイルをそのグループチャットに投稿（又は共有ファイルに格納）した者を特定し、その者が印刷指示を行った指示者以外の者であるかどうかを判定する（Ｓ９５）。Ｓ９５の判定結果がＮｏの場合、Ｓ８２（図１４参照）に進む。
【０１３８】
Ｓ９５の判定結果がＹｅｓの場合、チャットボットは、その投稿者に対して一対一チャットでパスワードを問い合わせる（Ｓ９６）。そしてこの問合せに対する投稿者からの対応を所定時間待つ（Ｓ９７）。所定時間内に一対一チャット上に投稿者がパスワードを投稿した場合、チャットボットはＳ９０（図１４参照）以降の処理を行う。この場合、投稿されたパスワードでそのファイルのＰＷ保護が解除され、そのファイルが印刷される。一方、所定時間内に投稿者から回答がなかった場合や、拒否の回答があった場合には、チャットボットはＳ９２（図１４参照）の処理に進む。
【０１３９】
以上の例では図１６の部分手順を図１４の手順と組み合わせたが、これは一例に過ぎない。この代わりに例えば図４の手順のＳ１０とＳ１２の間に図１６の部分手順を組み込んでもよい。
【０１４０】
図１６の処理に対応するチャット上でのやりとりの例を図１７に示す。図１７には、ユーザ「ダックスフント」の端末に表示されるグループチャットの画面１０００と、「プードル」の端末に表示される一対一チャットの画面１４００を示す。
【０１４１】
図１６の例では、まずユーザ「プードル」が、グループチャット（画面１０００）にＰＷ保護ファイル「機密書類B.pdf」を投稿する。これに対して「ダックスフント」が、お礼のメッセージの投稿を行った後、チャットボット（ユーザ名「Print Bot」）に対してその「機密書類B.pdf」を印刷する指示（「@Print Bot 機密書類B.pdf」）をグループチャットに対して投稿する。
【０１４２】
これに応じてチャットボットは、そのファイル「機密書類B.pdf」の印刷を行おうとするが、そのファイルはＰＷ保護されている。そこで、チャットボットは、そのグループチャットに投稿されたメッセージの履歴（あるいは共有フォルダに格納されたファイルについてのファイル情報テーブル（図８）の登録者の情報）を調べることで、そのファイルを投稿（または登録）したユーザを特定する。この場合は「プードル」がそのユーザである。チャットボットは、「プードル」との一対一チャット（画面１４００）に対して「機密書類B.pdfをダックスフントさんがプリントしようとしています。許可する場合、パスワードを投稿してください。許可しない場合、「拒否」と投稿してください。」とのメッセージを投稿する。この例では、「プードル」は、印刷を許可するためにパスワード「kimitsu」をその一対一チャットに投稿する。
【０１４３】
チャットボットは、グループチャット（画面１０００）上で「プードルさんが許可したので、プリントします。」と投稿し、パスワード「kimitsu」を用いてファイル「機密書類B.pdf」のＰＷ保護を解除してプリンタに印刷させる。そして、印刷が完了するとその旨をグループチャット上に投稿する。
＜チャットボットによるＰＷ保護サービス＞
【０１４４】
以上に説明した例では、ユーザがあらかじめしかるべきアプリケーション（例えばアドビ（登録商標）社のAcrobat（登録商標））を用いてファイルに印刷不可のＰＷ保護を施していることを想定している。しかし、このようなＰＷ保護の操作には、アプリケーションを起動して保護のための操作を行うなどの手間が掛かる。
【０１４５】
そこで、この例では、チャットボットが、ユーザからの指示に応じてファイルに対してＰＷ保護を行う。
【０１４６】
図１８に、この例におけるチャットボットの処理手順を例示する。図１８の手順は、図６の手順をベースとしている。この手順は、ユーザがグループチャットの共有フォルダに対してファイルを登録したことをトリガとして実行される。
【０１４７】
この手順では、チャットボットは、登録されたファイルがＰＷ保護されているかどうかを調べる（Ｓ４０）。この判定の結果がＹｅｓならば、処理は図６のＳ４２に進み、登録者へのパスワードの問合せが行われる。
【０１４８】
Ｓ４０の判定結果がＮｏの場合、チャットボットは、そのグループチャットで、又は登録者との一対一チャットで、登録者に対して、そのファイルに対してＰＷ保護を施すか否かを問い合わせる（Ｓ１００）。そして、登録者からの回答を所定時間待つ（Ｓ１０２）。所定時間内に登録者がＰＷ保護を希望する旨の投稿をそのチャットに対して行った場合、チャットボットは、パスワードを生成し（Ｓ１０４）、共有フォルダ内の当該ファイルに対してそのパスワードで印刷不可のＰＷ保護を施す（Ｓ１０６）。チャットボットは、そのグループチャットのメンバであり、そのグループチャットの共有フォルダ内のファイルに対する編集権限を持っているので、そのファイルに対してＰＷ保護を施す操作が可能である。これにより、共有フォルダに格納されたファイルがＰＷ保護状態のファイルに変わる。
【０１４９】
またチャットボットは、Ｓ１０４で生成したパスワードを、ファイル情報テーブル（図８参照）に対して、そのファイルのファイル名に対応付けて登録する（Ｓ１０８）。またチャットボットは、登録者との一対一チャットで、登録者に対してそのパスワードを知らせる（Ｓ１０９）。なお、登録者はＰＷ保護される前のファイルを持っているので、Ｓ１０９のステップは必須ではない。
【０１５０】
なお、Ｓ１００の問合せに対する登録者の回答が、「ＰＷ保護しない」というものであった場合には、チャットボットはＳ１０４〜Ｓ１０９をスキップして一連の処理を終了する。
【０１５１】
なお、上述のようにグループチャットの共有フォルダに対して格納されたファイルに対して、チャットボットがＰＷ保護を行う場合、そのファイルが格納されてからチャットボットがＰＷ保護を施すまでの間に、登録者以外のそのグループチャットのメンバが、保護を施す前のファイルを取得する可能性がある。この懸念に対処するために、チャットボットは、保護対象のファイルを、ユーザとの一対一チャットでユーザから受け取るようにしてもよい。この場合、ユーザは、一対一チャットに対してファイルを投稿するか、又は一対一チャットの共有フォルダに対してそのファイルを格納する。チャットボットは、ファイルが投稿又は共有フォルダに格納されたことを検知すると、ユーザに対してその一対一チャット上で、そのファイルに対してＰＷ保護を施すかどうかは問い合わせる。この問合せに対してユーザからＰＷ保護を希望する旨の回答があれば、チャットボットは、図１８の手順と同様、パスワードを生成してそのパスワードでそのファイルにＰＷ保護を施す。またチャットボットは、その一対一チャットで、ＰＷ保護したそのファイルをどのグループチャットに登録するか問い合わせる。この問合せに対してユーザが登録先のグループチャットの識別名を回答すると、チャットボットは、そのグループチャットの共有フォルダに対してそのＰＷ保護済みのファイルを格納する（又はそのグループチャットに対してそのファイルを投稿する）。
【０１５２】
図１８の手順の変形として、グループチャットに属するメンバのすべてが、組織内の同じ部署に属している場合には、チャットボットは、ＰＷ保護されていないファイルがそのグループチャットに登録された場合でも、そのファイルにＰＷ保護の処理を行わないようにしてもよい。組織内の同一部署のメンバ間では、ファイルの印刷を制限する必要がないことが一般的だからである。なお、これは一例であり、より一般化すれば、グループチャットに属するユーザの属性が所定の条件を満たす場合には、ャットボットは、ＰＷ保護されていないファイルがそのグループチャットに登録された場合でも、そのファイルにＰＷ保護の処理を行わないようにしてもよい。「所定の条件」は、グループチャットのメンバがそのグループチャットに対してあらかじめ設定してもよい。
【０１５３】
以上に説明した実施形態はあくまで例示的なものにすぎない。
【０１５４】
例えば以上では、チャットボットがパスワードを問い合わせる手段として、問い合わせ先のユーザとの一対一チャットを用いたが、これは一例に過ぎない。この問い合わせには、印刷が指示されたグループチャットとは別の通信手段を用いればよい。この「別の通信手段」は、問い合わせ先のユーザからの通信内容（パスワード）がそのグループチャットに属する他のユーザが見るグループチャットの画面には表示されないようなものであれば、どのようなものでもよい。このような通信手段としては、例えば、電子メールやショート・メッセージ・サービス等のようなチャットサービスサーバ１４を経由しない各種の手段が考えられる。
【０１５５】
また、チャットボットが、指示者や登録者にパスワードを問い合わせる場合に、パスワードの入力欄を含んだＵＩ（ユーザインタフェース）部品をグループチャット上に投稿してもよい。問合せを受けたユーザは、自分の端末のチャット画面に表示されたこのＵＩ部品の入力欄内にパスワードを入力する。このＵＩ部品として、例えば、グループチャットに属するユーザのうち予め設定された者には入力欄に入力された文字列を表示するが、他の者にはその文字列を隠蔽する（例えば、表示しない、又は入力された文字列を所定のダミー文字列（例えば所定数の「*」の列）に置き換えて表示する）ようプログラムされたものを用いる。パスワードの入力を行う者とチャットボットには入力された文字列を表示し、その他の者にはその文字列を隠蔽するようＵＩ部品を構成しておけば、ユーザが入力したパスワードは、チャットボットには伝わるが、グループチャットに参加している他のユーザには見えない。このように構成されたＵＩ部品は、ユーザが入力したパスワードを、他のユーザのグループチャット画面上に表示せずにチャットボットのみに伝達するという意味で、上述の「別の通信手段」として機能する。
【０１５６】
以上では、チャットボットが、グループチャットの上の投稿で印刷が指示されたファイルのＰＷ保護を解除して印刷処理を実行する場合を例にとって説明した。しかし、以上に例示した各種の手法は、ＰＷ保護されたファイルに対する印刷指示に限らず、ファイルを用いた処理であってその処理を行なうにあたってパスワードの入力が必要となるような処理の実行指示についても適用できる。例としては、パスワードを入力しなければ編集や複製ができないファイルや、パスワード入力をしなければ第三者への転送や別の記憶領域への格納ができないファイルに対する、それら編集、複製、転送、格納等の指示が挙げられる。さらに言えば、実行するにあたってパスワード等の入力が必要とされる処理であれば、ファイルを用いた処理に限定されることもない。例えば、お店の予約処理を実行するチャットボットに対して、既に行なった予約の解除をユーザから指示する場合に、予約時に発行されたパスワードの入力が必要なもの等が挙げられる。また、パスワードも、不特定多数のユーザに知られたくない情報の一例でしかなく、他にもユーザID等各種情報が挙げられる。すなわち、以上に例示した各種の手法は、グループチャットに属するユーザのうちの不特定のユーザには知られたくない情報（これを秘密情報と呼ぶ）の入力を必要とする何らかの処理（特定処理と呼ぶ）の実行をグループチャット経由でチャットボットに指示する場合一般に適用可能である。この場合、チャットボットは、グループチャットでユーザから特定処理の実行を指示された場合、特定処理を実行するのに必要な秘密情報を、そのユーザ、又はその秘密情報を知っていると目される他のユーザ、に対して一対一チャットで問い合わせ、これにより得られた秘密情報を用いてその特定処理を実行する。この特定処理は、チャットボットのみにより実行されるものであってもよいし、チャットボットと外部の装置（例えば何らかの出力機器やサーバ）との協働によりなされるものであってもよい。
【０１５７】
印刷の例についても、ファイルがＰＷ保護されている場合に限らず、ファイル等のプリントデータに対していわゆる「セキュリティプリント機能」を利用した印刷を行う場合にも、上記実施形態の方式は適用の可能である。セキュリティプリント機能を用いた印刷のスキームでは、プリントデータをクライアントからプリンタへ送信する時に印刷指示者が入力した任意のユーザ名とパスワードの組み合わせも併せて送信する。これらを受信したプリンタは、プリントデータとそのユーザ名及びパスワードをプリンタ内に蓄積する。そして、印刷指示者がそのプリンタのところまで行き、プリンタの操作パネルからそのプリントデータの印刷を指示すると、プリンタはそのプリントデータに対応付けられたユーザ名及びパスワードの入力を求める。その求めに応じてユーザが操作パネルに入力したユーザ名及びパスワードが、プリンタが蓄積しているものと一致すれば、プリンタはそのプリントデータを印刷出力する。グループチャット上でユーザ（指示者）がチャットボットに対して、セキュリティプリント機能を用いた印刷を指示した場合、チャットボットは、その指示者からユーザ名及びパスワードを受け取り、これらを出力先のプリンタに対して送信する必要がある。このとき、ユーザ名及びパスワードをグループチャット上の通常の投稿のように他のユーザのグループチャット画面に表示される形態で指示者からチャットボットに知らせると、それらの情報がグループチャットの他のユーザにも知られてしまうことになる。このようなことを避けるために、上記実施形態の手法を利用してもよい。例えば、チャットボットは、グループチャット上で指示者からセキュリティプリントの指示を受けた場合、一対一チャット等でその指示者にユーザ名及びパスワードを問い合わせ、これに対してその一対一チャット等でその指示者が回答したユーザ名及びパスワードを、出力先のプリンタに送信する。この例では、ユーザ名及びパスワードが「秘密情報」に該当する。
【符号の説明】
【０１５８】
１２  クラウド、１４  チャットサービスサーバ、１６Ａ，１６Ｂ  ボットサーバ、１６ｂ  ＣＰＵ、１６ｃ  ＲＯＭ、１６ｄ  ＲＡＭ、１６ｅ  通信Ｉ／Ｆ、１６ｆ  入出力Ｉ／Ｆ、１６ｇ  記憶装置、１４２  共有フォルダ、１６０  通信部、１６１  メッセージ受付部、１６２  内容解析部、１６３  動作制御部、１６４  応答メッセージ作成部、１６５  ユーザ情報記憶部、１６６  ファイル情報記憶部、１６７  メッセージ記憶部、１６８  ＡＰＩゲートウェイ。
【図１】
2020047039.tif 000003
【図２】
2020047039.tif 000004
【図３】
2020047039.tif 000005
【図４】
2020047039.tif 000006
【図５】
2020047039.tif 000007
【図６】
2020047039.tif 000008
【図７】
2020047039.tif 000009
【図８】
2020047039.tif 000010
【図９】
2020047039.tif 000011
【図１０】
2020047039.tif 000012
【図１１】
2020047039.tif 000013
【図１２】
2020047039.tif 000014
【図１３】
2020047039.tif 000015
【図１４】
2020047039.tif 000016
【図１５】
2020047039.tif 000017
【図１６】
2020047039.tif 000018
【図１７】
2020047039.tif 000019
【図１８】
2020047039.tif 000020