(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
本発明の実施形態においては、デスクトップ画面において表示するアプリケーションウィンドウに応じて、画面上の表示画像(例えばアプリケーションウィンドウの画像)の中で、ウェブ会議に参加中の他の端末に共有する表示画像を容易に決定して共有する仕組みについて説明する。
【0011】
また、例えばホストユーザの誤操作やゲストユーザのリモート操作によってデスクトップ画面において最小化されていたアプリケーションウィンドウが最大化されることで、ホストユーザが意図しない、表示を共有したくないアプリケーションウィンドウの画像を複数端末で共有してしまわないようにする必要がある。
【0012】
よって、本発明の実施形態においては、デスクトップ画面において表示するアプリケーションウィンドウに応じて、画面上の表示画像の中で、ウェブ会議に参加中の他の端末に共有する表示画像を容易に決定し、且つ、当該表示画像の共有の許可・不許可を方法についても合わせて説明する。
【0013】
以下、図面を参照して、本発明の実施の形態の一例について説明する。
【0014】
<第1の実施形態>
まず
図1を参照して、本発明の第1の実施形態における、情報処理システムの構成の一例について説明する。
【0015】
本発明のウェブ会議システムは、例えば、パーソナルコンピュータを適用可能な情報処理装置であるクライアント端末100(100H、100G1、100G2)と各クライアント端末でウェブ会議システムを利用可能にするウェブ会議サーバ200(サーバ装置(情報処理装置の1つ))がネットワーク150を介して通信可能に接続され、構成されている。
【0016】
ウェブ会議サーバ200は、ウェブブラウザを利用したウェブ会議を実現するためのサーバであり、クライアント端末100からのアクセスに応じて、各クライアント端末100で入力を受け付けたユーザIDのユーザが参加する会議の画面であるウェブ会議画面(インタフェース/例えばhtmlで表現される画面を表示するための情報)をそれぞれのクライアント端末100に送信して表示させる。当該会議画面の提供(会議画面に表示する会議画像及び表示画像の提供)により、複数のクライアント端末100によりウェブ会議を行うサービスを提供する。
【0017】
ここでいう会議画像とは、会議に参加中のユーザのユーザIDが入力された各クライアント端末100のカメラ(例えば
図1のカメラ101)で撮像され、ウェブ会議サーバ200に送信されている画像である撮像画像であり、例えば、ユーザ自身の顔を写した画像である。また、ここでいう表示画像とは、クライアント端末100の入力部を介して、ユーザ操作に応じて指定を受け付けた、クライアント端末100からウェブ会議サーバ200に送信され共有されている画像である。
【0018】
表示画像とは、例えばクライアント端末100においてユーザ操作による指定を受け付けることで他のクライアント端末100と共有することが決定される、クライアント端末100の表示画面に表示されている画像である。表示画像は、例えば、クライアント端末100のデスクトップ画面に表示しているデスクトップ画像である。または、ユーザから指定を受け付けた、当該デスクトップに表示されているアプリケーションウィンドウの画像である。本実施形態においては、デスクトップ画面においてアプリケーションウィンドウをアクティブにする又は最前面に表示させる操作を、ユーザからの、各端末に共有する表示画像の指定操作であるものとする。表示画像は、共有処理のホストとなるクライアント端末100(表示画像の共有元の端末であるホスト端末)からウェブ会議サーバ200へ送信され、ウェブ会議サーバ200から当該ホスト端末と同じ会議に参加中の他のクライアント端末(表示画像の共有先の端末であるゲスト端末)に送信される。
【0019】
クライアント端末100は、例えば100Hに示すようなデスクトップPCや、100G1のようなノートPC、100G2のようなタブレットPCである。クライアント端末100は、ウェブ会議サーバ200から受信した会議画面に、同じくウェブ会議サーバ200から受信した画像や映像(会議画像)や、表示画像を表示する。
【0020】
本実施形態においてクライアント端末100には、ウェブ会議サーバ200へアクセスするためのウェブブラウザ、及び専用のモジュールがインストールされているものとする。なお、この専用のモジュールは、例えば、ウェブブラウザを介して、ウェブ会議サーバ200からダウンロードするActiveXコンポーネントである。なお、ウェブ会議において自身の動画像を送信する場合は、ビデオデバイスである(ウェブカメラ等の)カメラ101を接続する。音声を送信する場合は、マイク102を接続し、相手の音声を視聴するためにはスピーカ103を接続する。マイク102およびスピーカ103はオーディオデバイスである。
【0021】
また、
図1においては各デバイスを別々の筐体として例示しているが、例えば101〜103が同じ筐体のハードに備えられているデバイスを用いてもよい。例えばカメラ機能とマイク機能や、マイク機能とスピーカ機能、および全ての機能を備えたデバイスである。また、クライアント端末100に101〜103のデバイスが内蔵されている場合、これらの内蔵されているデバイスを用いて、画像、音声等を入力・出力するようにしてもよい。
【0022】
本実施形態のウェブ会議システムは、クライアント端末100(例:クライアント端末100H)に表示されている画面の画像(表示画像)を他のクライアント端末100(例:クライアント端末100G1、100G2等)の画面に表示する、画面共有(表示画像の表示の共有処理)を行うことができる。共有される表示画像は、クライアント端末100上で指定することが可能である。例えばユーザ操作により指定されたアプリケーションの画面(ウィンドウの画像)のみを表示画像として共有することができる(アプリケーション共有)。また、クライアント端末100に表示されているデスクトップ画面の指定を受け付けることで、当該デスクトップ画像全体を表示画像として共有することができる(デスクトップ共有)。また、クライアント端末100を指定することで(または自装置のカメラで撮像した画像を全画面表示する操作を受け付けることで)、当該カメラで撮像した画像を表示画像として共有することができる。表示画像の共有を開始した当該表示画像の共有元のクライアント端末100をホスト端末とし、表示画像の共有先である他のクライアント端末100をゲスト端末とする。
【0023】
また、本ウェブ会議システムは、ルームと呼ばれる仮想の会議室をウェブ会議サーバ200において複数生成、記憶、管理することができる。各クライアント端末100を操作するユーザは、自身のユーザID・パスワードを用いて、ウェブブラウザ経由でウェブ会議サーバ200にアクセスしてログインし、自身のユーザIDを用いて当該ルームに入室することで、当該ルームにおいて開催される会議に参加することができる。以上が
図1の説明である。
【0024】
以下、
図2を用いて、本発明の第1の実施形態における、ウェブ会議サーバ及びクライアント端末のハードウェア構成の一例について説明する。
【0025】
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【0026】
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【0027】
また、205は入力コントローラで、キーボード(KB)や不図示のマウス等のポインティングデバイス、タッチパネル、カメラ等の入力装置209からの入力を制御する。
【0028】
206はビデオコントローラで、ディスプレイ装置210(例:CRTディスプレイ)等の表示器(外部出力装置)への表示を制御する。なお、ディスプレイ装置210に示す表示機器はCRTディスプレイだけでなく、液晶ディスプレイや、マルチタッチスクリーン等の他の表示器であってもよい。また、例えばプロジェクタのような外部出力装置であってもよい。
【0029】
なおビデオコントローラ206は、表示制御を行うためのビデオメモリ(VRAM)を制御することが可能で、ビデオメモリ領域としてRAM203の一部を利用することもできるし、別途専用のビデオメモリを設けることも可能である。本実施形態においては、各クライアント端末100は、クライアント端末100を通常する場合の表示に用いられる第1のビデオメモリ領域と、所定の画面が表示される場合に、第1のビデオメモリ領域の表示内容に重ねて別の表示をするために用いられる第2のビデオメモリ領域を有している。ビデオメモリ領域は2つに限ったものではなく、情報処理装置の資源が許す限り複数有することが可能なものとする。
【0030】
212は、音声入出力コントローラで、マイク/スピーカ213(
図1における102及び103)からの入出力を制御する。マイクから入力された音声を音声認識することが可能となっている。スピーカにはイヤホンを接続することも可能である。
【0031】
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0032】
208は通信I/Fコントローラで、ネットワーク(例えば、
図1に示したネットワーク150(例:LAN等))を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信や、ISDNなどの電話回線、および携帯電話の3G回線を用いた通信等が可能である。
【0033】
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、ディスプレイ装置210上に表示される不図示のマウスカーソル等でのユーザ指示を可能とする。
【0034】
また、外部メモリ211等の、情報を永続的に記憶するための記憶装置(記憶媒体)は、その形態をハードディスク等の記憶装置に限定するものではない。例えば、SSD(Solid State Drive)などの媒体であってもよい。
【0035】
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。以上が
図2の説明である。
【0036】
次に
図3を参照して、本発明の第1の実施形態における、各種装置の機能構成の一例について説明する。
【0037】
クライアント端末100は、画像記憶部311、送信制御部312、許可情報記憶部313、アクティブウィンドウ変更指示受付部314、送信停止制御部315、選択画面表示制御部316、表示制御部317等を備えている。
【0038】
ウェブ会議サーバ200は、会議情報記憶部321、受信制御部322、画像記憶部323、送信制御部324等を備えている。
【0039】
会議情報記憶部321は、どのユーザが、どの会議室に入室してどのユーザと会議を行っているかを記憶する記憶部である。
【0040】
送信制御部312は、カメラにおいて撮像され入力された画像(映像)や、ユーザ操作等により表示を共有する画像として指定された表示画像(デスクトップ全体または指定アプリケーションの画面の画像)を、ウェブ会議サーバに送信制御する送信制御部である。送信された画像は、ウェブ会議サーバ200の受信制御部322で受信され、メモリ上の画像記憶部323(キュー)に格納される。
【0041】
画像記憶部311は、送信制御部312によって送信する画像と同じ画像を記憶する記憶部(キュー)である。キューには、クライアント端末100の撮像装置によって撮像される撮像画像(会議画像)用のキューと、ユーザ操作により指定された表示画像(クライアント端末100のデスクトップ画面の画像等)のキューがある。
【0042】
撮像画像用のキューには撮像画像を順次記憶する。カメラは継続的に撮像処理(動画の撮像及びクライアント端末100への動画の入力)を行うため、キューには、動画を構成する複数の画像が、動画内のフレームごとに順々に記憶される。表示画像用のキューには、表示画像を所定時間ごとに記憶する。例えば0.2秒ごとに、クライアント端末100のデスクトップ画面に表示されているデスクトップ画像を順次記憶する。記憶される各表示画像は、例えばデスクトップ画像を繋ぎ合わせて再生する動画の1フレームである。
【0043】
受信制御部322は、クライアント端末100の送信制御部312より送信された会議画像(映像)、および表示画像、音声を受信する受信部である。送信制御部324は、受信制御部322で受信した画像、表示画像、音声等を、同じ会議に参加している(同じ会議室に入室中の)、当該画像や音声の送信元のクライアントとは別の、他のクライアント端末100に受信させるべく送信する制御部である。
【0044】
なお、本実施形態においては、各クライアント端末100がウェブ会議サーバ200に対して、画像記憶部323からの画像の取得要求を行うことで、当該要求に応じてウェブ会議サーバ200の送信制御部324が要求元のクライアント端末100に対して、当該要求受付時におけるキュー内の最新の画像を送信するものとする。クライアント端末100は、要求した画像を受信した後、当該受信した画像(動画内の1フレーム)を表示画面に表示する。そして当該表示と並行して、当該動画内の次の画像をウェブ会議サーバ200に要求する。会議が終了する等、動画の表示が終了するまで、当該画像の要求と表示を繰り返す。
【0045】
送信制御部324は、各クライアント端末100からの要求に応じて、画像記憶部323に記憶されている会議画像や表示画像を要求元のクライアント端末100に送信する制御部である。
【0046】
アクティブウィンドウ変更指示受付部314は、ユーザ操作等によるアクティブウィンドウの変更指示を受け付ける受付部である。アクティブウィンドウの変更指示とは、例えば、デスクトップ画面において現在最前面に表示されているアプリケーションウィンドウとは別のウィンドウに対するマウスクリック操作(デスクトップ画面の最前面に表示する操作)である。例えば、OSが当該アクティウィンドウの変更の操作を受け付けた旨を示すイベントを発行したことを検知した場合に、当該アクティブウィンドウの変更指示を受け付けたものと判断する。
【0047】
送信停止制御部315は、アクティブウィンドウの変更指示を受け付けた場合に、変更後のアクティブウィンドウの画像(表示画像)のウェブ会議サーバ200への送信(共有)を一時停止する制御部である。
【0048】
選択画面表示制御部316は、アクティブウィンドウの変更指示を受け付けた場合に、新たにアクティブ化される指示を受け付けたアプリケーションウィンドウの画像を、同じ会議に参加中の他のクライアント端末100に共有するか否か(共有を許可する、不許可とするか)をユーザに選択させる選択画面(ユーザに指定させる指定画面)を表示制御する処理部である。
【0049】
許可情報記憶部313は、選択画面において、共有を許可する選択がされたアプリケーションウィンドウ、まだ許可されていないアプリケーションウィンドウ、不許可が選択されたアプリケーションウィンドウの識別情報を記憶する記憶部である。
【0050】
表示制御部317は、カメラから入力された画像(映像/動画)、及び、複数のクライアント端末間で共有する画像として指定されたデスクトップ全体の画像または指定されたアプリケーションウィンドウに表示される画面の画像を表示画面に表示する制御部である。また、送信制御部324により送信された画像(会議画像や表示画像)を受信して、受信した画像をメモリ上の受信画像用のキュー(画像記憶部311)に記憶し、当該メモリ上のキューから画像を順次取得して、連続して表示画面に表示させ、動画として再生表示する。以上が
図3の説明である。
【0051】
次に
図4を参照して、本発明の第1の実施形態における、画像送信処理の流れについて説明する。
【0052】
クライアント端末100のCPU201は、ウェブ会議サーバ200の提供するウェブ会議サービスを享受するために、ブラウザソフト上におけるユーザ操作に応じて所定のURLにアクセスし、不図示のログイン画面を表示する。そして、当該ログイン画面においてユーザIDとパスワードの入力を受け付けて、「ログイン」ボタンの押下を受け付けることで、ウェブ会議サーバ200へのログイン要求を送信する(ステップS401)。
【0053】
ウェブ会議サーバ200のCPU201は、当該ログイン要求を受け付け(ステップS402)、自装置の外部メモリに予め記憶されているユーザ情報(ユーザID及びパスワード/
図7の700に例示)と突き合わせて認証処理(ログイン処理)を行う。認証が成功した場合(受信したユーザIDを用いたウェブ会議サーバ200へのログインが成功した場合)、不図示のメニュー画面の画面情報(例えばhtml情報)を生成して、クライアント端末100に送信する(ステップS403)。
【0054】
クライアント端末100のCPU201は、当該画面情報を受信して、受信した画面情報に基づいて不図示のメニュー画面を表示画面に表示する(ステップS404)。クライアント端末100のCPU201は、当該メニュー画面に含まれる不図示のルーム(ルームの識別情報)の選択部において、ログインユーザが入室するルームの選択操作を受け付け(ステップS405)、同画面に含まれる不図示の「入室」ボタンの押下を受け付けることで、選択中のルームへの入室要求をウェブ会議サーバ200に送信する(ステップS406)。
【0055】
クライアント端末100のCPU201は、当該入室要求に、入室の操作を受け付けたクライアント端末100でログイン中のログインユーザのユーザID、入室対象のルームの識別情報(ルームID)、クライアント端末100の識別情報(例えばIPアドレス)、クライアント端末100の端末種別、通信方法等の情報を含めて、当該要求をウェブ会議サーバ200に送信する。端末種別とは、例えばクライアント端末100自身が、PC(デスクトップPC、ノートPC)なのか携帯端末(例えばタブレットPC、携帯電話等)なのかを識別するための情報である。自装置がPCであれば端末種別=pcの値を送信し、自装置が携帯端末であれば端末種別=mobileの値を送信する。各クライアント端末100は、自装置の端末種別の情報を、自装置の外部メモリ等の記憶領域に予め保持・記憶しており、その情報を取得して当該要求に埋め込むものとする。通信方法は、クライアント端末100自身がどのような通信方法でウェブ会議サーバ200と通信しているかを示す通信方法の識別情報である。例えば有線LANを用いた通信であれば通信方法=wire−lineであり、無線通信であれば通信方法=wirelessである。クライアント端末100のCPU201は、自装置の通信を管理している機能部(例えば通信/IFコントローラ)に自装置が外部装置との通信に用いている通信方法を問い合わせて当該通信方法の情報を取得する。そして、入室要求の中に埋め込んで、ウェブ会議サーバ200に送信する。
【0056】
なお、ここではクライアント端末100で選択を受け付けたルームを入室要求に含めることで、ウェブ会議サーバ200が入室要求及び入室要求がされたルームのルームIDを取得するものとするが、例えば入室するルームの選択操作を受け付けた時点で当該ルームのIDを選択中のルームのIDとしてウェブ会議サーバ200に送信してウェブ会議サーバ200がこれを受け付け、「入室」ボタンの押下を受け付けることで、選択中のルームに、クライアント端末100でログイン中のユーザを入室させるよう要求し、ウェブ会議サーバ200がこれを受け付けるようにしてもよい。
【0057】
ウェブ会議サーバ200のCPU201は当該入室要求を受け付けると(ステップS407)、要求されたルーム(会議室)にユーザを入室させる入室処理を実行する(ステップS408)。
【0058】
ここでは、入室処理に際して、どのユーザが、どの会議室のどの会議に、どのような端末種別のどの端末で、どのような通信方法で通信をして入室しているかを登録・記憶する。
【0059】
具体的には、
図7の会議情報710の会議室711に入室するルームのルームIDを、参加者ID713に入室させるユーザのユーザIDを追加する。また、当該ルームに入室中のユーザがいなかった場合は(無人のルームに入室した場合は)、会議を識別する会議IDを発行して会議ID712に挿入、記憶する。2人目以降の場合は、同ルームに入室中のユーザID(参加者)の参加している会議の会議ID(入室中のルームに対応する会議ID)を会議ID712に記憶するものとする。また、ステップS407で受け付けた入室要求に含まれていたクライアント端末100の端末IDを端末ID714に挿入する。第1の実施形態においては、受信した端末種別、通信方法の情報は記憶しない。(後述するその他の実施形態においては、例えば端末種別を端末種別1215に、通信方法を通信方法1216に挿入して記憶する。)
【0060】
入室処理が完了すると、ウェブ会議サーバ200のCPU201は、
図8の800に示すような、各クライアント端末100のカメラにより撮像された会議画像を表示する会議画面の画面情報(例えばhtml情報)を、入室したユーザのユーザIDの送信元のクライアント端末100に送信する(ステップS409)。
【0061】
クライアント端末100のCPU201は当該会議画面の画面情報を受信し、受信した画面情報に基づいて会議画面800を表示する(ステップS410)。以降、会議が終了するまで(会議の終了についてはステップS424で後述)、ステップS411〜ステップS423の処理を実行・継続するものとする。
【0062】
クライアント端末100のCPU201は、自装置に接続されている(又は自装置に内蔵される)カメラ101からの画像(映像)の入力を受け付けて、カメラ101で撮像された画像(映像/会議画像)を取得し(ステップS411)、会議画面上に表示する(ステップS412)。例えば
図8の会議画面800における、表示領域804に、自装置のカメラで撮像した画像を表示する。
図8において801は画像を大きく表示するメイン表示領域であり、802、803、804は画像を小さく表示するサブ表示領域である。また、805は、同じ会議に参加中の他のクライアント端末100と共有する表示画像(例:アプリケーションウィンドウの画像)の一覧を表示するための「アプリ共有ボタン」である。
【0063】
クライアント端末100のCPU201は、カメラ101からの入力画像(映像)を会議画面に表示する一方で、映像コーデックによる画像(映像)の圧縮処理を行い、圧縮後の画像を、1フレームごとに、順々に自装置のメモリ上のキューに保存・記憶する(ステップS413)。
【0064】
キューの一例を
図7の会議画像キュー720に示す。会議画像キュー720は、各画像の識別番号(識別情報)であり、画像の順序を示すシーケンス番号721と、画像の実体(画像データ/映像の中の1フレームの画像)である画像722の項目から構成される。クライアント端末100のCPU201は、カメラ101から取得した映像の各フレームの画像について、当該画像を取得した順にシーケンス番号を割り振って、会議画像キュー720に記憶する。
【0065】
クライアント端末100のCPU201は、会議画像キュー720に保存した画像を、ウェブ会議サーバ200に、シーケンス番号と共に順次送信する(ステップS414)。つまり、会議画像キュー720に示す情報をウェブ会議サーバ200に送信する。
【0066】
ウェブ会議サーバ200のCPU201は、当該画像(圧縮データ)を受信し(ステップS415)、自装置のメモリ上に保持している、当該画像の送信元のクライアント端末100(端末ID714)でのログインユーザの会議画像キュー(構成は会議画像キュー720と同じ)に追加して記憶する(ステップS416)。ウェブ会議サーバ200のCPU201は、ユーザの会議室への入室処理が行われた場合に、当該ユーザごとに(会議室に参加者ID713に入室したユーザのユーザIDごとに)会議画像キューを生成してメモリ上に保持する。当該ウェブ会議サーバのメモリ上の会議画像キューには、クライアント端末100より受信した、会議画像キュー720のシーケンス番号721、画像722と同じ情報を対応付けて記憶する。
【0067】
クライアント端末100のCPU201は、ステップS417において、他の会議参加者の画像(同じルームに入室している他の入室者のユーザIDの会議画像キューの画像)の取得要求をウェブ会議サーバ200に送信する(ステップS417)。当該要求には、クライアント端末100でウェブ会議サーバ200にログイン中のユーザIDを含めるものとする。
【0068】
ウェブ会議サーバ200のCPU201は当該取得要求を受け付け(ステップS418)、要求元のクライアント端末100(端末ID714)でのログインユーザ以外の、当該ログインユーザと同じルームに入室中のユーザのユーザIDを、会議情報710を参照して特定する。そして、特定した他の入室者の会議画像キューの画像のうち、最新のシーケンス番号(最も後ろの番号)の画像を取得し(ステップS419)、取得した各クライアント端末100のカメラで撮像された画像(会議画像)を、当該画像に対応するユーザIDと共に要求元のクライアント端末100に送信する(ステップS420)。
【0069】
クライアント端末100のCPU201は、ステップS420で送信された画像(圧縮データ)を受信し(ステップS421)、映像コーデックによる伸長処理を行って映像(画像)を復元して、表示中の会議画面に表示する(ステップS422)。例えば
図8の800においてはメイン表示領域801にUser002の画像(映像)、802、803等のサブ表示領域にUser003、User004の画像(映像)が割り当てられている。また、804に、ログインユーザであるUser001自身の画像(映像)が割り当てられている。どの表示領域にどのユーザの画像を表示するかの対応付け情報(表示領域のIDとユーザIDを対応付けた情報)は、クライアント端末100のメモリに記憶されているものとする。クライアント端末100のCPU201は、受信した画像を、それぞれの画像のユーザに対応する表示領域に表示することで、各ユーザの画像(会議画像)の表示を更新し、動画像(映像)として再生・表示する。
【0070】
クライアント端末100のCPU201は、会議が終了したか判定する(ステップS423)。例えば、クライアント端末100において、不図示の「退出ボタン」の押下操作を受け付けた場合に、ログインユーザにとっての会議終了がされたと判定するものとする。また、ルーム使用の終了時刻がウェブ会議サーバに記憶されている場合、当該終了時刻になるとウェブ会議サーバ200のCPU201はウェブ会議を強制終了し、当該強制終了した旨を強制終了した会議に参加していたユーザのクライアント端末100に通知する。各クライアント端末100のCPU201は、当該強制終了の通知を受け付けた場合に、会議が終了したものと判定する。ウェブ会議が終了した場合には
図4の処理を終了し、継続中の場合には処理をステップS411に移行する。
【0071】
ウェブ会議を行う場合、実際には、複数のクライアント端末100が存在する場合があるため、ウェブ会議サーバ200のCPU201は、ステップS402〜S409をウェブ会議サーバ200にログインしたクライアント端末100の数だけ実行することとなる。また、ステップS415〜S420の処理を、ウェブ会議に参加(ルームに入室)したユーザのクライアント端末100の数だけ実行することとなる。以上が
図4の説明である。
【0072】
次に
図5を参照して、本発明の第1の実施形態における、表示画像送信処理の流れについて説明する。
【0073】
本実施形態の説明において、アクティブウィンドウ(デスクトップ画面において最前面に表示されているアプリケーションウィンドウ)が、同じ会議に参加中の他のクライアント端末と共有すると指定された表示画像である。また、アプリケーションウィンドウをアクティブにする操作を受け付けた場合に、当該アクティブにするアプリケーションウィンドウの画像を、同じ会議に参加中の他のクライアント端末と共有する表示画像として選択(指定)する操作を受け付けたと判定するものとする。
【0074】
クライアント端末100HのCPU201は、他のクライアント端末との共有を許可する表示画像の選択画面の表示指示、又は、表示画像の指定及び共有指示を受け付ける(ステップS501)。例えば
図8の会議画面における「全画面」ボタンの押下を受け付けた場合に、当該「全画面」ボタンの押下を受け付けたクライアント端末100Hのカメラ102で撮像された、ウェブ会議サーバ200に送信中の会議画像を表示画像として決定し、表示画像の共有指示を受け付けたものと判定する。
【0075】
また、例えば
図8の会議画面における「アプリ共有」ボタン805の押下を受け付けることで、
図8の810における選択画面811に示すような、他のクライアント端末との表示の共有を許可するアプリケーションウィンドウを選択する選択画面(指定する指定画面)の表示指示を受け付けたものと判定する。
【0076】
本実施形態において、表示画像の共有元(送信元)のクライアント端末100Hはホスト端末であり、共有先(送信先)のクライアント端末100G1、100G2はゲスト端末であるものとする。また、ステップS501においては、クライアント端末100Hの「アプリ共有」ボタン805が押下されたものとする。
【0077】
クライアント端末100HのCPU201は、「アプリ共有」ボタン805の押下を受け付けることで、自機のOS(オペレーティング・システム)に対して、起動中のアプリケーションのウィンドウの一覧(ウィンドウIDの一覧)を要求し、当該要求に応じてOSから、クライアント端末100Hで起動中のアプリケーションウィンドウの一覧を取得して、
図8の811に示す選択画面上に、選択可能に一覧表示する。各ウィンドウには、OSから一意のウィンドウIDが付与されているものとする。ウィンドウIDは、例えばどのアプリケーションのどのウィンドウかを示す一意の識別情報である。ウィンドウID=App001_win001の場合、アプリケーション001のウィンドウ001であることを示す。
【0078】
クライアント端末100HのCPU201は、共有を許可するアプリケーションウィンドウの選択操作を受け付ける。選択画面811では、共有を許可するウィンドウとして複数のアプリケーションウィンドウを選択可能である。選択操作を受け付けたアプリケーションウィンドウのチェックボックスには、選択されたことを識別可能にするためにチェックマークを表示する。
【0079】
図8の811は、「アプリケーション001_ウィンドウ001」と「アプリケーション002_ウィンドウ001」のアプリケーションウィンドウが選択されていることを示す。なお、「デスクトップ」の選択操作を受け付けた場合には、デスクトップ画像全体の共有をユーザが所望していると判断し、「デスクトップ」以外のアプリケーションウィンドウを選択できないようにグレーアウトして表示する。また、「デスクトップ」以外のアプリケーションウィンドウのいずれかが選択された場合には、特定のアプリケーションウィンドウの画像のみの共有をユーザが所望していると判断し、「デスクトップ」の選択部を選択できないようにグレーアウト表示する。
【0080】
クライアント端末100HのCPU201は、選択画面811における「OK」ボタンの押下を受け付けることで、選択画面811において選択中のアプリケーションウィンドウを、共有を許可するアプリケーションウィンドウとして決定し(ステップS504)、共有を許可するアプリケーションウィンドウの画像の共有処理を開始する。実際には、共有を許可するアプリケーションウィンドウのうち、後述するステップS507で特定されるアクティブウィンドウの画像が共有されることとなる。また、当該決定された共有を許可するアプリケーションウィンドウの一覧、共有を許可すると決定されなかった(未許可の)アプリケーションウィンドウの一覧をメモリ上に記憶する(ステップS505)。例えば、
図7の許可情報740を生成する。
【0081】
許可情報740は、どのウィンドウID741のアプリケーションウィンドウの画像の共有が許可(共有先のユーザへの閲覧許可)されているかを記憶する情報である。選択画面811で共有を許可するとして選択されたアプリケーションウィンドウのアプリケーションの共有許可742には、「許可」(=他のクライアント端末への画像の共有を許可されている状態を示す値)を記憶する。また、起動はしているが、共有を許可するアプリケーションウィンドウとして選択・指定されなかったアプリケーションウィンドウの共有許可742には、「未許可」(=共有を許可するか否か未決定の状態を示す値)を記憶する。なお、「不許可」(=共有が許可されていない状態を示す値)が記憶されるタイミングについては後述する。
【0082】
クライアント端末100HのCPU201は、デスクトップ画面を表示画面に表示し(ステップS506)、共有が許可されているアプリケーションウィンドウ(共有許可742=「許可」のウィンドウ)のうち、デスクトップにおいて最前面に表示されているアプリケーションウィンドウ(アクティブなウィンドウ)のウィンドウIDをOSに問い合わせて特定・取得し、メモリ上に記憶する(ステップS507)。具体的には
図7のアクティブウィンドウ750のようなテーブルをメモリ上に作成し、当該アクティブウィンドウのIDを挿入して記憶する。
【0083】
例えば
図9の900に示すようなデスクトップ画面を表示する。
図9の900では、既にアプリケーション001(アプリケーションID=App001)とアプリケーション002(アプリケーションID=App002)の2つのアプリケーションが起動している。そして、アプリケーション001のウィンドウ902(ウィンドウID=App001_win001)と、アプリケーション002のウィンドウ903(ウィンドウID=App002_win001)とが展開・表示されている。
図9の900においては、ウィンドウ902がアクティブウィンドウとして表示されているものとする。
【0084】
なお、アプリケーション003(アプリケーションID=App003)が起動しており、そのウィンドウ(ウィンドウID=App003_win001)が最小化表示(906)されている。904、905はそれぞれ、アプリケーション001のウィンドウとアプリケーション002のウィンドウに対応する最小化指示受付部である。マウスカーソル907は、最小化されているアプリケーション003を画面上に展開するため、907にカーソルを合わせている状態である。
【0085】
クライアント端末100HのCPU201は、アクティブウィンドウ750に記憶されたIDの示すアクティブウィンドウの画面の画像(例:
図9でいうウィンドウ902の画像)をVRAM(メモリ)から取得して、所定のメモリ上に当該取得したアクティブウィンドウの表示画像732をシーケンス番号731と対応付けて表示画像用の画像キュー(クライアント端末100Hのメモリ上に生成するキュー/
図7の表示画像キュー730)に記憶し、当該キューに記憶した最新の表示画像を取得して、ウェブ会議サーバ200に送信する(ステップS508)。また、合わせてクライアント端末100Hでログイン中のユーザIDをウェブ会議サーバ200に送信する。
【0086】
その後、ステップS519に示す画像表示を共有するアプリケーションウィンドウの変更処理を実行する。ステップS519の処理の詳細は
図8の説明で後述する。
【0087】
ウェブ会議サーバ200のCPU201は、ステップS508で送信された表示画像を受信する(ステップS509)。ウェブ会議サーバ200のCPU201は、表示画像の共有を開始する旨を、クライアント端末100Hのユーザ(例:User001)と同じ会議に参加中のユーザ(例:User002、User003)のユーザIDが入力され、当該ユーザIDをウェブ会議サーバ200へのログインに用いた他のクライアント端末100(例:100G1、100G2)に送信する(ステップS510)。ここでは一例としてクライアント端末100G1を例に挙げて説明する。なお、既に表示画像の共有中の場合は、ステップS510の処理はスキップし、ステップS511に処理を移行する。
【0088】
ウェブ会議サーバ200のCPU201は、表示画像(ホスト端末におけるアクティブウィンドウの画像)を自装置のメモリ上に表示画像用の画像キュー(表示画像キュー730と同じデータ)をメモリ上に生成して記憶する(ステップS511)。具体的には、フレームごとの表示画像と、各表示画像のフレームを示すシーケンス番号とに加え、表示画像の送信元であるクライアント端末100HのユーザのユーザIDと、当該表示画像を送信済みのゲスト端末のユーザである送信済みユーザを記憶する。
【0089】
クライアント端末100G1のCPU201は、表示画像の共有開始の通知を受け付けると(ステップS512)、表示画像をウェブ会議サーバ上の表示画像キューから取得すべく、当該表示画像の取得要求をウェブ会議サーバ200に送信する(ステップS513)。なお、当該表示画像の取得要求は、後述するステップS520で表示画像の共有の終了操作がされたと判定され、共有終了の通知をウェブ会議サーバ200から受け付けるまで継続するものとする。
【0090】
ウェブ会議サーバ200のCPU201は当該表示画像の取得要求を受け付け(ステップS514)、表示画像用の表示画像キューの中に記憶されている、最新のシーケンス番号(例:最後の番号)の表示画像を取得し(ステップS515)、当該表示画像を要求元のクライアント端末100G1に送信する(ステップS516)。このとき、送信する表示画像は、表示画像の要求元(例:
図5のクライアント端末100G1)のログインユーザに対応する表示画像キューから取得するものとする。また、クライアント端末100G1に送信した画像は、表示画像キューから削除する。
【0091】
クライアント端末100G1のCPU201は、ステップS516で送信された表示画像を受信し(ステップS517)、
図9の920に示すように、受信した表示画像(ここではクライアント端末100Hのデスクトップにおけるアクティブウィンドウ902の画像)を全画面表示する。他のクライアント端末100(例えば100G2)も同様に、表示画像の取得要求を行い、当該表示画像を受信して全画面表示する(ステップS518)。
【0092】
クライアント端末100HのCPU201は、ステップS519の後、ステップS520において、ステップS504で開始した表示画像の共有処理を終了する操作を受け付けたか判定する(ステップS520)。例えば
図9の900における「×」ボタン901(「閉じる」ボタン)の押下を受け付けた場合に、表示画像の共有を終了する操作を受け付けたと判定し、表示画像の共有の終了をウェブ会議サーバ200に通知して、
図5の処理を終了する。また、表示画像の共有を終了する操作を受け付けた場合、メモリ上の許可情報740の値をクリア(削除)する。ウェブ会議サーバ200のCPU201は当該終了の通知を受け付け、当該終了の通知を他のクライアント端末100にも通知し、通知を受け付けた他のクライアント端末100のCPU201は、表示画像の全画面表示を終了して、
図9に示すような会議画面を表示画面に表示する。表示画像の共有を終了する操作を受け付けていない場合は、処理をステップS507に移行し、表示画像の共有を継続する。以上が
図5の説明である。
【0093】
次に
図7を参照して、本発明の第1の実施形態における、共有する表示画像の変更処理の流れについて説明する。
【0094】
クライアント端末100HのCPU201は、許可情報740に記憶されていないアプリケーションウィンドウのアクティブ化の監視を開始する。具体的には、OSから発行される、最小化ウィンドウの展開・最大化、未起動のアプリケーション(新規アプリケーション)の起動、現在表示中のウィンドウに対するマウスクリックやキー入力操作のイベントの発行を監視して検知する。クライアント端末100HのCPU201は、自機に対するユーザ操作のイベントを検知する。
【0095】
クライアント端末100HのCPU201は、現在のアクティブウィンドウ(例:900におけるウィンドウ902)とは別のウィンドウに対する操作を受け付けたか判定する(ステップS602)。つまり、ステップS601で検知したイベントが、現在のアクティブウィンドウとは別のウィンドウをアクティブにする操作を示すか判定する。具体的には、OSから、現在のアクティブウィンドウ以外のウィンドウに対するマウスクリックやキー入力操作のイベントが発行され、当該イベントを検知した場合に、現在のアクティブウィンドウとは別のウィンドウをアクティブにして最前面に表示する操作を受け付けたと判定し、処理をステップS605に移行する。また、例えばイベントの文字列から特定される、当該最前面に表示する操作を受け付けたアプリケーションウィンドウのウィンドウIDをメモリ上に記憶する。検知したイベントが、表示中の別のウィンドウに対する操作イベントでない場合は処理をステップS603に移行する。
【0096】
クライアント端末100HのCPU201は、ステップS601で検知したイベントが、最小化ウィンドウ(例:900におけるウィンドウ906)の最小化の解除(デスクトップ画面上へのウィンドウの展開)イベントか判定する(ステップS603)。つまり、最小化ウィンドウ906をアクティブにして最前面に表示する操作を受け付けたか判定する。最小化の解除イベントを検知したと判定した場合には、処理をステップS605に移行する。また、例えばイベントの文字列から特定される、当該最小化解除の操作を受け付けたアプリケーションウィンドウのウィンドウIDをメモリ上に記憶する。検知したイベントが、最小化の解除イベントでない場合は処理をステップS604に移行する。
【0097】
クライアント端末100HのCPU201は、ステップS601で検知したイベントが、未起動のアプリケーションの起動操作のイベント(例:
図11の1100におけるアプリケーション003の起動操作)か判定する(ステップS604)。例えば、
図11のように、未起動のアプリケーションのアイコン1101の押下を受け付けたか(当該押下の操作によって起動したアプリケーションのウィンドウをアクティブにし、最前面に表示する指示を受け付けたか)判定する。未起動のアプリケーションの起動操作のイベントであった場合には、処理をステップS605に移行する。また、例えばイベントの文字列から特定される、当該起動の操作を受け付けたアプリケーションウィンドウのウィンドウIDをメモリ上に記憶する。未起動のアプリケーションの起動操作のイベントでなかった場合には
図6の処理を終了する。
【0098】
クライアント端末100HのCPU201は、ステップS605において、ウェブ会議サーバ200への表示画像の送信処理を停止する(ステップS605/表示画像キュー730からの最新画像の取得・送信処理を停止する)。そして、ステップS606で、デスクトップにおいて最前面に表示されているアプリケーションウィンドウ(アクティブなウィンドウ)のウィンドウIDをOSに問い合わせて特定・取得し、アクティブウィンドウ750に上書きして記憶する(ステップS606)。
【0099】
つまり、ステップS605の処理により、表示画像(アクティブウィンドウの画像、つまり、ステップS602において操作されたアプリケーションウィンドウの画像、または、ステップS603において最小化解除の操作を受け付けた最小化解除後のアプリケーションウィンドウの画像、または、ステップS604において新規に起動したアプリケーションの起動後のアプリケーションウィンドウの画像)のウェブ会議サーバ200への送信を一時停止する。
【0100】
表示画像のウェブ会議サーバ200への送信が停止された場合、各ゲスト端末(例:クライアント端末100G1)はウェブ会議サーバ200から表示画像を受信・取得できなくなるため、表示画像の代わりに、
図9の930に示すような黒塗りの画面を表示する。
【0101】
また、ウェブ会議サーバ200のCPU201は、ホスト端末(例:クライアント端末100H)から表示画像を所定時間(例えば3秒間)受信できず、表示画像キューに連続して3秒間分の画像を記憶できなかったと判定した場合、
図9の930に示すように、931のメッセージを含むメッセージ画面を生成し、各ゲスト端末用の表示画像キューに最新の画像として記憶する。ゲスト端末はウェブ会議サーバ200上の自機用の表示画像キューから当該メッセージ画面の画像を取得して表示画面に表示する。なお、ウェブ会議サーバ200のCPU201は、メッセージ画面の画像を、例えゲスト端末に送信したとしても、新たな表示画像をホスト端末から受信するまで削除せずに表示画像キューの最新の画像として保持する。よって、ホスト端末からの表示画像の送信が再会されるまで、ゲスト端末には930に示すメッセージ画面が表示される。
【0102】
クライアント端末100HのCPU201は、ステップS605で画像の送信を停止したアプリケーションウィンドウのウィンドウIDを、メモリ上のアクティブウィンドウ750から取得し、許可情報740と照合して、当該ウィンドウIDの示すアプリケーションウィンドウが、他端末への画像の共有が未許可のウィンドウか否か判定する(ステップS607)。
【0103】
クライアント端末100HのCPU201は、未許可のウィンドウである場合には、処理をステップS608に移行し、
図9の910における912に示すような許可確認画面を表示する(ステップS608/確認画面表示を行う)。
図9の911は、アクティブ化されたアプリケーション003のウィンドウ906を示す。
【0104】
許可確認画面を表示することで、共有が未許可であるアプリケーションウィンドウがアクティブになることをユーザに通知することができる。
【0105】
また、当該アプリケーションウィンドウの画像の共有が一時停止されていることをユーザに通知することができる。
【0106】
クライアント端末100HのCPU201は、許可確認画面912において、ステップS605で画像の送信が停止されているアプリケーションウィンドウの画像の共有を許可する操作がされたか、共有を不許可とする操作がされたか判定する(ステップS609)。具体的には、912における「はい」ボタンの押下を受け付けた場合に、当該アプリケーションの共有を許可する旨の選択操作がされたと判定し、「いいえ」ボタンの押下を受け付けた場合に、当該アプリケーションの共有を許可せず、不許可とする旨の選択操作がされたと判定する。
【0107】
共有を許可する旨の操作を受け付けたと判定した場合、ステップS601、またはS602、またはS603の操作によりアクティブになった(アクティブウィンドウ750に記憶されているIDの)アプリケーションウィンドウの、他のクライアント端末100への共有を許可すべく、許可情報740のウィンドウID741の共有許可742を「許可」に書き替えて記憶・更新する(ステップS610)。そして、アクティブウィンドウの画像の共有(表示画像のウェブ会議サーバ200への送信/ウェブ会議サーバ200を介した他のクライアント端末100への表示画像の送信)を再開する(ステップS611)。つまり、表示画像の送信停止を解除する。
【0108】
なお、許可確認画面912において「いいえ」ボタンの押下を受け付けた場合には、ステップS601、またはS602、またはS603の操作によりアクティブになったアプリケーションウィンドウの、許可情報740の共有許可742を「不許可」に書き替えて記憶・更新する(ステップS612)。そして、許可確認画面を閉じる。つまり、アクティブになったアプリケーションウィンドウの共有が許可されていないため、共有が許可されているアプリケーションウィンドウがアクティブになるまでの間は、アクティブウインウの画像のウェブ会議サーバ200への送信は停止したままとし、ゲスト端末には、共有が許可されているアプリケーションウィンドウがアクティブになるまでの間、930に示すメッセージ画面が表示され続ける。
【0109】
一方、ステップS607において、共有許可742に既に「未許可」以外の値が記憶されている(「許可」または「不許可」が挿入されている)場合、処理をステップS613に移行する。
【0110】
ステップS613で、クライアント端末100HのCPU201は、ステップS605で共有が停止されている画像のアプリケーションウィンドウ(ウィンドウID741)の共有許可742に「許可」が登録されているか、「不許可」が登録されているか判定する(ステップS613)。つまり、当該画像の共有が許可されているか否かを判定する。
【0111】
「許可」が登録されている場合、処理をステップS611に移行する。「不許可」が登録されている場合、
図6の処理を終了する。つまり、当該アプリケーションウィンドウがアクティブになっている間は、表示画像のウェブ会議サーバへの送信を停止したままにする。以上が
図6の説明である。
【0112】
なお、上述した実施形態の説明においては、ステップS605で表示画像の送信を一度停止し、ステップS613で共有が許可されていると判定された場合に、当該表示画像の送信を再開するものとしたが、これでは共有が許可されているアプリケーションウィンドウをアクティブにした場合であっても、当該ウィンドウの画像の送信が一時中断されてしまう。
【0113】
当該表示画像の送信中断を防ぐために、例えば、ステップS605の直前に、アクティブウィンドウのOSへの問合せと特定、アクティブウィンドウ750への記憶を行い、当該アクティブウィンドウ750のウィンドウ(つまり、ステップS602、またはS603、またはS604の操作によってアクティブになるアプリケーションウィンドウ)の画像の他端末への共有が、許可情報740において許可されているか否かを判定し、共有が許可されていない(共有許可742=「未許可」または「不許可」)の場合に処理をステップS605に移行するようにしてもよい。共有が許可されている場合は
図6の処理を終了する。ステップS605で表示画像の共有を停止した後、ステップS606の代わりに、ステップS605で送信停止したアプリケーションウィンドウの画像の共有が「未許可」と設定されているか「不許可」と設定されているかを、許可情報740を参照して判定し、「未許可」と設定されている場合に処理をステップS607に移行し、「不許可」と設定されている場合に
図6の処理を終了するものとする。ステップS605の前に、例えばユーザ操作によってアクティブになるアプリケーションウィンドウの共有の許可状態を判定することで、共有が許可されているウィンドウの画像の送信の一時停止・中断を防止できる。また、共有が未許可の表示画像の共有許可・不許可のユーザへの確認、及び共有が不許可の画像の共有停止を行うことができる。
【0114】
また、ステップS611で共有が許可と登録されたウィンドウとステップS612で共有が不許可と登録されたウィンドウを識別可能に表示してもよい。具体的には、ステップS611で、共有が許可されたウィンドウのデスクトップ画面上の表示位置をOSに問い合わせて取得し、ウィンドウ上に
図10の1000におけるアイコン1001に示すような「共有許可」を示すアイコンを表示させる。共有が許可されているウィンドウがアクティブな場合、ゲスト端末の画面には
図10の1020に示すような画面が表示される。また、ステップS612で、共有が不許可とされたウィンドウのデスクトップ画面上の表示位置をOSに問い合わせて取得し、ウィンドウ上に
図10の1010におけるアイコン1011に示すような「共有不許可」を示すアイコンを表示させる。当該アイコンによる識別表示により、ユーザは共有が許可されたウィンドウと不許可のウィンドウとを、デスクトップ画面上で確認することができる。なお、共有が不許可とされているウィンドウがアクティブな場合、ゲスト端末の画面には
図10の1030に示す1031のような画面が表示される。1031の画面は、ステップS612でホスト端末のCPU201が、当該1031の画面の画像を生成して次機の表示画像キュー730に最新の画像として保持し続けることで、ゲスト端末に配信され、ゲスト端末の画面上に表示される。
【0115】
以上説明したように、本発明の第1の実施形態によれば、複数の端末で共有する表示画像の選択を容易にし、必要な画像を各端末に共有させる仕組みを提供することができる。
【0116】
また、2度目以降の表示画像の選択・指定のタイミングにおいて、一度共有が許可された表示画像を、共有を許可するか否かの確認を省略して各端末に共有することができる。
【0117】
また、2度目以降の表示画像の選択・指定のタイミングにおいて、一度共有が不許可とされたアプリケーションの画像を、共有を許可するか否かの確認を省略して、共有しないように制御することができる。
【0118】
また、ウィンドウを最小化してからしばらく経つと、当該最小化されているウィンドウにどのような内容が含まれているか忘れてしまう場合がある。また、ホスト端末の操作者が別の人間に交代した場合、最小化されているウィンドウにどのような内容が含まれているか分からない。つまり、一度共有が許可されたアプリケーションウィンドウでも、アクティブになる都度、画像の共有を一時停止し、本当に当該ウィンドウの画像を共有すべきかユーザに確認した方がよいことがある。よって、例えば許可情報740の共有許可742の値を、741に示すウィンドウIDのアプリケーションウィンドウが非アクティブになる(別のウィンドウの背面に移動する)都度、「未許可」に更新して記憶するようにしてもよい。これにより、非アクティブのウィンドウをアクティブにする操作を受け付ける都度、画像の共有を一時停止し、本当に当該ウィンドウの画像を共有すべきかユーザに確認させることができる。
【0119】
また、ホスト端末において、非アクティブなウィンドウであっても、
図9の903に示すようにアプリケーションウィンドウの全容が確認できている場合がある。どのような情報が含まれているウィンドウかユーザが分かっていて選択しているにも関わらず、アクティブにする都度、画像の共有を一時停止したり、共有の許可・不許可を確認させたりすることは、ユーザの手間を不要に増加させることになる。よって、例えば、許可情報740の共有許可742の値を、741に示すウィンドウIDのアプリケーションウィンドウが最小化されるイベントを検知する都度、「未許可」に更新して記憶するようにしてもよい。これにより、最小化されたウィンドウを再表示し、再度アクティブにする操作を受け付ける場合には、画像の共有を一時停止し、本当に当該ウィンドウの画像を共有すべきかユーザに確認させることができる。
【0121】
次に
図12を参照して、本発明の第2の実施形態について説明する。なお、第1の実施形態と共通する処理については説明を割愛する。
図12は、本発明の第2の実施形態における、各種データ構成の一例を示す図である。
【0122】
本発明の第2の実施形態では、所定のユーザが会議に参加している場合に、複数の端末で共有する表示画像の選択を容易にし、必要な画像を各端末に共有させる仕組みを提供することを目的とする。
【0123】
第2の実施形態においては、ユーザ情報700に権限ID1201が紐付けて登録・記憶したユーザ情報1200が、ウェブ会議サーバ200の外部メモリに記憶されている。ここでは1202に示すように3つの権限が用意されているものとする。これらの権限IDとアプリケーションを、
図12の権限対応情報1320に示すように、クライアント端末100Hの外部メモリに予め記憶しておく(ウェブ会議サーバ200の外部メモリに記憶しておき、ウェブ会議サーバ200へのログイン時にクライアント端末100が当該情報を取得して記憶する)。1251はアプリケーションIDであり、1252は、アプリケーションID1251に示すアプリケーションの共有が推奨(許可)されているユーザの権限IDである。
【0124】
図5のステップS502において、クライアント端末100HのCPU201は、当該起動中のアプリケーション一覧(アプリケーションIDの一覧)をウェブ会議サーバ200に送信する。また、当該アプリケーション一覧の中で、クライアント端末100Hからウェブ会議サーバ200へログインしているログインユーザと同じ会議にログインしているユーザ(ユーザID)に共有が許可されているアプリケーションと、共有が許可されていないアプリケーションのIDをウェブ会議サーバ200に問い合わせる。
【0125】
ウェブ会議サーバ200のCPU201は、受信したアプリケーションン一覧に含まれるアプリケーションのIDと、クライアント端末100Hのログインユーザと同じ会議に参加中のユーザ(クライアント端末100Hのユーザを含む)の権限IDとを用いて、当該問合せに従って、当該共有が許可されているアプリケーションと、共有が許可されていないアプリケーションのIDを特定し、各アプリケーションのIDと共有可否を対応付けたリストをクライアント端末100Hに送信する。
【0126】
例えば、会議に参加中のUser002の権限ID=2であり、User003の権限ID=3であり、
図12によれば、User002及びUser003には、アプリケーション003の画像表示の共有が推奨(許可)されていない。アプリケーション003の画像表示の共有が推奨されているのは、権限ID=1のUser001のみである。よって、アプリケーション001とアプリケーション002は、クライアント端末100Hのユーザが参加する会議で共有が許可されているアプリケーション、アプリケーション003は、クライアント端末100Hのユーザが参加する会議で共有が許可されていないアプリケーションである旨を示す情報を、クライアント端末100Hに送信する。
【0127】
クライアント端末100HのCPU201は、当該リストを受信して共有が許可されているアプリケーションを選択可能に、共有が許可されているアプリケーションを選択不可能にグレーアウトして、両アプリケーションを識別可能に選択画面811に表示する。ステップS503では共有を許可するアプリケーションの選択を受け付け、ステップS504で共有を許可するアプリケーションを決定する。ステップS505で、共有を許可するアプリケーションの一覧をメモリ上に記憶する(例えば
図12の許可情報1240を記憶する/共有を許可すると決定されたアプリケーションIDの1241に対応する共有許可1242には「許可」を記憶し、共有が不許可のアプリケーションとしてグレーアウト表示したアプリケーションID1241に対応する共有許可1242には「不許可」を記憶し、許可するアプリケーションとして選択されなかったアプリケーションID1241に対応する共有許可1242には「未許可」を記憶する)。ステップS507では共有が許可されているアプリケーションのウィンドウのうち、アクティブウィンドウを特定して表示画像キューに記憶し、ウェブ会議サーバに送信する。以降、ステップS509〜S518の処理を実行する。
【0128】
また、
図6のステップS607で、アクティブウィンドウのアプリケーションが、共有が未許可のアプリケーションか否か、許可情報1240を参照して判定する。未許可の場合には処理をステップS608に移行する。許可または不許可の場合には処理をステップS613に移行する。ステップS613では、アクティブウィンドウのアプリケーションが、共有が許可されているか不許可とされているか判定する。不許可の場合には
図6の処理を終了し、許可されている場合は処理をステップS611に移行する。ステップS608の処理を実行後、ステップS609で、共有を許可する操作がされたと判定した場合には処理をステップS610へ移行する。共有を不許可とする操作がされたと判定した場合には処理をステップS612へ移行する。ステップS610では、アクティブウィンドウのアプリケーションのIDに対応する(許可情報1240における)共有許可1242を「許可」に更新して記憶し、処理をステップS611に移行する。ステップS611では、アクティブウィンドウのアプリケーションのIDに対応する共有許可1242を「不許可」に更新して記憶し、
図6の処理を終了する。
【0129】
以上説明したように、第2の実施形態によれば、所定の権限のユーザが会議に参加している場合に、共有中の画像上において、未許可の画像を意図せず共有してしまうことを防止することができる。
【0131】
第3の実施形態においては、会議に参加しているユーザの端末の種類(種別)に応じて、未許可の表示画像を意図せず共有してしまうことを防止する仕組みを提供する。上述した各共通する処理については説明を割愛する。
【0132】
ウェブ会議サーバ200は、ステップS407で受信した要求に含まれる、入室要求した端末種別、通信方法の情報をそれぞれ端末種別1215、通信方法1216に挿入して記憶する。また、
図12の1260に示すように、アプリケーションID1261と、当該1261の示すアプリケーションの画像表示の共有が推奨(許可)されている端末種別1262を、クライアント端末100Hの外部メモリに予め記憶しておく(ウェブ会議サーバ200の外部メモリに記憶しておき、ウェブ会議サーバ200へのログイン時にクライアント端末100が当該情報を取得して記憶する)。
【0133】
図5のステップS502において、クライアント端末100HのCPU201は、起動中のアプリケーション一覧(アプリケーションIDの一覧)と、自機内の会議情報1210の1215、端末種別対応情報1260を参照して、クライアント端末100Hからウェブ会議サーバ200へログインしているログインユーザと同じ会議にログインしているユーザ(ユーザID)に共有が許可されているアプリケーションと、共有が許可されていないアプリケーションのIDを特定する。具体的には、クライアント端末100Hと同じ会議に参加中のユーザの端末に、アプリケーション003の画像表示の共有が推奨されていない端末種別のクライアント端末100が含まれるか判定する。例えば、クライアント端末100G1は端末種別=mobileであり、クライアント端末100G2は端末種別=pcである。
図12の1260によれば、クライアント端末100G1には、アプリケーション003の画像表示の共有が推奨されていない。アプリケーション003の画像表示の共有が推奨されているのは、端末種別=pcのクライアント端末100G2である。よって、アプリケーション003は当該会議において共有が許可されていないアプリケーションとして特定される。なお、
図12の1210、1260の情報によれば、アプリケーション001とアプリケーション002は、当該会議において共有が許可されているアプリケーションとして特定される。
【0134】
クライアント端末100HのCPU201は、共有が許可されているアプリケーションを選択可能に、共有が許可されているアプリケーションを選択不可能にグレーアウトして、両アプリケーションを識別可能に選択画面811に表示する。以降ステップS503〜S518の処理は、第2の実施形態で説明した処理と同一のため、説明は割愛する。なお、ステップS505では、ステップS504で共有を許可することが決定されたアプリケーションの一覧を許可情報1240としてメモリ上に記憶する(共有を許可すると決定されたアプリケーションIDの1241に対応する共有許可1242には「許可」を記憶し、共有が不許可のアプリケーションとしてグレーアウト表示したアプリケーションID1241に対応する共有許可1242には「不許可」を記憶し、許可するアプリケーションとして選択されなかったアプリケーションID1241に対応する共有許可1242には「未許可」を記憶する)。
【0135】
図6では、第3の実施形態のステップS505において記憶された許可情報1240(端末種別により共有が不許可である情報が記憶され、ユーザの選択操作により共有が許可されているか未許可が記憶されている情報)に基づいて、ステップS607、ステップS613の処理を、第2の実施形態の説明で上述した手法で実行する。以上が第3の実施形態の説明である。
【0136】
第3の実施形態によれば、会議に参加しているユーザの端末の端末種別に応じて、共有中の画像上において、未許可の画像を意図せず共有してしまうことを防止することができる。
【0138】
第4の実施形態においては、会議に参加しているユーザの端末の通信方法に応じて、未許可の画像を意図せず共有してしまうことを防止する仕組みを提供する。上述した各共通する処理については説明を割愛する。
【0139】
図12の1270に示すように、アプリケーションID1271と、当該1271の示すアプリケーションの画像表示の共有が推奨(許可)されている端末の通信方法1272を、クライアント端末100Hの外部メモリに予め記憶しておく(ウェブ会議サーバ200の外部メモリに記憶しておき、ウェブ会議サーバ200へのログイン時にクライアント端末100が当該情報を取得して記憶する)。
【0140】
図5のステップS502において、クライアント端末100HのCPU201は、起動中のアプリケーション一覧(アプリケーションIDの一覧)と、自機内の会議情報1210の1215、通信方法対応情報1270を参照して、クライアント端末100Hからウェブ会議サーバ200へログインしているログインユーザと同じ会議にログインしているユーザ(ユーザID)に共有が許可されているアプリケーションと、共有が許可されていないアプリケーションのIDを特定する。具体的には、クライアント端末100Hと同じ会議に参加中のユーザの端末に、アプリケーション003の画像表示の共有が推奨されていない通信方法を用いて通信するクライアント端末100が含まれるか判定する。例えば、クライアント端末100G1の通信方法はwirelessであり、クライアント端末100G2の通信方法はwire−lineである。
図12の1270によれば、クライアント端末100G1には、アプリケーション003の画像表示の共有が推奨されていない。アプリケーション003の画像表示の共有が推奨されているのは、通信方法1272=wire−lineのクライアント端末100G2である。よって、アプリケーション003は当該会議において共有が許可されていないアプリケーションとして特定される。なお、
図12の1210、1270の情報によれば、アプリケーション001とアプリケーション002は、当該会議において共有が許可されているアプリケーションとして特定される。
【0141】
クライアント端末100HのCPU201は、共有が許可されているアプリケーションを選択可能に、共有が許可されているアプリケーションを選択不可能にグレーアウトして、両アプリケーションを識別可能に選択画面811に表示する。以降ステップS503〜S518の処理は、第2の実施形態で説明した処理と同一のため、説明は割愛する。なお、ステップS505では、ステップS504で共有を許可することが決定されたアプリケーションの一覧を許可情報1240としてメモリ上に記憶する(共有を許可すると決定されたアプリケーションIDの1241に対応する共有許可1242には「許可」を記憶し、共有が不許可のアプリケーションとしてグレーアウト表示したアプリケーションID1241に対応する共有許可1242には「不許可」を記憶し、許可するアプリケーションとして選択されなかったアプリケーションID1241に対応する共有許可1242には「未許可」を記憶する)。
【0142】
図6では、第3の実施形態のステップS505において記憶された許可情報1240(通信方法により共有が不許可である情報が記憶され、ユーザの選択操作により共有が許可されているか未許可が記憶されている情報)に基づいて、ステップS607、ステップS613の処理を、第2の実施形態の説明で上述した手法で実行する。以上が第4の実施形態の説明である。
【0143】
第4の実施形態によれば、会議に参加しているユーザの端末の通信方法に応じて、共有中の画像上において、未表示の画像を意図せず共有してしまうことを防止することができる。
【0145】
第5の実施形態においては、アプリケーションウィンドウの画像に含まれる文字列に応じて、未許可の画像を意図せず共有してしまうことを防止する仕組みを提供する。上述した各共通する処理については説明を割愛する。
【0146】
図12の1220に示すように、文字列1221と、当該文字列を含む画像の共有を許可するか否かを示す共有許可1222を、クライアント端末100Hの外部メモリに予め記憶しておく(ウェブ会議サーバ200の外部メモリに記憶しておき、ウェブ会議サーバ200へのログイン時にクライアント端末100が当該情報を取得して記憶する)。また、起動しているアプリケーション(起動したアプリケーション)で開いているファイルの画像及びテキスト情報をウェブ会議サーバ200に送信し、ウェブ会議サーバ200がどのアプリケーション1232で開いているファイルにどの文字列1231が含まれているかを管理するアプリケーション文字列情報1230をメモリ上に生成して保持する。当該アプリケーション文字列情報1230をクライアント端末100が、ウェブ会議サーバ200に要求して取得し、メモリ上に記憶する。
【0147】
図5のステップS502において、クライアント端末100HのCPU201は、起動中のアプリケーションウィンドウの一覧と、文字列許可情報1220、アプリケーション文字列情報1230を参照して、共有が許可されているウィンドウと、共有が許可されていないウィンドウのIDを特定する。具体的には、文字列許可情報1220において共有許可1222が不許可となっている文字列1221を含むウィンドウのIDを、アプリケーション文字列情報1230を参照して特定し、共有が許可されていないアプリケーションンウィンドウとして決定・特定する。また、文字列許可情報1220において共有許可1222が不許可となっている文字列1221を含まないウィンドウのIDを、アプリケーション文字列情報1230を参照して特定し、共有が許可されているアプリケーションンウィンドウとして決定・特定する。
【0148】
クライアント端末100HのCPU201は、共有が許可されているアプリケーションを選択可能に、共有が許可されているアプリケーションを選択不可能にグレーアウトして、両アプリケーションを識別可能に選択画面811に表示する。以降ステップS503〜S518の処理は、第1の実施形態で説明した処理と同一のため、説明は割愛する。なお、ステップS505では、ステップS504で共有を許可することが決定されたアプリケーションの一覧を許可情報1240としてメモリ上に記憶する(共有を許可すると決定されたアプリケーションIDの1241に対応する共有許可1242には「許可」を記憶し、共有が不許可のアプリケーションとしてグレーアウト表示したアプリケーションID1241に対応する共有許可1242には「不許可」を記憶し、許可するアプリケーションとして選択されなかったアプリケーションID1241に対応する共有許可1242には「未許可」を記憶する)。
【0149】
図6では、ステップS606の直前に、アクティブウィンドウ(例:
図9のアプリケーション003のウィンドウ)で開いているファイルの文字列1231と、文字列許可情報1220を参照し、アクティブウィンドウで開かれているファイルが共有許可1322=「不許可」の文字列を含むファイルを開いているアプリケーションか否かを判定する。共有許可1322=「不許可」の文字列を含むファイルを開いている場合、
図6の処理を終了する。共有許可1322=「不許可」の文字列を含むファイルを開いていない場合、許可情報1240を参照して、当該アクティブウィンドウが共有が未許可のウィンドウか、許可されているウィンドウかを判定する。共有が許可されている場合には処理をステップS611に移行し、共有が未許可の場合には処理をステップS608に移行する。
【0150】
第5の実施形態によれば、共有中の画像上において表示するアプリケーションの画像に含まれる文字列に応じて、未許可の画像を意図せず共有してしまうことを防止することができる。
【0151】
例えば機密の文字列含む画像を意図せず共有してしまうことを防止することができる。
【0152】
以上説明したように、本発明によれば、複数の端末で共有する表示画像の選択を容易にし、必要な画像を各端末に共有させる仕組みを提供することができる。
【0153】
なお、上述した各実施形態の発明は、それぞれ自由に組み合わせて実行可能であるものとする。
【0154】
また、上述した実施形態の説明においては、クライアント端末100のCPU201は、アクティブウィンドウの変更操作を受け付けた場合に、新たにアルティブになったアプリケーションウィンドウの画像(表示画像)のサーバ200への送信を一時停止することで、不要な画像の共有を防止するものとしたが、例えば、自機からサーバ200への当該表示画像の送信を停止することなく、サーバ200に対して当該表示画像の各クライアント端末100への配信を停止するよう指示して、配信を停止させることで、不要な画像の共有を防止するようにしてもよい。具体的には、表示画像用キューへの表示画像の記憶をしないようにサーバ200に指示し、当該指示を受け付けたサーバ200のCPU201が、ホストであるクライアント端末100Hから受信した表示画像を、表示画像用のキューに記憶することなく破棄することで、当該表示画像の配信を停止する。
【0155】
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
【0156】
具体的には、ホスト端末(クライアント端末100H)の実行していた、
図6のステップS601〜ステップS613の処理をウェブ会議サーバ200が実行するようにしてもよい。この場合、ホスト端末のOSが発行するイベント監視や、当該OSへの各種問合せは、ウェブ会議サーバ200のCPU201が、ネットワーク150を介してホスト端末と通信して問い合わせ、検知・実行するものとする。また、クライアント端末100が記憶する
図7、
図12の各種データは、クライアント端末100が取得する都度、ウェブ会議サーバ200に送信し、これを受信したウェブ会議サーバ200が自機のメモリに受信した各種データを記憶するものとする。
【0157】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【0158】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0159】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
【0160】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【0161】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0162】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0163】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0164】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【0165】
尚、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。
即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。