(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0018】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に従って、又はそれまでの状況・状態に従って定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、すべての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という意味を有する記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
【0019】
本実施の形態である情報処理装置100は、表示装置に情報を表示するものであって、
図1の例に示すように、コミュニケーション情報管理モジュール110、表示数判定モジュール120、表示内容優先度判定モジュール130、表示入力モジュール140、画面サイズ確認モジュール150、表示数/表示内容調整モジュール160、表示制御モジュール170を有している。ここでの表示装置は、例えば、液晶ディスプレイ等であって、情報処理装置100に備え付けられているものであってもよいし、通信回線を介して接続されているパーソナルコンピュータ等の表示装置であってもよい。
表示対象とする情報は、複数人のコミュニケーションのために用いられるもの、又は複数人で共有することを目的とするものである。具体的には、同期的コミュニケーションである会合で用いられる情報(議題、説明用資料等のコンテンツ、メモ、メッセージ等)、非同期的コミュニケーションである電子メール、電子掲示板等における情報(メッセージ等)がある。具体的には、情報の一例であるメッセージとして、以下に説明するアクティビティで行われるコミュニケーションの、各メンバーが発信する情報単位が該当する。
特に、これらの情報は、1つの塊としての情報群を構成する。情報群は、1つ以上の情報を有しており、例えば、期間的に限定した活動状況(例えば、最近の活動状況、先週の活動状況等)又は内容的に限定した活動状況(例えば、あるサブ議題における活動状況等)を示す情報群が該当する。以下、この情報群をアクティビティともいう。具体的には、タスクで成果物をつくるために、同期の会議や非同期のメールスレッドを使って検討をするが、その会議やメールスレッドの1単位がアクティビティである。なお、タスクとは、1つのプロジェクト、1つの活動の単位である。そのタスクには、コミュニケーションに用いられた情報や成果物等が含まれる。
さらに、複数の情報群によって、1つの塊を構成する。この複数の情報群として、例えば、議論の塊を示すものであり、具体的には、メーリングリスト、電子掲示板等でやり取りされる共通の話題の投稿をまとめたものが該当する。例えば、メールソフトでは、返信メールの一連のやり取りをスレッドという。
スレッド(複数の情報群)は、1つ以上のアクティビティ(情報群)を含み、アクティビティは、1つ以上の情報を有している。もちろんのことながら、スレッドは複数のアクティビティを含み、アクティビティは複数の情報を有していることと限定してもよい。
【0020】
例えば、複数スレッドの一覧性と、スレッド内の議論を理解するためのメッセージ表示は、トレードオフの関係にある。複数スレッドを、スレッド内のメッセージと同時に、同じ画面にツリー構造で表示すると、大きな表示領域が必要である。特に、モバイル機器等の小さい画面で閲覧する場合は、その表示そのものが困難である。一方、スレッドにおいてはタイトルだけを表示し、メッセージの内容を省略表示にした場合、メッセージ内容をすべて表示するためのクリック操作や画面遷移が煩わしいことになる。
小さな画面でも、複数の関連するスレッドを一覧する工夫は、先行技術文献に開示されている技術が存在するが、メッセージをすべて見るためにはキー操作のくり返しが発生し、効率的な振り返りには不十分である。
また、例えば、SNS(Social Networking Service)で採用されているタイムライン画面上では、複数の記事が縦スクロールによって一覧しやすいよう、1つのスレッドが省略されて表示される。しかし、記事内でのメッセージは、新着順に4件表示されるため、振り返るのに必要なメッセージが省略される可能性がある。その場合、操作者は、「コメントの表示」のリンクを押下して記事の中のメッセージを表示させ、すべて読む必要がある。
そこで、情報処理装置100は、1つのアクティビティを表示装置のサイズ内に表示し、スレッドを表示装置のサイズの予め定められた倍数以内にしている。例えば、スレッド内のタスクを振り返るために、限られた表示領域のなかで、画面遷移やスクロールなどの操作をこれらの従来技術よりも少なくし、一覧できるようにした表示を提供する。そして、優先すべきメッセージを抽出するようにしてもよい。
【0021】
コミュニケーション情報管理モジュール110は、表示数判定モジュール120、表示内容優先度判定モジュール130と接続されている。コミュニケーション情報管理モジュール110は、は、コミュニケーションに使われた情報を管理する。管理対象とする情報として、例えば、同期的コミュニケーションである会議(情報処理装置を用いた電子会議を含む)の場合、メンバー数、メンバー名、スレッド作成者、議題、メモ、添付ファイル、日時、場所等がある。また、例えば、非同期的コミュニケーションである電子メールの場合、アクティブなメンバー数、アクティブなメンバー名、スレッド作成者、メッセージ内容、添付ファイル、日時、スレッド等がある。
【0022】
表示数判定モジュール120は、コミュニケーション情報管理モジュール110、表示数/表示内容調整モジュール160と接続されている。表示数判定モジュール120は、情報群毎の情報の表示数を決定する。つまり、アクティビティ内の表示領域数(そのアクティビティとして表示する情報数であって、例えば、メッセージ数等)を決定する。例えば、対象としているアクティビティにおける議論が活発であるならば、表示領域数を多くする。そのために、情報群毎のメンバー数、情報数、ファイル数、容量のいずれか1つ以上を用いて算出した活発度から、表示数を決定するようにしてもよい。
【0023】
表示内容優先度判定モジュール130は、コミュニケーション情報管理モジュール110、表示数/表示内容調整モジュール160と接続されている。表示内容優先度判定モジュール130は、情報群毎の情報の表示の優先度を決定する。したがって、表示領域内に出す情報、その情報内の表示部分(タイトルのみ、すべての内容等)を決定する。
【0024】
また、(1)表示内容優先度判定モジュール130は、情報群の情報が同期的に発生するものであるか、又は、非同期で発生するものであるかによって、優先度を決定する方法が異なるようにしてもよい。ここで同期的に発生する情報とは、例えば、会合を開催することによって発生する情報である。会合とは、複数人が集合して話し合いが行われるものであって、会議、報告会、講義等がある。なお、集合には、1箇所の場所に集まる物理的な集合の他に、テレビ会議等によって遠隔地にいる人達が集まる場合を含む。
さらに、次に示すようにしてもよい。
(2)表示内容優先度判定モジュール130は、表示指示を行った者が投稿者(投稿メッセージを投稿した者)であるか否かによって、優先度を決定する方法が異なる。
(3)表示内容優先度判定モジュール130は、結果の情報があるか否かによって、優先度を決定する方法が異なる。
これらを組み合わせた判断を行い、優先度を決定する方法として、例えば、次のものがある。
(2−1)表示内容優先度判定モジュール130は、情報群は情報が非同期で発生するものである場合は、表示指示を行った者が投稿者(投稿メッセージを投稿した者)であるか否かによって、優先度を決定する方法が異なる。
(2−2)表示内容優先度判定モジュール130は、情報群は情報が非同期で発生するものである場合は、結果の情報があるか否かによって、優先度を決定する方法が異なる。
【0025】
さらに、具体的には、以下のような判断を行うようにしてもよい。
(A1)表示内容優先度判定モジュール130は、情報群は情報が会合によって発生するものである場合であって、その会合が終了しているときは、議題を示す情報の表示の優先度を高くする。
(A2)表示内容優先度判定モジュール130は、情報群は情報が会合によって発生するものである場合であって、その会合が終了していないときは、結論を示す情報の表示の優先度を高くする。
(B1)表示内容優先度判定モジュール130は、情報群は情報が非同期で発生するものであり、表示指示を行った者が投稿者である場合であって、結果の情報があるときは、結果の情報の表示の優先度を高くする。
(B2)表示内容優先度判定モジュール130は、情報群は情報が非同期で発生するものであり、表示指示を行った者が投稿者である場合であって、結果の情報がないときは、最新の情報の表示の優先度を高くする。
(B3)表示内容優先度判定モジュール130は、情報群は情報が非同期で発生するものであり、表示指示を行った者が投稿者でない場合であって、結果の情報があるときは、結果の情報の表示の優先度を高くする。
(B4)表示内容優先度判定モジュール130は、情報群は情報が非同期で発生するものであり、表示指示を行った者が投稿者でない場合であって、結果の情報がないときは、投稿の情報の表示の優先度を高くする。
【0026】
表示入力モジュール140は、表示数/表示内容調整モジュール160と接続されている。表示入力モジュール140は、ユーザーの操作に従って、フィルタリング(例えば、○○会議、キーワード等)、件数(例えば、10個分等)、期間(例えば、1カ月等)等を受け付ける。具体的には、ユーザーが表示させたいスレッド、アクティビティを検索するためのキーワード等を受け付ける。
画面サイズ確認モジュール150は、表示数/表示内容調整モジュール160と接続されている。画面サイズ確認モジュール150は、表示装置のサイズを検出する。つまり、表示装置に表示されているUI(ユーザーインターフェース)画面サイズを抽出する。具体的には、UI画面サイズとして、スレッドを表示するアプリケーションが用いるウィンドウのサイズが該当する。また、ここでのサイズは、画素数であってもよいし、表示する画面のサイズ(ユーザーが見ることができるサイズ)を表すもの(例えば、mm、インチ等)であってもよい。
【0027】
表示数/表示内容調整モジュール160は、表示数判定モジュール120、表示内容優先度判定モジュール130、表示入力モジュール140、画面サイズ確認モジュール150、表示制御モジュール170と接続されている。表示数/表示内容調整モジュール160は、表示数判定モジュール120によって決定された情報の表示数から算出した情報群を表示するための第1のサイズを、表示装置の第2のサイズ以内に設定(変更を含む)する。つまり、表示入力モジュール140が受け付けた情報に従って、画面上に一覧できるよう、アクティビティの表示領域数(情報数)を決定する。特に、ここでの「情報群」は1つの情報群としてもよい。1つの情報群とは、後述する「複数の情報群」内の1つの情報群である。
そして、表示数/表示内容調整モジュール160は、変更した第1のサイズに基づいて複数の情報群の表示サイズが、第2のサイズの予め定められた倍数のサイズ以内でない場合、表示する情報を減少させて、その第1のサイズを調整する。
【0028】
また、表示数/表示内容調整モジュール160は、表示装置に情報を表示した場合の情報群と情報群の間のサイズをその情報群が発生した期間に従って設定するようにしてもよい。間隔のサイズを、例えば、2種類(2つの間の期間が予め定められた閾値以下か以下でないかに分類される)に分けるようにしてもよい。
そして、表示数/表示内容調整モジュール160は、この設定したサイズ(情報群と情報群の間のサイズ)を含めて第1のサイズを調整するようにしてもよい。
また、表示数/表示内容調整モジュール160は、表示装置のサイズから情報群を表示する列数を決定するようにしてもよい。ここで複数の列になった場合は、列毎に異なるスレッドを表示するようにしてもよいし、複数の列を用いて、1つのスレッドの連なるメッセージを表示するようにしてもよい。
【0029】
表示制御モジュール170は、表示数/表示内容調整モジュール160と接続されている。表示制御モジュール170は、表示入力モジュール140からの情報をもとに、アクティビティの表示内容を決定し、タイムライン上での配置を決定する。そして、表示装置への表示を制御する。なお、表示には、液晶ディスプレイ等の表示装置への表示の他に、3D(Dimensions)映像としての出力を含めてもよく、さらに、プリンタ等の印刷装置での印刷、スピーカー等の音声出力装置への音声の出力、振動等を組み合わせてもよい。
【0030】
図2は、本実施の形態を利用したシステム構成例を示す説明図である。
情報処理装置100B、ユーザー用端末250A、ユーザー用端末250B、ユーザー用端末250C、ユーザー用端末250Dは、通信回線290を介してそれぞれ接続されている。通信回線290は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。ユーザー用端末250は、液晶ディスプレイ等の表示装置を備えたものであり、例えば、パーソナルコンピュータ、タブレット型端末、スマートフォン等の携帯電話を含む携帯端末等であってもよい。
ユーザー用端末250Aは情報処理装置100Aを有しており、スタンドアローンとして情報処理装置100を用いる場合の例を示している。この場合の表示装置は、ユーザー用端末250Aに備え付けられているものである。
情報処理装置100Bは、ユーザー用端末250B等からの要求にしたがって機能を提供する。この場合の表示装置は、ユーザー用端末250B等に備え付けられているものである。また、情報処理装置100Bによる機能は、クラウドサービスとして実現してもよい。例えば、ユーザー用端末250B等のブラウザを通して、情報処理装置100Bを利用するようにしてもよい。なお、ユーザー用端末250A内の情報処理装置100Aは、情報処理装置100Bのようにユーザー用端末250B等に対しても機能を提供してもよい。
【0031】
図3は、本実施の形態(表示数/表示内容調整モジュール160)による処理例を示すフローチャートである。
ステップS302では、表示制御テーブルを作成する。表示数判定モジュール120、表示内容優先度判定モジュール130から情報を取得し、表示制御テーブルを作成する。
図4は、表示制御テーブル400のデータ構造例を示す説明図である。表示制御テーブル400は、アクティビティID欄410、表示数欄420、表示優先度欄430を有している。アクティビティID欄410は、アクティビティを、本実施の形態において一意に識別するための情報(アクティビティID:IDentification)を記憶している。表示数欄420は、そのアクティビティにおける情報の表示数(表示数判定モジュール120の処理結果)を記憶している。表示優先度欄430は、そのアクティビティにおける情報の表示優先度(表示内容優先度判定モジュール130の処理結果)を記憶している。
図4の例では、各情報(議題、コンテンツ、メモ、メッセージ等)の優先度の順位を示している。
【0032】
ステップS304では、表示入力モジュール140からの情報をもとに表示の対象とするアクティビティのアクティビティIDを取得する。具体的には、フィルタリング、件数、期間等に従って、アクティビティの検索を行う。なお、スレッドのスレッドIDを検索の対象としてもよい。
ステップS306では、画面サイズ確認モジュール150からの情報(表示装置のサイズ)をもとに列数を決定する。つまり、画面のサイズ情報から、アクティビティを何列で表示するかを決定する。例えば、スマートフォンサイズなら1列表示、タブレットサイズなら2列表示、それ以上なら3列表示等のように決定する。なお、ここでの列は、情報を縦に並べたものであってもよいし、横に並べたものであってもよい。
なお、ステップS304、ステップS306の処理は、いずれを先に行うようにしてもよいし、並列的に行うようにしてもよい。なお、並列的に行う方が取得にかかる時間が短くて済む。
【0033】
ステップS308では、表示するアクティビティのサイズを変更する。例えば、1つのアクティビティのサイズが、表示画面のサイズをはみ出した場合は、アクティビティのサイズを調整する。
図5は、ステップS308での処理例を示す説明図であり、
図5(a)の例は、ステップS308での処理前の状態を示しており、1つのスレッドに3つのアクティビティ(アクティビティ510A、アクティビティ520A、アクティビティ530A)がある場合の例である。アクティビティ510Aは、メッセージ512A、メッセージ514A、メッセージ516A、メッセージ518Aを有している。アクティビティ530Aは、メッセージ532A、メッセージ534A、メッセージ536Aを有している。そして、表示装置のサイズ(第2のサイズ)として表示画面サイズ500である。
図5(b)の例は、ステップS308での処理後の状態を示している。
アクティビティ520Aは、表示画面サイズ500以内の大きさであるが、アクティビティ510A、アクティビティ530Aは、表示画面サイズ500以内の大きさではない。アクティビティ520Aのように、元々はみ出ないものはそのままのサイズ(アクティビティ520B)にする。アクティビティ510A、アクティビティ530Aのサイズを変更して、それぞれアクティビティ510B、アクティビティ530Bのようにして、表示画面サイズ500以内の大きさのサイズにする。なお、アクティビティ510Bは、メッセージ512B、メッセージ514B、メッセージ516B、メッセージ518Bを有しており、アクティビティ530Bは、メッセージ532B、メッセージ534B、メッセージ536Bを有している。つまり、各アクティビティ内の情報の表示数自体は変更せずに、その表示サイズを変更する。また、その内容については、テキストのサイズを小さくしてもよいし、マージン等を小さくしてもよい。さらに、表示する内容量(テキスト量)を少なくすることを行ってもよい。例えば、表示していた2行を1行にする等である。
【0034】
図5に示した例は、アクティビティのサイズを小さくするものであるが、アクティビティのサイズを大きくするようにしてもよい。例えば、
図5(a)に示したアクティビティ520Aのサイズを、表示画面サイズ500に合わせて大きくしてもよい。具体的には、テキストが途中で省略されて「もっと見る」のリンクで示されている場合、それを押すと、アクティビティのサイズを大きくして、テキストの続きを表示するようにしてもよい。また、テキストのサイズを大きくしてもよいし、マージン等を大きくしてもよい。
【0035】
また、ステップS308で、アクティビティとアクティビティの間の余白を調整してもよい。アクティビティとアクティビティの余白は、時間間隔を表している。ここでの時間間隔とは、そのアクティビティが発生した時の間隔であってもよいし、前のアクティビティ内の最後の情報が発生した時と後のアクティビティが発生した時の間隔であってもよい。時間間隔であるため、余白の大きさは複数のパターンが存在する。小さい画面で表示する場合、余白ばかりの表示だと操作が多くなってしまう。
図6は、余白の調整処理例を示す説明図であり、
図6(a)の例は、余白の調整処理前の状態を示しており、余白615A、余白625A、余白635A、余白645Aのように、余白の大きさは種々である。アクティビティ620とアクティビティ630の間である余白625Aのように大きい場合もあり、アクティビティ630とアクティビティ640の間である余白635Aのように小さい場合もある。アクティビティ620の表示からアクティビティ630を表示するためには、多くのスクロール回数が必要となるが、アクティビティ630の表示からアクティビティ640を表示するためには、少ないスクロール回数で済むことになる。
余白の調整処理として、複数のパターンの余白を、
図6(b)の例に示すように、大と小の2パターンにする。具体的には、アクティビティとアクティビティ間の余白が、予め定められた閾値以上である場合は、大のパターンにし、その閾値未満である場合は、小のパターンにしてもよい。例えば、余白615A、余白635Aは、その閾値未満であるので、小のパターンである余白615B、余白635Bのようにしてもよい。また、余白625A、余白645Aは、その閾値以上であるので、大のパターンである余白625B、余白645Bのようにしてもよい。もちろんのことながら、余白のパターンとして3つ以上設定してもよい。
【0036】
ステップS310では、アクティビティを配置した際の、画面の合計の長さを算出する。
具体的には、アクティビティを並べたときの合計の長さ(各アクティビティの高さとアクティビティ間の各余白の合計)を算出する。
図7は、ステップS310、ステップS312の処理例を示す説明図である。対象としているスレッドには、アクティビティ710〜755の10個のアクティビティがある。ここでアクティビティ710の先頭からアクティビティ755の最後尾までを、表示に必要な合計の長さ770とする。
ステップS312では、予め定めた長さ以内か否かを判断し、予め定めた長さである場合はステップS316へ進み、それ以外の場合はステップS314へ進む。つまり、ステップS310で算出した長さが、複数アクティビティを見比べるのに、適切な長さか否かを判定する。例えば、表示に必要な合計の長さ770が、スマートフォンの画面の縦サイズ(表示画面サイズ500)の予め定められた倍数(例えば、5倍)のサイズ(適切な長さ780)を超える場合、スクロールが長すぎて、複数のアクティビティを見比べられないため、ステップS312ではステップS314へ進むことになる。
【0037】
ステップS314では、各アクティビティのメッセージのうち最も優先度の低いものを1つ非表示にする。表示制御テーブル400の表示優先度欄430にしたがって、各アクティビティから非表示とする情報を選択すればよい。
もし、すべてのアクティビティ内の表示数が1になっても、適切な長さ以内にならなければ、アクティビティの表示の長さを短く(例えば、半分等)調整する。それでも適切な長さ以内にならなければ、処理を中止して、そのまま表示制御モジュール170へ送る。
ステップS316では、表示制御モジュール170による処理へ進む。
【0038】
図8は、アクティビティ800の表示例を示す説明図である。
アクティビティ800は、メッセージ型(非同期的コミュニケーション)の表示例である。アクティビティ800は、タイトルを表示するタイトル等属性表示領域810、メッセージ表示領域820の2つを表示する。
図8の例では、メッセージ表示領域820には、3つのメッセージ(メッセージ822、824、826)を表示している。
図9は、アクティビティ900の表示例を示す説明図である。
アクティビティ900は、イベント型(同期的コミュニケーション)の表示例である。アクティビティ900は、タイトルを表示するタイトル等属性表示領域910、情報表示領域920の2つを表示する。
図9の例では、情報表示領域920には、議題情報922、コンテンツ情報924、メモ情報926を表示している。また、コンテンツ情報924には、文書(サムネイル)930を表示している。
アクティビティ800、アクティビティ900では、以下の処理が行われた結果が反映されている。
(1)アクティビティの活発度に従って、メッセージの表示数を決定している(表示制御テーブル400の表示数欄420に相当)。
(2)アクティビティの中で、振り返るのに必要なメッセージを優先付けしている(表示制御テーブル400の表示優先度欄430に相当)。
(3)表示画面のサイズ、表示アクティビティ数の入力に従って、表示を調整している(
図3の例に示すフローチャートの処理に相当)。
【0039】
図10は、本実施の形態(表示数判定モジュール120)による処理例を示すフローチャートである。
ステップS1002では、コミュニケーション情報管理モジュール110から情報を取得する。
ステップS1004では、表示数を決定する。具体的には、ステップS1002で取得した情報から、各アクティビティ内の情報数を計数すればよい。
ステップS1006では、表示制御テーブル400に設定する。
【0040】
図11は、本実施の形態(表示数判定モジュール120)による処理例を示すフローチャートである。
図10の例に示したフローチャートに、ステップS1104の処理を付加したものである。
ステップS1102では、コミュニケーション情報管理モジュール110から情報を取得する。取得する情報には、スレッドに対する、アクティブメンバー数、メッセージ数、添付ファイル数、テキスト量等が含まれる。
【0041】
ステップS1104では、活発度を計算する。
タスク内でのスレッドの活発度を、評価項目の総合評価によって算出する。
非同期的コミュニケーションにおける評価項目としては、1アクティビティに対して以下のものがある。
(1)アクティブなメンバー数(例えば、そのスレッド内でメッセージを投稿すればアクティブなメンバーとみなす)
(2)メッセージ数
(3)添付ファイル数
(4)総テキスト量(スレッド内の情報すべてのテキスト量を合計した数)
図12は、活発度算出テーブル1200のデータ構造例を示す説明図である。この活発度算出テーブル1200は、各評価項目を4段階で評価し、平均的な活発度を算出するためのものである。なお、変数Aはアクティブなメンバー数の最大数を示しており、変数Mはメッセージ数の最大数を示しており、変数Tは添付ファイル数の最大数を示しており、変数Xは総テキスト量の最大数を示している。ここでの最大数とは、すべてのアクティビティにおける各変数の最大数である。
活発度算出テーブル1200は、評価項目軸1210、点数軸1220によって構成されており、評価項目軸1210は、アクティブなメンバー数1212、メッセージ数1214、添付ファイル数1216、総テキスト量1218で構成されている。アクティブなメンバー数1212が「0以上、A*1/4未満」である場合は0点、「A*1/4以上、A*1/2未満」である場合は1点、「A*1/2以上、A*3/4未満」である場合は2点、「A*3/4以上、A以下」である場合は3点、メッセージ数1214が「0以上、M*1/4未満」である場合は0点、「M*1/4以上、M*1/2未満」である場合は1点、「M*1/2以上、M*3/4未満」である場合は2点、「M*3/4以上、M以下」である場合は3点、添付ファイル数1216が「0以上、T*1/4未満」である場合は0点、「T*1/4以上、T*1/2未満」である場合は1点、「T*1/2以上、T*3/4未満」である場合は2点、「T*3/4以上、T以下」である場合は3点、総テキスト量1218が「0以上、X*1/4未満」である場合は0点、「X*1/4以上、X*1/2未満」である場合は1点、「X*1/2以上、X*3/4未満」である場合は2点、「X*3/4以上、X以下」である場合は3点となることを示している。
例えば、スレッドAではアクティブなメンバー数1212が2点、メッセージ数1214が0点、添付ファイル数1216が1点、総テキスト量1218が0点であると、総合点は3点であり、平均活発度は1であると算出する。
また、スレッドBではアクティブなメンバー数1212が3点、メッセージ数1214が2点、添付ファイル数1216が3点、総テキスト量1218が1点であると、総合点は9点であり、平均活発度は3であると算出する。
【0042】
同期的コミュニケーションにおける評価項目としては、1アクティビティに対して以下のものがある。
(1)メンバー数(例えば、その会議に参加したメンバー数を計数する)
(2)メモ数(
図9の例に示したメモ情報926の数)
(3)コンテンツ数(
図9の例に示したコンテンツ情報924のコンテンツの数)
(4)総テキスト量(スレッド内の情報すべてのテキスト量を合計した数)
図13は、活発度算出テーブル1300のデータ構造例を示す説明図である。この活発度算出テーブル1300は、各評価項目を4段階で評価し、平均的な活発度を算出するためのものである。なお、変数Aはメンバー数の最大数を示しており、変数Mはメモ数の最大数を示しており、変数Tはコンテンツ数の最大数を示しており、変数Xは総テキスト量の最大数を示している。ここでの最大数とは、すべてのアクティビティにおける各変数の最大数である。
活発度算出テーブル1300は、評価項目軸1310、点数軸1320によって構成されており、評価項目軸1310は、メンバー数1312、メモ数1314、コンテンツ数1316、総テキスト量1318で構成されている。メンバー数1312が「0以上、A*1/4未満」である場合は0点、「A*1/4以上、A*1/2未満」である場合は1点、「A*1/2以上、A*3/4未満」である場合は2点、「A*3/4以上、A以下」である場合は3点、メモ数1314が「0以上、M*1/4未満」である場合は0点、「M*1/4以上、M*1/2未満」である場合は1点、「M*1/2以上、M*3/4未満」である場合は2点、「M*3/4以上、M以下」である場合は3点、コンテンツ数1316が「0以上、T*1/4未満」である場合は0点、「T*1/4以上、T*1/2未満」である場合は1点、「T*1/2以上、T*3/4未満」である場合は2点、「T*3/4以上、T以下」である場合は3点、総テキスト量1318が「0以上、X*1/4未満」である場合は0点、「X*1/4以上、X*1/2未満」である場合は1点、「X*1/2以上、X*3/4未満」である場合は2点、「X*3/4以上、X以下」である場合は3点となることを示している。
【0043】
ステップS1106では、ステップS1104で算出した活発度を用いて、そのアクティビティにおける情報の表示数を決定する。例えば、平均活発度が1である場合は総情報数(対象としているアクティビティ内の情報数)の1/4とし、平均活発度が2である場合は総情報数の1/2とし、平均活発度が3である場合は総情報数の3/4とし、平均活発度が4である場合は総情報数としてもよい。
ステップS1108では、表示制御テーブル400の表示数欄420に設定する。
【0044】
図14は、本実施の形態(表示内容優先度判定モジュール130)による処理例を示すフローチャートである。
ステップS1402では、対象とするスレッドがイベント(同期的コミュニケーション)であるかメッセージ(非同期的コミュニケーション)であるかを判断し、イベントである場合はステップS1404へ進み、メッセージである場合はステップS1454へ進む。
ステップS1404では、そのイベントが終了しているか否かを判断し、終了している場合はステップS1410へ進み、終了していない場合はステップS1406へ進む。
ステップS1406では、優先度判定として「議題>コンテンツ>メモ>メッセージ」とする。なお、不等号「>」は、優先度の値を比べており、「議題>コンテンツ」は、議題の優先度はコンテンツの優先度よりも高いことを意味している。
ステップS1408では、表示制御テーブル400の表示優先度欄430に設定する。
ステップS1410では、優先度判定として「メモ>コンテンツ>議題>メッセージ」とする。
ステップS1412では、表示制御テーブル400の表示優先度欄430に設定する。
【0045】
ステップS1454では、投稿者であるか否かを判断し、投稿者である場合はステップS1456へ進み、それ以外の場合はステップS1466へ進む。
ステップS1456では、結果メッセージがあるか否かを判断し、結果メッセージがある場合はステップS1458へ進み、結果メッセージがない場合はステップS1462へ進む。
ステップS1458では、優先度判定を行い、「結果メッセージ>最新メッセージ>投稿メッセージ」とする。
ステップS1460では、表示制御テーブル400の表示優先度欄430に設定する。
ステップS1462では、優先度判定として「最新メッセージ>投稿メッセージ」とする。
ステップS1464では、表示制御テーブル400の表示優先度欄430に設定する。
【0046】
ステップS1466では、結果メッセージがあるか否かを判断し、結果メッセージがある場合はステップS1468へ進み、結果メッセージがない場合はステップS1472へ進む。
ステップS1468では、優先度判定として「結果メッセージ>投稿メッセージ>最新メッセージ」とする。
ステップS1470では、表示制御テーブル400の表示優先度欄430に設定する。
ステップS1472では、優先度判定として「投稿メッセージ>最新メッセージ」とする。
ステップS1474では、表示制御テーブル400の表示優先度欄430に設定する。
【0047】
イベントについて説明する。イベントには、例えば、メンバー数、メンバー名、イベント作成者、開始日時、終了日時、イベント開催時間、開催場所、議題、コンテンツ、メモ等の情報が含まれている。
図15の例に示す新規アクティビティ作成画面1500に対するユーザーの操作に従って、イベントを作成する。そして、作成後も追加があれば、この新規アクティビティ作成画面1500を用いて、情報が追加される。
図15は、新規アクティビティ作成画面1500の表示例を示す説明図である。新規アクティビティ作成画面1500に、タスク名欄1505、タイトル(会議名)欄1510、開催日時欄1515、メンバー欄1520、作成者欄1525、作成日時欄1530、議題欄1535、コンテンツ欄1540、新規追加ボタン1541、「最近使ったコンテンツから選ぶ」ボタン1542、メモ欄1545、Todo欄1550、担当メンバー欄1552、メッセージ欄1555、作成ボタン1590を表示する。タスク名欄1505にはタスク名を入力し、タイトル(会議名)欄1510には会議名等のタイトルを入力し、開催日時欄1515には開催日時を入力し、メンバー欄1520にはメンバーの氏名を入力し、作成者欄1525には作成者(ユーザー名)を表示し、作成日時欄1530にはこのアクティビティを作成した日時を表示し、議題欄1535には議題を入力し、コンテンツ欄1540にはコンテンツを入力し、新規追加ボタン1541が押下されるとコンテンツを指定できる画面を表示し、「最近使ったコンテンツから選ぶ」ボタン1542が押下されると最近使用したコンテンツの一覧から選択できる画面を表示し、メモ欄1545にはメモ(例えば、議事録、コンテンツの要約等)を入力し、Todo欄1550にはToDo(議論の結果としての実施すべき項目)を入力し、担当メンバー欄1552にはそのToDoを実施する担当者を入力し、メッセージ欄1555にはメッセージ(ここでは、ToDoの進捗状況を示す情報)を入力し、作成ボタン1590が押下されると新規アクティビティ作成画面1500内の情報でイベントを生成する。
【0048】
イベント内で使われる情報すべてが、議題、コンテンツ、メモ、メッセージの3つのどれかに登録される。
また、イベントが終了しているか否かについての判断は、イベント情報にある終了日時と、現在の時間とを照合して判断するのが基本である。ただし、電子会議の場合、会議終了ボタン等で、会議終了が明示された場合は、明示された時間を終了とみなすようにすればよい。
アクティビティ内の最初のメッセージを、投稿メッセージであると判断すればよい。
結果メッセージについては、規則を用いて判断すればよい。例えば、投稿メッセージに「いつにしますか?」という語が含まれていた場合、その後のメッセージであって、日時と場所(例えば、「3月18日15時(横浜○○ビル)」等)が含まれているメッセージを結果メッセージと判断する。そのほか、投稿メッセージに「どこにしますか?」という語が含まれていた場合、その後のメッセージであって、場所(例えば、「15階部屋番号N1502」等)が含まれているメッセージを結果メッセージと判断し、投稿メッセージに「誰ですか?」という語が含まれていた場合、その後のメッセージであって、人名(例えば、「北崎允子さんとAさんです」等)が含まれているメッセージを結果メッセージと判断する。社内の場所や社員名等については、社内のデータベース(社内居室等データベース、社員データベース等)と連動して検索するようにしてもよい。また、類語を含めて、問いかけとその答えを推測特定できるエンジンを利用するようにしてもよい。例えば、機械学習によって生成した学習モデルを用いて、投稿メッセージ、結果メッセージを判断するようにしてもよい。
【0049】
図16は、本実施の形態の対象データの例を示す説明図である。非同期的コミュニケーションである電子メールの例を示している。
ID:1600は、スレッドのヘッダー/タイトルであって、その内容は、「件名:マスコットキャラについて」である。つまり、スレッドの先頭の情報となるものである。この後、メッセージが直線的に続いている。つまり、前のメッセージを受けて、次のメッセージがあるという形態をとっている。
ID:1610は、メッセージであって、特に、投稿メッセージであって、その内容は、「マスコットキャラクターを決めましょう。」である。
ID:1620は、メッセージであって、その内容は、「きのこでしょう。」である。
ID:1630は、メッセージであって、その内容は、「うーん、たけのこも捨てがたい。」である。
ID:1640は、メッセージであって、その内容は、「絶対にきのこだってば。」である。
ID:1650は、メッセージであって、特に、結果メッセージであって、その内容は、「では、きのこで決まり。」である。
ID:1660は、メッセージであって、その内容は、「残念だな〜。」である。
ここで、投稿メッセージ、結果メッセージの判断は、前述したように、規則、学習モデル等を用いて判断すればよい。
【0050】
図17は、本実施の形態による処理例を示す説明図である。
図16の例に示した非同期的コミュニケーションである電子メールを対象として、情報処理装置100による処理結果を用いた表示例を示すものである。
図17(a)は、
図14の例に示すフローチャートのステップS1458の処理が行われた場合の表示例を示している。つまり、「投稿者のユーザー用端末250で表示」しており、「結果メッセージあり」の場合の表示である。優先度の高い順から、ID:1600、ID:1650、ID:1660、ID:1640、ID:1630、ID:1620、ID:1610である。この例では、結果メッセージであるID:1650を最上段(ID:1610のヘッダー/タイトルを除いた最上段である)、投稿メッセージであるID:1610を最下段に表示している。なお、投稿メッセージ、結果メッセージ以外の最新メッセージについては、現在に近いものから順に優先度が高いこと(経時的順番とは逆順)となる。
【0051】
図17(b)は、
図14の例に示すフローチャートのステップS1462の処理が行われた場合の表示例を示している。つまり、「投稿者のユーザー用端末250で表示」しており、「結果メッセージなし」の場合の表示である。優先度の高い順から、ID:1600、ID:1640、ID:1630、ID:1620、ID:1610である。この例では、投稿メッセージであるID:1610を最下段に表示している。
【0052】
図17(c)は、
図14の例に示すフローチャートのステップS1468の処理が行われた場合の表示例を示している。つまり、「投稿者以外のユーザー用端末250で表示」しており、「結果メッセージあり」の場合の表示である。優先度の高い順から、ID:1600、ID:1650、ID:1610、ID:1660、ID:1640、ID:1630、ID:1620である。この例では、結果メッセージであるID:1650を最上段、投稿メッセージであるID:1610を第2段に表示している。
【0053】
図17(d)は、
図14の例に示すフローチャートのステップS1472の処理が行われた場合の表示例を示している。つまり、「投稿者以外のユーザー用端末250で表示」しており、「結果メッセージなし」の場合の表示である。優先度の高い順から、ID:1600、ID:1610、ID:1640、ID:1630、ID:1620である。この例では、投稿メッセージであるID:1610を最上段に表示している。
【0054】
図18は、本実施の形態の対象データの例を示す説明図である。
図16に示した例と同様に、非同期的コミュニケーションである電子メールの例を示している。ただし、ID:1620に対して、スレッド内で分岐が発生した場合の例を示している。これによって2つの連なり(分岐1810、分岐1820)が発生することとなる。つまり、一方の連なり(分岐1810)は、ID:1630、ID:1640、ID:1650、ID:1660であり、他方の連なり(分岐1820)は、ID:1631(「きのこといえば、今年は豊作らしい。」)である。ID:1650が結果メッセージである。この結果メッセージを含んでいる方の分岐1810を主流とみなし、他方の分岐1820内のメッセージよりも優先度を上げて、
図19の例に示すように表示する。つまり、最新メッセージについては、前述したように、原則として、現在に近いものから順に優先度が高いが、分岐が発生している場合は、いずれの分岐に連なるメッセージであるかによって、優先度を決定している。なお、ID:1620のように分岐前のメッセージについては、主流の分岐1810に含まれているとみなして優先度を決定する。
【0055】
図19は、本実施の形態による処理例を示す説明図である。
図14の例に示すフローチャートのステップS1458の処理が行われた場合の表示例を示している。つまり、「投稿者のユーザー用端末250で表示」しており、「結果メッセージあり」の場合の表示である。優先度の高い順から、ID:1600、ID:1650、ID:1660、ID:1640、ID:1630、ID:1620、ID:1631、ID:1610である。この例では、結果メッセージであるID:1650を最上段、投稿メッセージであるID:1610を最下段に表示している。そして、結果メッセージがある方の分岐1810(ID:1630、1640、1660)のメッセージを、他方の分岐1820(ID:1631)のメッセージよりも優先させている。
【0056】
図20は、本実施の形態の対象データの例を示す説明図である。
図18に示した例と同様に、非同期的コミュニケーションである電子メールであり、ID:1620に対して、スレッド内で分岐が発生した場合の例を示している。これによって2つの連なり(分岐2010、分岐2020)が発生することとなる。つまり、一方の連なり(分岐2010)は、ID:1630、ID:1640であり、他方の連なり(分岐2020)は、ID:1631(「きのこといえば、今年は豊作らしい。」)、ID:16311(「では、きのこで決まり。」)、ID:16312(「残念だな〜。」)である。ID:16311が結果メッセージである。この結果メッセージを含んでいる方の分岐2020を主流とみなし、他方の分岐2010内のメッセージよりも優先度を上げて、
図21の例に示すように表示する。つまり、最新メッセージについては、前述したように、原則として、現在に近いものから順に優先度が高いが、分岐が発生している場合は、いずれの分岐に連なるメッセージであるかによって、優先度を決定している。なお、ID:1620のように分岐前のメッセージについては、主流の分岐2020に含まれているとみなして優先度を決定する。
【0057】
図21は、本実施の形態による処理例を示す説明図である。
図14の例に示すフローチャートのステップS1458の処理が行われた場合の表示例を示している。つまり、「投稿者のユーザー用端末250で表示」しており、「結果メッセージあり」の場合の表示である。優先度の高い順から、ID:1600、ID:16311、ID:16312、ID:1631、ID:1630、ID:1620、ID:1640、ID:1610である。この例では、結果メッセージであるID:16311を最上段、投稿メッセージであるID:1610を最下段に表示している。そして、結果メッセージがある方の分岐2010(ID:1630、1631、16312)のメッセージを、他方の分岐2020(ID:1640)のメッセージよりも優先させている。
【0058】
図22は、本実施の形態による処理例を示す説明図である。同期的コミュニケーションである会議であって、会議終了前の例を示している。つまり、
図22は、
図14の例に示すフローチャートのステップS1406の処理が行われた場合の表示例を示している。
図22(a)の行は、議題、コンテンツ、メモ、メッセージの4種類が登録されている場合の表示例を示している。
図22(a)(0)は、会議のタイトル等だけの場合の表示例を示している。なお、この「会議のタイトル等」は、アクティビティを示すタイトルであるので、議題等を表示しない場合でも表示する。
図22(a)(1)は、上から順に、会議のタイトル等、議題の場合の表示例を示している。
図22(a)(2)は、上から順に、会議のタイトル等、議題、コンテンツの場合の表示例を示している。
図22(a)(3)は、上から順に、会議のタイトル等、議題、コンテンツ、メモの場合の表示例を示している。
図22(a)(4)は、上から順に、会議のタイトル等、議題、コンテンツ、メモ、メッセージの場合の表示例を示している。つまり、ステップS1406の処理で決定された優先度順位の「議題>コンテンツ>メモ>メッセージ」の典型例を示している。
【0059】
図22(b)の行は、議題、コンテンツの2種類が登録されている場合の表示例を示している。
図22(b)(0)は、会議のタイトル等だけの場合の表示例を示している。
図22(b)(1)は、上から順に、会議のタイトル等、議題の場合の表示例を示している。
図22(b)(2)は、上から順に、会議のタイトル等、議題、コンテンツの場合の表示例を示している。
図22(b)(3)は、上から順に、会議のタイトル等、議題、コンテンツの場合の表示例を示している。
図22(b)(4)は、上から順に、会議のタイトル等、議題、コンテンツの場合の表示例を示している。
【0060】
図22(c)の行は、議題の1種類が登録されている場合の表示例を示している。
図22(c)(0)は、会議のタイトル等だけの場合の表示例を示している。
図22(c)(1)は、上から順に、会議のタイトル等、議題の場合の表示例を示している。
図22(c)(2)は、上から順に、会議のタイトル等、議題の場合の表示例を示している。
図22(c)(3)は、上から順に、会議のタイトル等、議題の場合の表示例を示している。
図22(c)(4)は、上から順に、会議のタイトル等、議題の場合の表示例を示している。
【0061】
図22(d)の行は、議題、メモの2種類が登録されている場合の表示例を示している。
図22(d)(0)は、会議のタイトル等だけの場合の表示例を示している。
図22(d)(1)は、上から順に、会議のタイトル等、議題の場合の表示例を示している。
図22(d)(2)は、上から順に、会議のタイトル等、議題、メモの場合の表示例を示している。
図22(d)(3)は、上から順に、会議のタイトル等、議題、メモの場合の表示例を示している。
図22(d)(4)は、上から順に、会議のタイトル等、議題、メモの場合の表示例を示している。
【0062】
図23は、本実施の形態による処理例を示す説明図である。同期的コミュニケーションである会議であって、会議終了後の例を示している。つまり、
図23は、
図14の例に示すフローチャートのステップS1410の処理が行われた場合の表示例を示している。
図23(a)は、議題、コンテンツ、メモ、メッセージの4種類が登録されている場合の表示例を示している。
図23(a)(0)は、会議のタイトル等だけの場合の表示例を示している。なお、この「会議のタイトル等」は、アクティビティを示すタイトルであるので、メモ等を表示しない場合でも表示する。
図23(a)(1)は、上から順に、会議のタイトル等、メモの場合の表示例を示している。
図23(a)(2)は、上から順に、会議のタイトル等、メモ、コンテンツの場合の表示例を示している。
図23(a)(3)は、上から順に、会議のタイトル等、メモ、コンテンツ、議題の場合の表示例を示している。
図23(a)(4)は、上から順に、会議のタイトル等、メモ、コンテンツ、議題、メッセージの場合の表示例を示している。つまり、ステップS1410の処理で決定された優先度順位の「メモ>コンテンツ>議題>メッセージ」の典型例を示している。
【0063】
図23(b)は、議題、コンテンツの2種類が登録されている場合の表示例を示している。
図23(b)(0)は、会議のタイトル等だけの場合の表示例を示している。
図23(b)(1)は、上から順に、会議のタイトル等、コンテンツの場合の表示例を示している。
図23(b)(2)は、上から順に、会議のタイトル等、コンテンツ、議題の場合の表示例を示している。
図23(b)(3)は、上から順に、会議のタイトル等、コンテンツ、議題の場合の表示例を示している。
図23(b)(4)は、上から順に、会議のタイトル等、コンテンツ、議題の場合の表示例を示している。
【0064】
図23(c)は、議題の1種類が登録されている場合の表示例を示している。
図23(c)(0)は、会議のタイトル等だけの場合の表示例を示している。
図23(c)(1)は、上から順に、会議のタイトル等、議題の場合の表示例を示している。
図23(c)(2)は、上から順に、会議のタイトル等、議題の場合の表示例を示している。
図23(c)(3)は、上から順に、会議のタイトル等、議題の場合の表示例を示している。
図23(c)(4)は、上から順に、会議のタイトル等、議題の場合の表示例を示している。
【0065】
図23(d)は、議題、メモの2種類が登録されている場合の表示例を示している。
図23(d)(0)は、会議のタイトル等だけの場合の表示例を示している。
図23(d)(1)は、上から順に、会議のタイトル等、メモの場合の表示例を示している。
図23(d)(2)は、上から順に、会議のタイトル等、メモ、議題の場合の表示例を示している。
図23(d)(3)は、上から順に、会議のタイトル等、メモ、議題の場合の表示例を示している。
図23(d)(4)は、上から順に、会議のタイトル等、メモ、議題の場合の表示例を示している。
【0066】
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、
図24に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバーとなり得るコンピュータ等である。つまり、具体例として、処理部(演算部)としてCPU2401を用い、記憶装置としてRAM2402、ROM2403、HD2404を用いている。HD2404として、例えばハードディスク、SSD(Solid State Drive)を用いてもよい。コミュニケーション情報管理モジュール110、表示数判定モジュール120、表示内容優先度判定モジュール130、表示入力モジュール140、画面サイズ確認モジュール150、表示数/表示内容調整モジュール160、表示制御モジュール170等のプログラムを実行するCPU2401と、そのプログラムやデータを記憶するRAM2402と、本コンピュータを起動するためのプログラム等が格納されているROM2403と、表示する情報等を記憶する補助記憶装置(フラッシュメモリ等であってもよい)であるHD2404と、キーボード、マウス、タッチパネル、マイク等に対する利用者の操作に基づいてデータを受け付ける受付装置2406と、CRT、液晶ディスプレイ、スピーカー等の出力装置2405と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース2407、そして、それらをつないでデータのやり取りをするためのバス2408により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
【0067】
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、
図24に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、
図24に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに
図24に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器(携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む)、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
【0068】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。