以下、図面を参照して、本発明の実施の形態の一例について説明する。
まず図1を参照して、本発明の第1の実施形態における、情報処理システムの構成の一例について説明する。
本発明のウェブ会議システムは、例えば、パーソナルコンピュータを適用可能な情報処理装置であるクライアント端末100(100G1、100G2)と各クライアント端末でウェブ会議システムを利用可能にするウェブ会議サーバ200(サーバ装置(情報処理装置の1つ))がネットワーク150を介して通信可能に接続され、構成されている。
ウェブ会議サーバ200は、ウェブブラウザを利用したウェブ会議を実現するためのサーバであり、クライアント端末100からのアクセスに応じて、各クライアント端末100で入力を受け付けたユーザIDのユーザが参加する会議の画面であるウェブ会議画面(インタフェース/例えばhtmlで表現される画面を表示するための情報)をそれぞれのクライアント端末100に送信して表示させる。当該会議画面の提供(会議画面に表示する会議画像及び指定画像の提供)により、複数のクライアント端末100によりウェブ会議を行うサービスを提供する。
ここでいう会議画像とは、会議に参加中のユーザのユーザIDが入力された各クライアント端末100で撮像され、ウェブ会議サーバ200に送信されている画像である撮像画像であり、例えば、ユーザ自身の顔を写した画像である。また、ここでいう指定画像とは、クライアント端末100の入力部を介して、ユーザ操作に応じて指定を受け付けた、クライアント端末100からウェブ会議サーバ200に送信されている画像である。指定画像は、例えば当該指定画像の指定を受け付け、ウェブ会議サーバ200への送信処理を行っているクライアント端末100のデスクトップ画面に表示しているデスクトップ画像である。
クライアント端末100は、例えば100Hに示すようなデスクトップPCや、100G1のようなノートPC、100G2のようなタブレットPCである。クライアント端末100は、ウェブ会議サーバ200から受信した会議画面に、同じくウェブ会議サーバ200から受信した画像や映像(会議画像)や、指定画像を表示する。
本実施形態においてクライアント端末100には、ウェブ会議サーバ200へアクセスするためのウェブブラウザ、及び専用のモジュールがインストールされているものとする。なお、この専用のモジュールは、例えば、ウェブブラウザを介して、ウェブ会議サーバ200からダウンロードするActiveXコンポーネントである。なお、ウェブ会議において自身の動画像を送信する場合は、ビデオデバイスである(ウェブカメラ等の)カメラ101を接続する。音声を送信する場合は、マイク102を接続し、相手の音声を視聴するためにはスピーカ103を接続する。マイク102およびスピーカ103はオーディオデバイスである。
また、図1においては各デバイスを別々の筐体として例示しているが、例えば101〜103が同じ筐体のハードに備えられているデバイスを用いてもよい。例えばカメラ機能とマイク機能や、マイク機能とスピーカ機能、および全ての機能を備えたデバイスである。また、クライアント端末100に101〜103のデバイスが内蔵されている場合、これらの内蔵されているデバイスを用いて、画像、音声等を入力・出力するようにしてもよい。
本実施形態のウェブ会議システムは、クライアント端末100に表示されている画面の画像を他のクライアント端末(100G1、100G2等)の画面に表示する、画面共有(指定画像の表示の共有処理)を行うことができる。共有される指定画像は、クライアント端末100で指定することが可能である。例えばユーザ操作により指定されたアプリケーションの画面のみを指定画像として共有することができる(アプリケーション共有)。また、クライアント端末100に表示されているデスクトップ画面の指定を受け付けることで、当該デスクトップ画像全体を指定画像として共有することができる(デスクトップ共有)。また、クライアント端末100を指定することで(または自装置のカメラで撮像した画像を全画面表示する操作を受け付けることで)、当該カメラで撮像した画像を指定画像として共有することができる。
また、本ウェブ会議システムは、ルームと呼ばれる仮想の会議室をウェブ会議サーバ200において複数生成、記憶、管理することができる。各クライアント端末100を操作するユーザは、自身のユーザID・パスワードを用いて、ウェブブラウザ経由でウェブ会議サーバ200にアクセスしてログインし、自身のユーザIDを用いて当該ルームに入室することで、当該ルームにおいて開催される会議に参加することができる。以上が図1の説明である。
以下、図2を用いて、本発明の第1の実施形態における、ウェブ会議サーバ及びクライアント端末のハードウェア構成の一例について説明する。
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
であってもよい。また、例えばプロジェクタのような外部出力装置であってもよい。
また、205は入力コントローラで、キーボード(KB)209や不図示のマウス等のポインティングデバイス、タッチパネル、カメラ等からの入力を制御する。
であってもよい。また、例えばプロジェクタのような外部出力装置であってもよい。
206はビデオコントローラで、CRTディスプレイ(CRT)210等の表示器(外部出力装置)への表示を制御する。なお、図2では、CRT210と記載しているが、表示器はCRTだけでなく、液晶ディスプレイや、マルチタッチスクリーン等の他の表示器であってもよい。また、例えばプロジェクタのような外部出力装置であってもよい。
なおビデオコントローラ207は、表示制御を行うためのビデオメモリ(VRAM)を制御することが可能で、ビデオメモリ領域としてRAM203の一部を利用することもできるし、別途専用のビデオメモリを設けることも可能である。本実施形態においては、各クライアント端末100は、クライアント端末100を通常する場合の表示に用いられる第1のビデオメモリ領域と、所定の画面が表示される場合に、第1のビデオメモリ領域の表示内容に重ねて別の表示をするために用いられる第2のビデオメモリ領域を有している。ビデオメモリ領域は2つに限ったものではなく、情報処理装置の資源が許す限り複数有することが可能なものとする。
212は、音声入出力コントローラで、マイク/スピーカ213(図1における102及び103)からの入出力を制御する。マイクから入力された音声を音声認識することが可能となっている。スピーカにはイヤホンを接続することも可能である。
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
208は通信I/Fコントローラで、ネットワーク(例えば、図1に示したネットワーク150(例:LAN等))を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信や、ISDNなどの電話回線、および携帯電話の3G回線を用いた通信が可能である。等が可能である。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
また、外部メモリ211等の、情報を永続的に記憶するための記憶装置(記憶媒体)は、その形態をハードディスク等の記憶装置に限定するものではない。例えば、SSD(Solid State Drive)などの媒体であってもよい。
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。以上が図2の説明である。
次に図3を参照して、本発明の第1の実施形態における、各種装置の機能構成の一例について説明する。
クライアント端末100は、画像記憶部311、送信制御部312、許可情報記憶部313、最小化アプリケーション監視部314、アプリケーション起動監視部315、選択画面表示部制御部316等を備えている。
ウェブ会議サーバ200は、会議情報記憶部321、受信制御部322、画像記憶部323、送信制御部324等を備えている。
会議情報記憶部321は、どのユーザが、どの会議室に入室してどのユーザと会議を行っているかを記憶する記憶部である。
送信制御部312は、カメラにおいて撮像され入力された画像(映像)や、ユーザ操作等により表示を共有する画像として指定された指定画像(デスクトップ全体または指定アプリケーションの画面の画像)を、ウェブ会議サーバに送信制御する送信制御部である。送信された画像は、ウェブ会議サーバ200の受信制御部322で受信され、メモリ上の画像記憶部323(キュー)に格納される。
画像記憶部311は、送信制御部312によって送信する画像と同じ画像を記憶する記憶部(キュー)である。キューには、クライアント端末100の撮像装置によって撮像される撮像画像(会議画像)用のキューと、ユーザ操作により指定された指定画像(クライアント端末100のデスクトップ画面の画像等)のキューがある。
撮像画像用のキューには撮像画像を順次記憶する。カメラは継続的に撮像処理(動画の撮像及びクライアント端末100への動画の入力)を行うため、キューには、動画を構成する複数の画像が、動画内のフレームごとに順々に記憶される。指定画像用のキューには、指定画像を所定時間ごとに記憶する。例えば0.2秒ごとに、クライアント端末100のデスクトップ画面に表示されているデスクトップ画像を順次記憶する。記憶される各指定画像は、例えばデスクトップ画像を繋ぎ合わせて再生する動画の1フレームである。
受信制御部322は、クライアント端末100の送信制御部312より送信された会議画像(映像)、および指定画像、音声を受信する受信部である。送信制御部324は、受信制御部322で受信した画像、指定画像、音声等を、同じ会議に参加している(同じ会議室に入室中の)、当該画像や音声の送信元のクライアントとは別の、他のクライアント端末100に受信させるべく送信する制御部である。
なお、本実施形態においては、各クライアント端末100がウェブ会議サーバ200に対して、画像記憶部323からの画像の取得要求を行うことで、当該要求に応じてウェブ会議サーバ200の送信制御部324が要求元のクライアント端末100に対して、当該要求受付時におけるキュー内の最新の画像を送信するものとする。クライアント端末100は、要求した画像を受信した後、当該受信した画像(動画内の1フレーム)を表示画面に表示する。そして当該表示と並行して、当該動画内の次の画像をウェブ会議サーバ200に要求する。会議が終了する等、動画の表示が終了するまで、当該画像の要求と表示を繰り返す。
送信制御部324は、各クライアント端末100からの要求に応じて、画像記憶部323に記憶されている会議画像や指定画像を要求元のクライアント端末100に送信する制御部である。
最小化アプリケーション監視部314は、最小化されているアプリケーションの最小化解除(ウインドウの最大化等によるデスクトップ画面への表示)を監視する監視部である。例えば、指定画像の共有開始時点において最小化されているアプリケーションの識別情報をメモリ上に記憶し、OSにおけるこれらのアプリケーションの最小化解除のイベントを監視する。例えばOSによって発行される最小化ウインドウの最大化のイベントを検知する。
アプリケーション起動監視部315は、アプリケーションの新たな起動処理を監視する。例えば、指定画像の共有開始時点において起動されているアプリケーションの識別情報をメモリ上に記憶し、OSにおけるこれらのアプリケーション以外のアプリケーションの起動イベントを監視する。例えばOSによって発行されるアプリケーションの起動イベントを検知する。
選択画面表示制御部316は、最小化アプリケーションの最小化を解除する操作を受け付けた場合に、当該最小化を解除する操作を受け付けたアプリケーションの画像(例:アプリケーションのウインドウ)を含む指定画像(例:デスクトップ画像)を共有するか(共有を許可するか)ユーザに選択させる選択画面を表示制御する処理部である。
許可情報記憶部313は、選択画面において、共有を許可する選択がされたアプリケーション、まだ許可されていないアプリケーション、不許可が選択されたアプリケーションを記憶する記憶部である。
表示制御部317は、カメラから入力された画像(映像/動画)、及び、複数のクライアント端末間で共有する画像として指定されたデスクトップ全体の画像または指定されたアプリケーションのウインドウに表示される画面画像を表示画面に表示する制御部である。また、送信制御部324により送信された画像(会議画像や指定画像)を受信して、受信した画像をメモリ上の受信画像用のキュー(画像記憶部311)に記憶し、当該メモリ上のキューから画像を順次取得して、連続して表示画面に表示させ、動画として再生表示する。
また、共有が未許可のアプリケーションウインドウの画像及び共有が許可されなかった(不許可の)アプリケーションウインドウの画像を黒くマスキング(マスク処理)したデスクトップ画像を表示し、共有が許可されたアプリケーションウインドウの画像を含むデスクトップ画像を表示する。以上が図3の説明である。
次に図4を参照して、本発明の第1の実施形態における、画像送信処理の流れについて説明する。
クライアント端末100のCPU201は、ウェブ会議サーバ200の提供するウェブ会議サービスを享受するために、ブラウザソフト上におけるユーザ操作に応じて所定のURLにアクセスし、不図示のログイン画面を表示する。そして、当該ログイン画面においてユーザIDとパスワードの入力を受け付けて、「ログイン」ボタンの押下を受け付けることで、ウェブ会議サーバ200へのログイン要求を送信する(ステップS401)。
ウェブ会議サーバ200のCPU201は、当該ログイン要求を受け付け(ステップS402)、自装置の外部メモリに予め記憶されているユーザ情報(ユーザID及びパスワード/図8の800に例示)と突き合わせて認証処理(ログイン処理)を行う。認証が成功した場合(受信したユーザIDを用いたウェブ会議サーバ200へのログインが成功した場合)、不図示のメニュー画面の画面情報(例えばhtml情報)を生成して、クライアント端末100に送信する(ステップS403)。
クライアント端末100のCPU201は、当該画面情報を受信して、受信した画面情報に基づいて不図示のメニュー画面を表示画面に表示する(ステップS404)。クライアント端末100のCPU201は、当該メニュー画面に含まれる不図示のルーム(ルームの識別情報)の選択部において、ログインユーザが入室するルームの選択操作を受け付け(ステップS405)、同画面に含まれる不図示の「入室」ボタンの押下を受け付けることで、選択中のルームへの入室要求をウェブ会議サーバ200に送信する(ステップS406)。
クライアント端末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に送信する。
ウェブ会議サーバ200のCPU201は当該入室要求を受け付けると(ステップS407)、要求されたルーム(会議室)にユーザを入室させる入室処理を実行する(ステップS408)。
ここでは、入室処理に際して、どのユーザが、どの会議室のどの会議に、どのような端末種別のどの端末で、どのような通信方法で通信をして入室しているかを登録・記憶する。
具体的には、図8の会議情報810の会議室811に入室するルームのルームIDを、参加者ID813に入室させるユーザのユーザIDを追加する。また、当該ルームに入室中のユーザがいなかった場合は(無人のルームに入室した場合は)、会議を識別する会議IDを発行して会議ID812に挿入、記憶する。2人目以降の場合は、同ルームに入室中のユーザID(参加者)の参加している会議の会議ID(入室中のルームに対応する会議ID)を会議ID812に記憶するものとする。また、ステップS407で受け付けた入室要求に含まれていたクライアント端末100の端末IDを端末ID814に挿入する。第1の実施形態においては、受信した端末種別、通信方法の情報は記憶しない。(後述するその他の実施形態においては、例えば端末種別を端末種別1315に、通信方法を通信方法1316に挿入して記憶する。)
入室処理が完了すると、ウェブ会議サーバ200のCPU201は、図15に示すような、各クライアント端末100のカメラにより撮像された会議画像を表示する会議画面の画面情報(例えばhtml情報)を、入室したユーザのユーザIDの送信元のクライアント端末100に送信する(ステップS409)。
クライアント端末100のCPU201は当該会議画面の画面情報を受信し、受信した画面情報に基づいて会議画面を表示する(ステップS410)。以降、会議が終了するまで(会議の終了についてはステップS424で後述)、ステップS411〜ステップS423の処理を実行・継続するものとする。
クライアント端末100のCPU201は、自装置に接続されている(又は自装置に内蔵される)カメラ101からの画像(映像)の入力を受け付けて、カメラ101で撮像された画像(映像/会議画像)を取得し(ステップS411)、会議画面上に表示する(ステップS412)。例えば図15の会議画面における、表示領域1504に、自装置のカメラで撮像した画像を表示する。図15において1501は画像を大きく表示するメイン表示領域であり、1502、1503、1504は画像を小さく表示するサブ表示領域である。また、1505は、同じ会議に参加中の他のクライアント端末100と共有する指定画像を指定させるための「指定画像ボタン」である。
クライアント端末100のCPU201は、カメラ101からの入力画像(映像)を会議画面に表示する一方で、映像コーデックによる画像(映像)の圧縮処理を行い、圧縮後の画像を、1フレームごとに、順々に自装置のメモリ上のキューに保存・記憶する(ステップS413)。
キューの一例を図8の会議画像キュー820に示す。会議画像キュー820は、各画像の識別番号(識別情報)であり、画像の順序を示すシーケンス番号821と、画像の実体(画像データ/映像の中の1フレームの画像)である画像822の項目から構成される。クライアント端末100のCPU201は、カメラ101から取得した映像の各フレームの画像について、当該画像を取得した順にシーケンス番号を割り振って、会議画像キュー820に記憶する。
クライアント端末100のCPU201は、会議画像キュー820に保存した画像を、ウェブ会議サーバ200に、シーケンス番号と共に送信する(ステップS414)。つまり、会議画像キュー820に示す情報をウェブ会議サーバ200に送信する。
ウェブ会議サーバ200のCPU201は、当該画像(圧縮データ)を受信し(ステップS415)、自装置のメモリ上に保持している、当該画像の送信元のクライアント端末100(端末ID814)でのログインユーザの会議画像キュー(構成は会議画像キュー820と同じ)に追加して記憶する(ステップS416)。ウェブ会議サーバ200のCPU201は、ユーザの会議室への入室処理が行われた場合に、当該ユーザごとに(会議室に参加者ID813に入室したユーザのユーザIDごとに)会議画像キューを生成してメモリ上に保持する。当該ウェブ会議サーバのメモリ上の会議画像キューには、クライアント端末100より受信した、会議画像キュー820のシーケンス番号821、画像822と同じ情報を対応付けて記憶する。
クライアント端末100のCPU201は、ステップS417において、他の会議参加者の画像(同じルームに入室している他の入室者のユーザIDの会議画像キューの画像)の取得要求をウェブ会議サーバ200に送信する(ステップS417)。
ウェブ会議サーバ200のCPU201は当該取得要求を受け付け(ステップS418)、要求元のクライアント端末100(端末ID814)でのログインユーザ以外の、当該ログインユーザと同じルームに入室中のユーザのユーザIDを、会議情報810を参照して特定し、特定した他の入室者の会議画像キューの画像のうち、最新のシーケンス番号(最も後ろの番号)の画像を取得し(ステップS419)、取得した各クライアント端末100のカメラで撮像された画像(会議画像)を、当該画像に対応するユーザIDと共に要求元のクライアント端末100に送信する(ステップS420)。
クライアント端末100のCPU201は、ステップS420で送信された画像(圧縮データ)を受信し(ステップS421)、映像コーデックによる伸長処理を行って映像(画像)を復元して、表示中の会議画面に表示する(ステップS422)。例えば図15の1500においてはメイン表示領域1501にUser002の画像(映像)、1502、1503等のサブ表示領域にUser003、User004の画像(映像)が割り当てられている。また、1504に、ログインユーザであるUser001自身の画像(映像)が割り当てられている。どの表示領域にどのユーザの画像を表示するかの対応付け情報(表示領域のIDとユーザIDを対応付けた情報)は、クライアント端末100のメモリに記憶されているものとする。クライアント端末100のCPU201は、受信した画像を、それぞれの画像のユーザに対応する表示領域に表示することで、各ユーザの画像(会議画像)の表示を更新し、動画像(映像)として再生・表示する。
クライアント端末100のCPU201は、会議が終了したか判定する(ステップS423)。例えば、クライアント端末100において、不図示の「退出ボタン」の押下操作を受け付けた場合に、ログインユーザにとっての会議終了がされたと判定するものとする。また、ルーム使用の終了時刻がウェブ会議サーバに記憶されている場合、当該終了時刻になるとウェブ会議サーバ200のCPU201はウェブ会議を強制終了し、当該強制終了した旨を強制終了した会議に参加していたユーザのクライアント端末100に通知する。各クライアント端末100のCPU201は、当該強制終了の通知を受け付けた場合に、会議が終了したものと判定する。ウェブ会議が終了した場合には図4の処理を終了し、継続中の場合には処理をステップS411に移行する。
ウェブ会議を行う場合、実際には、複数のクライアント端末100が存在する場合があるため、ウェブ会議サーバ200のCPU201は、ステップS402〜S409をウェブ会議サーバ200にログインしたクライアント端末100の数だけ実行することとなる。また、ステップS415〜S420の処理を、ウェブ会議に参加(ルームに入室)したユーザのクライアント端末100の数だけ実行することとなる。以上が図4の説明である。
次に図5を参照して、本発明の第1の実施形態における、指定画像送信処理の流れについて説明する。
クライアント端末100HのCPU201は、指定画像の指定及び共有指示を受け付ける(ステップS501)。例えば図15の会議画面における「全画面」ボタンの押下を受け付けた場合に、当該「全画面」ボタンの押下を受け付けたクライアント端末100Hのカメラ102で撮像された、ウェブ会議サーバ200に送信中の会議画像を指定画像として決定し、指定画像の共有指示を受け付けたものと判定する。また、例えば図15の会議画面における「指定画像」ボタンの押下を受け付けることでクライアント端末100Hが表示する図15の1511の指定画像選択画面(表示を共有する対象としてクライアント端末100Hのデスクトップ画面の画像を選択可能な選択部と、クライアント端末100Hで起動中のアプリケーションの中から画面(ウインドウの画像)の表示を共有するアプリケーションの選択を受け付ける選択部(アプリケーションの一覧))を表示し、当該選択画面において画面の表示(画像)を共有するアプリケーション又はデスクトップの選択を受け付けた場合に、選択された画面の画像を指定画像とすることを決定し、指定画像の指定及び共有指示を受け付けたものと判定する。
本実施形態において、指定画像の共有元(送信元)のクライアント端末100はホスト端末であり、共有先(送信先)のクライアント端末100はゲスト端末であるものとする。また、ステップS501においては、クライアント端末100Hのデスクトップ画像が指定画像として指定されたものとする。
クライアント端末100HのCPU201は、当該指定画像を自装置の記憶部(メモリ)から取得する(ステップS502)。例えばクライアント端末100HのOS(オペレーティング・システム)にデスクトップ画面の画像を要求して取得し、図9の900に示すように全画面表示する(ステップS502)。
図9は、本発明の第1の実施形態における、デスクトップ共有画面の構成、選択画面の構成及び未許可の最小化画像表示時の画面遷移の様子の一例を示す図である。
図9の900は、ホスト端末から同じ会議に参加中の各ゲスト端末に送信(共有)される画面であり、当該共有がされることによりホスト端末であるクライアント端末100H、及びゲスト端末であるクライアント端末100G1、クライアント端末100G2にそれぞれ表示されている画面を示す。
図9の900によれば、デスクトップ共有の開始時(デスクトップ画像が指定画像として指定された時点)において、既にアプリケーション001(アプリケーションID=App001)とアプリケーション002(アプリケーションID=App002)の2つのアプリケーションが起動している。アプリケーション001、および、アプリケーション002のウインドウは最小化されておらず通常表示されている(902及び903に例示)。タスクバーには起動中の3つのアプリケーションが表示されている(904〜906に例示)。マウスカーソル907は、デスクトップ共有の開始時に最小化されているアプリケーション003を起動するため、907にカーソルを合わせている状態である。
図5の説明に戻る。クライアント端末100HのCPU201は、取得した指定画像を、シーケンス番号と対応付けて指定画像用の画像キュー(クライアント端末100Hのメモリ上に生成するキュー/図8の指定画像キュー830)に記憶し、ウェブ会議サーバ200に送信する(ステップS503)。なお、ここでいう指定画像キュー830の構成は図8の会議画像キュー820と同一であるものとする。つまり、指定画像と、指定画像のシーケンス番号とを対応付けて記憶した情報である。合わせて、クライアント端末100Hでログイン中のユーザIDをウェブ会議サーバ200に送信する。その後、処理をステップS504に移行し、本発明の第1の実施形態における、最小化画像の表示処理を実行する。ステップS504の処理の詳細は図6の説明にて後述する。また、ステップS504の実行後、処理をステップS505に移行し、本発明の第1の実施形態における、新たなアプリケーションの起動処理を実行する。ステップS505の処理の詳細は図7の説明で後述する。
ウェブ会議サーバ200のCPU201は、当該指定画像を受信する(ステップS506)。ウェブ会議サーバ200のCPU201は、指定画像の共有を開始する旨を、クライアント端末100Hのユーザ(ここではUser001)と同じ会議に参加中のユーザ(User002、User003、User004)がユーザIDを入力してログインに用いた他のクライアント端末100(100G1、100G2、100S)に送信する(ステップS507)。ここでは一例としてクライアント端末100G1を例に挙げて説明する。なお、既に指定画像の共有中の場合は、ステップS507の処理はスキップし、ステップS508に移行する。
ウェブ会議サーバ200のCPU201は、指定画像を自装置のメモリ上に指定画像用の画像キュー(指定画像キュー830と同じ)をメモリ上に生成して記憶する。具体的には、クライアント端末100HのユーザのユーザIDと、フレームごとの指定画像と、各指定画像のシーケンス番号と、当該指定画像を送信済みの送信済みユーザを記憶する(ステップS508)。
クライアント端末100G1のCPU201は、指定画像の共有開始の通知を受け付けると(ステップS509)、指定画像をウェブ会議サーバ上の指定画像キューから取得すべく、当該指定画像の取得要求をウェブ会議サーバ200に送信する(ステップS510)。
ウェブ会議サーバ200のCPU201は当該指定画像の取得要求を受け付け(ステップS511)、指定画像用の指定画像キューの中に記憶されている、最新のシーケンス番号(最も後ろの番号)の指定画像を取得し(ステップS512)、当該指定画像を要求元のクライアント端末100G1に送信する(ステップS513)。
クライアント端末100G1のCPU201は、ステップS513で送信された指定画像を受信し(ステップS514)、図9の900に示すように、受信した指定画像(ここではクライアント端末100Hのデスクトップ画像)を全画面表示する。他のクライアント端末100(例えば100G2)も同様に、指定画像の取得要求を行い、当該指定画像を受信して全画面表示する(ステップS515)。
クライアント端末100HのCPU201は、ステップS516において、指定画像の共有を終了する操作を受け付けたか判定する(ステップS517)。例えば図9の900における「×」ボタン901(「閉じる」ボタン)の押下を受け付けた場合に、指定画像の共有を終了する操作を受け付けたと判定し、指定画像の共有の終了をウェブ会議サーバ200に通知して、図5の処理を終了する。ウェブ会議サーバ200のCPU201は当該終了の通知を受け付け、当該終了の通知を他のクライアント端末100にも通知し、通知を受け付けた他のクライアント端末100のCPU201は、指定画像の全画面表示を終了して、図15に示すような会議画面を表示画面に表示する。指定画像の共有を終了する操作を受け付けていない場合は、処理をステップS502に移行し、指定画像の共有を継続する。以上が図5の説明である。
次に図6を参照して、本発明の第1の実施形態における、新たなアプリケーションの起動処理の流れについて説明する。
クライアント端末100HのCPU201は、現在(指定画像の共有開始時に(デスクトップ共有の開始時に))OSに対して、起動中のアプリケーションを問い合わせて取得し、起動中のアプリケーションにおうちデスクトップ画面上で最小化されているアプリケーションの一覧をOSに問い合わせて(当該問い合わせに応じてOSが最小化中のアプリケーションの識別情報の一覧を応答することで当該最小化中のアプリケーションの識別情報の一覧を)取得する(ステップS601)。最小化されているアプリケーションウインドウは、非アクティブなアプリケーションウインドウである。そして、許可情報840のテーブルをメモリ上に生成して記憶し、取得した最小化アプリケーションの一覧をメモリ上のテーブル(図8の最小化アプリケーション一覧850に例示)に記憶する(ステップS602)。また、OSから取得した起動中のアプリケーション一覧を(最小化されていなアプリケーション及び最小化されているアプリケーションの一覧を)記憶する。許可情報840は、どのアプリケーションID841のアプリケーションの画像が共有許可(842/共有先のユーザへの閲覧許可)されているかを記憶する情報(閲覧許可情報記憶手段に該当)である。デスクトップ共有が開始された時点でデスクトップ上にウインドウが表示されていた(最小化されていない)アプリケーションの共有許可842には、「許可」=他のクライアント端末への画像の共有を許可されている状態を示す値を記憶する。また、デスクトップ共有が開始された時点で最小化されていたアプリケーションの共有許可842には、「未許可」=共有を許可するか否か未決定の状態を示す値を記憶する。なお、「不許可」=共有が許可されていない状態を示す値が記憶されるタイミングについては後述する。
クライアント端末100HのCPU201は、最小化アプリケーション一覧に記憶した各最小化アプリケーションに対するイベントの監視を開始する(ステップS603)。OSから発行される、当該最小化アプリケーションの最小化を解除する(アプリケーションウインドウがアクティブになる)イベントを検知するまで監視を継続し、ある最小化アプリケーションで該イベントを検知すると(ステップS604でYES)、処理をステップS605に移行する。例えば、図9でいう、タスクバーに最小化されたアプリケーション003(アプリケーションID=App003)にカーソル907が合わさった状態でダブルクリック操作を受け付けたというイベントを検知した場合に、当該アプリケーション003の最小化を解除するイベントを検知したと判定する。最小化解除のイベントを検知した場合は、当該最小化が解除される(当該イベントを検知した)アプリケーションの識別情報であるアプリケーションIDをOSから取得する。
ステップS605では、当該最小化が解除されるイベントが検知された、最小化が解除されるアプリケーションの識別情報(アプリケーションID)を取得し、取得したIDを有する許可情報840の共有許可842を参照して、当該最小化が解除されるアプリケーションの画像(画面)の共有を許可するか否かが未決定か判定する(ステップ605)。未決定の場合(842の値が「未許可」の場合)、図9の910における911に示すように、ステップS502で取得したデスクトップ画面の中で、当該共有許可842が未許可の、最小化が解除されたアプリケーション003のウインドウ領域をマスク処理する(ステップS606)。具体的には、デスクトップ画像(デスクトップ画面)におけるどの座標・領域がアプリケーション003のウインドウ領域かを示す情報(例えば4組のX,Y座標によって示される4点。この4点を頂点とする矩形領域がアプリケーション003のウインドウ領域であるものとする)をOSに問い合わせて取得し、指定画像キュー830に記憶されている最新の指定画像(ここではデスクトップ画像)の、当該OSから取得した情報(上述した4点)から特定される領域にマスク処理を施して、同じシーケンス番号の画像832に上書きするものとする。
また、図9の912に示す選択画面(共有確認ダイアログ)を共有中の画面上(画像上)に表示することで(ステップS607)、当該アプリケーション003が未だ共有許可されていないことを通知する。また、当該アプリケーション003の画面の画像を他の会議参加者のクライアント端末100(例:100G1、100G2)に共有(送信)することを許可するか否かを問い合わせる。例えば当該共有を許可するということは、マスキングを解除するということである。
クライアント端末100HのCPU201は、マスキングされているアプリケーション003(指定画像の(デスクトップの)共有開始時に当該指定画像中にウインドウ画面が表示されていなかったアプリケーション)の共有の許可を選択する操作がされたか、共有を不許可とする選択操作がされたか判定する(ステップS608)。具体的には、912における「はい」ボタンの押下を受け付けた場合に、当該アプリケーションの共有を許可する旨の操作がされたと判定し、「いいえ」ボタンの押下を受け付けた場合に、当該アプリケーションの共有を許可せず、不許可とする旨の操作がされたと判定する。
共有を許可する旨の操作を受け付けたと判定した場合、当該アプリケーション003のアプリケーションウインドウ領域のマスク処理を解除する(ステップS609)。そして、実行中の指定画像の共有(デスクトップ共有)終了までの間、当該アプリケーション003の共有を許可すべく、許可情報840のアプリケーションID841=App003の共有許可842を「許可」に書き替えて記憶・更新する(ステップS610)。その後、図6の処理を終了して、(ステップS506の処理実行後、デスクトップ共有の終了指示を受け付けていない場合は)処理をステップS502に移行し、)あらためてデスクトップ画像を取得して(例えば図10に示す、アプリケーション003のウインドウ1001が表示されている画面の画像1000を取得して)、ステップS503で当該デスクトップ画像をウェブ会議サーバ200を介して、他のクライアント端末100(例:100G1、100G2)に送信する。
なお、選択画面912において「いいえ」ボタンの押下を受け付けた場合には、アプリケーション003のウインドウのマスキングは継続し、実行中の指定画像の共有(デスクトップ共有)終了までの間、当該アプリケーション003の共有を不許可とすべく、許可情報840のアプリケーションID841=App003の共有許可842を「不許可」に書き替えて記憶・更新する(ステップS613)。「はい」ボタン、「いいえ」ボタンのいずれかが押下された場合、選択画面912は閉じる(非表示にする)ものとする。つまり、同じ会議に参加中の他のクライアント端末100(例:100G1、100G2)には、図9の910から選択画面912が消えた、アプリケーション003のウインドウがマスキングされたデスクトップ画像(例えばアプリケーション003のウインドウが1011のようにマスキングされた画面の画像1010)をステップS503で送信し、共有する。
一方、ステップS605において、共有許可842に既に「未許可」以外の値が記憶されている(「許可」または「不許可」が挿入されている)場合、処理をステップS611に移行する。
ステップS611で、クライアント端末100HのCPU201は、最小化が解除されるアプリケーション(アプリケーションID841)の共有許可842に「許可」が登録されているか、「不許可」が登録されているか判定する(ステップS611)。「許可」が登録されている場合、前述したマスキングの処理をすることなく図6の処理を終了し、図5のステップS502であらためて取得した、アプリケーション003のウインドウがマスキングされていないデスクトップ画像(図10の1000)を他のクライアント端末100に送信・共有する。「不許可」が登録されている場合、ステップS606の処理と同様に、当該最小化が解除されるアプリケーション003のウインドウ領域のマスキング(マスク処理)を実行する。以上が図6の説明である。
以上説明したように、図6の処理によれば、共有中のデスクトップ画像上において、未表示であった、最小化されていたアプリケーションの画像を表示する場合に、当該アプリケーションの画面を非表示にし、当該アプリケーションの画面の画像を意図せず共有してしまうことを防止することができる。
また、2度目以降の最小化解除のタイミングにおいて、一度共有が許可されたアプリケーションの画像を、共有許可をするか否かの確認を省略して表示、共有することができる。
また、2度目以降の最小化解除のタイミングにおいて、一度共有が不許可とされたアプリケーションの画像を、共有許可をするか否かの確認を省略して非表示、共有しないようにすることができる。
また、前回共有を許可する操作をした時点からアプリケーション内の表示情報が変わっている場合も考えられる。図6の説明においては一度共有許可/不許可を決定したアプリケーションの共有許可/不許可の設定は、指定画像(デスクトップ画像)の共有終了まで継続するものとしたが、例えば、表示中のアプリケーションの画面の最小化のイベントを監視し、最小化のイベントを検知した場合に当該最小化されるアプリケーションの共有許可842を「未許可」に更新することで、アプリケーションの最小化が解除される都度、最小化が解除されるアプリケーションのウインドウのマスキング及び選択画面912の表示を行うようにしてもよい。これにより、アプリケーションの最小化が解除される都度、確実に、当該アプリケーションの画面を非表示にし、当該アプリケーションの画面の画像を意図せず共有してしまうことを防止することができる。
次に図7を参照して、本発明の第1の実施形態における、新たなアプリケーションの起動処理の流れについて説明する。
クライアント端末100HのCPU201は、許可情報840に記憶されていない、起動していなかったアプリケーション(新規のアプリケーション)の起動イベントの監視を開始する(ステップS701)。OSから発行される、当該新規アプリケーションの新規起動イベントを検知するまで監視を継続し、あるアプリケーションで当該イベントを検知すると(ステップS702でYES)、処理をステップS703に移行する。例えば、図11でいう、未起動のアプリケーション003(アプリケーションID=App003)のアイコン1101にカーソル907が合わさった状態でダブルクリック操作を受け付けたというイベントを検知した場合に、当該アプリケーション003の新規起動イベントを検知したと判定する。当該起動のイベントを検知した場合は、当該起動される(当該イベントを検知した)アプリケーションの識別情報であるアプリケーションIDをOSから取得する。
ステップS703では、当該新規に起動されるイベントが検知されたアプリケーションの識別情報(アプリケーションID)を取得し、取得したIDを有する許可情報840の共有許可842を参照して、当該新規起動されるアプリケーションの画像(画面)の共有を許可するか否かが未決定か判定する(ステップ703)。未決定の場合(842の値が「未許可」の場合)、図11の1110における911に示すように、ステップS502で取得したデスクトップ画面の中で、当該共有許可842が未許可の、新規起動されたアプリケーション003のウインドウ領域をマスク処理する(ステップS704)。マスクする領域の取得・特定方法や、マスク処理の具体的な内容については図6のステップS606で説明した内容と同じであるため説明は割愛する。
また、図11の912に示す選択画面(共有確認ダイアログ)を共有中の画面上(画像上)に表示することで(ステップS705)、当該アプリケーション003が未だ共有許可されていないことを通知する。また、当該アプリケーション003の画面の画像を他の会議参加者のクライアント端末100(例:100G1、100G2)に共有(送信)することを許可するか否かを問い合わせる。例えば当該共有を許可するということは、マスキングを解除するということである。
クライアント端末100HのCPU201は、マスキングされているアプリケーション003(指定画像の(デスクトップの)共有開始時に当該指定画像中にウインドウ画面が表示されていなかったアプリケーション)の共有の許可を選択する操作がされたか、共有を不許可とする選択操作がされたか判定する(ステップS706)。具体的には、912における「はい」ボタンの押下を受け付けた場合に、当該アプリケーションの共有を許可する旨の操作がされたと判定し、「いいえ」ボタンの押下を受け付けた場合に、当該アプリケーションの共有を許可せず、不許可とする旨の操作がされたと判定する。
共有を許可する旨の操作を受け付けたと判定した場合、当該アプリケーション003のアプリケーションウインドウ領域のマスク処理を解除する(ステップS707)。そして、実行中の指定画像の共有(デスクトップ共有)終了までの間、当該アプリケーション003の共有を許可すべく、許可情報840に、アプリケーションID841=App003のデータを追加して、共有許可842を「許可」に設定して記憶する(ステップS708)。その後、図7の処理を終了して、(ステップS516でデスクトップ共有の終了指示を受け付けていない場合は)処理をステップS502に移行し、)あらためてデスクトップ画像を取得して(例えば図12に示す、アプリケーション003のウインドウ1001が表示されている画面の画像1200を取得して)、ステップS503で当該デスクトップ画像をウェブ会議サーバ200を介して、他のクライアント端末100(例:100G1、100G2)に送信する。
なお、選択画面912において「いいえ」ボタンの押下を受け付けた場合には、アプリケーション003のウインドウのマスキングは継続し、実行中の指定画像の共有(デスクトップ共有)終了までの間、当該アプリケーション003の共有を不許可とすべく、許可情報840に、アプリケーションID841=App003の共有許可842を「不許可」のデータを追加して記憶する(ステップS711)。「はい」ボタン、「いいえ」ボタンのいずれかが押下された場合、選択画面912は閉じる(非表示にする)ものとする。つまり、同じ会議に参加中の他のクライアント端末100(例:100G1、100G2)には、図11の1110から選択画面912が消えた、アプリケーション003のウインドウがマスキングされたデスクトップ画像(例えばアプリケーション003のウインドウが1011のようにマスキングされた画面の画像1210)をステップS503で送信し、共有する。
一方、ステップS703において、共有許可842に既に「未許可」以外の値が記憶されている(「許可」または「不許可」が挿入されている)場合、処理をステップS709に移行する。
ステップS709で、クライアント端末100HのCPU201は、新たに起動されるアプリケーション(アプリケーションID841)の共有許可842に「許可」が登録されているか、「不許可」が登録されているか判定する(ステップS611)。「許可」が登録されている場合、前述したマスキングの処理をすることなく図7の処理を終了し、図5のステップS502であらためて取得した、アプリケーション003のウインドウがマスキングされていないデスクトップ画像(図12の1200)を他のクライアント端末100に送信・共有する。「不許可」が登録されている場合、ステップS704の処理と同様に、当該新規に起動されるアプリケーション003のウインドウ領域のマスキング(マスク処理)を実行する。以上が図7の説明である。
以上説明したように、図7の処理によれば、共有中のデスクトップ画像上において、未表示であった、新規に起動されるアプリケーションの画像を表示する場合に、当該アプリケーションの画面を非表示にし、当該アプリケーションの画面の画像を意図せず共有してしまうことを防止することができる。
また、2度目以降の起動のタイミングにおいて、一度共有が許可されたアプリケーションの画像を、共有許可をするか否かの確認を省略して表示、共有することができる。
また、2度目以降の起動のタイミングにおいて、一度共有が不許可とされたアプリケーションの画像を、共有許可をするか否かの確認を省略して非表示、共有しないようにすることができる。
また、前回共有を許可する操作をした時点からアプリケーション内の表示情報が変わっている場合も考えられる。図7の説明においては一度共有許可/不許可を決定したアプリケーションの共有許可/不許可の設定は、指定画像(デスクトップ画像)の共有終了まで継続するものとしたが、例えば、表示中のアプリケーションの画面の終了のイベントを監視し、アプリケーションの終了イベントを検知した場合に当該終了されるアプリケーションの共有許可842を「未許可」に更新することで、アプリケーションが起動される都度、起動されるアプリケーションのウインドウのマスキング及び選択画面912の表示を行うようにしてもよい。これにより、アプリケーションが起動される都度、確実に、当該アプリケーションの画面を非表示にし、当該アプリケーションの画面の画像を意図せず共有してしまうことを防止することができる。
以上説明したように、本発明の第1の実施形態によれば、共有中の画像上において、未表示だったアプリケーションの画像を意図せず共有してしまうことを防止する仕組みを提供することができる。
つまり、共有中の画像上において、未表示の画像を意図せず共有してしまうことを防止する仕組みを提供することができる。
<第2の実施形態>
次に図13を参照して、本発明の第2の実施形態について説明する。なお、第1の実施形態と共通する処理については説明を割愛する。図13は、本発明の第2の実施形態における、各種データ構成の一例を示す図である。
本発明の第2の実施形態では、所定のユーザが会議に参加している場合に、共有中の画像上において、未表示の画像を意図せず共有してしまうことを防止する仕組みを提供する。
また、会議に参加しているユーザの端末の種類(種別)に応じて、共有中の画像上において、未表示の画像を意図せず共有してしまうことを防止する仕組みを提供する。
また、会議に参加しているユーザの端末の通信方法に応じて、共有中の画像上において、未表示の画像を意図せず共有してしまうことを防止する仕組みを提供する。
また、共有中の画像上において表示するアプリケーションの画像に含まれる文字列に応じて、未表示の画像を意図せず共有してしまうことを防止する仕組みを提供する。
まず、所定のユーザが会議に参加している場合に、共有中の画像上において、未表示の画像を意図せず共有してしまうことを防止するについて説明する。
第2の実施形態においては、ユーザ情報800に権限ID1301が紐付けて登録・記憶したユーザ情報1300が記憶されている。ここでは1302に示すように3つの権限が用意されているものとする。これらの権限IDとアプリケーションを、図13の権限対応情報1350に示すように、クライアント端末100Hの外部メモリに予め記憶しておく(ウェブ会議サーバ200の外部メモリに記憶しておき、ウェブ会議サーバ200へのログイン時にクライアント端末100が当該情報を取得して記憶する)。1351はアプリケーションIDであり、1352は、アプリケーションID1351に示すアプリケーションの共有が推奨(許可)されているユーザの権限IDである。
クライアント端末100HのCPU201は、図6のステップS605の直後及び/又は図7のステップS703の直後に、最小化が解除される又は新規に起動されるアプリケーション003に対応する権限ID1352を参照し、ウェブ会議サーバ200にクライアント端末100Hと同じ会議に参加中の端末のユーザ情報1300の一覧を要求して取得し(ユーザ特定手段に該当)、会議に参加中のユーザにアプリケーション003の画像表示の共有が推奨されていない権限のユーザが含まれるか判定する。例えば、会議に参加中のUser002の権限ID=2であり、User003の権限ID=3であり、図13によれば、User002及びUser003には、アプリケーション003の画像表示の共有が推奨されていない。アプリケーション003の画像表示の共有が推奨されているのは、権限ID=1のUser001のみである。アプリケーション003の画像表示の共有が推奨されていない権限のユーザが会議に参加している場合、図6の処理を実行中の場合にはステップS606に処理を移行し、図7の処理を実行中の場合には処理をステップS704に移行する。アプリケーション003の画像表示の共有が推奨されている権限のユーザのみが会議に参加中の場合、図6の処理を実行中の場合にはステップS610に処理を移行し、図7の処理を実行中の場合には処理をステップS708に移行する。
これにより、所定の権限のユーザが会議に参加している場合に、共有中の画像上において、未表示の画像を意図せず共有してしまうことを防止することができる。
次に、会議に参加しているユーザの端末の端末種別に応じて、共有中の画像上において、未表示の画像を意図せず共有してしまうことを防止する方法について説明する。
第2の実施形態においては、ウェブ会議サーバ200は、ステップS407で受信した要求に含まれる、入室要求した端末種別、通信方法の情報をそれぞれ端末種別1315、通信方法1316に挿入して記憶する(種別特定手段に該当)。また、図13の1360に示すように、アプリケーションID1361と、当該1361の示すアプリケーションの画像表示の共有が推奨されている端末種別1362を、クライアント端末100Hの外部メモリに予め記憶しておく(ウェブ会議サーバ200の外部メモリに記憶しておき、ウェブ会議サーバ200へのログイン時にクライアント端末100が当該情報を取得して記憶する/種別許可情報記憶手段に該当)。
クライアント端末100HのCPU201は、図6のステップS605の直後及び/又は図7のステップS703の直後に、ウェブ会議サーバ200に会議情報1310を要求して取得し、メモリ上に保持する。また、最小化が解除される又は新規に起動されるアプリケーション003に対応する端末種別1362を参照し、クライアント端末100Hと同じ会議に参加中のユーザの端末に、アプリケーション003の画像表示の共有が推奨されていない端末種別のクライアント端末100が含まれるか判定する。例えば、クライアント端末100G1は端末種別=mobileであり、クライアント端末100G2は端末種別=pcである。図13の1360によれば、クライアント端末100G1には、アプリケーション003の画像表示の共有が推奨されていない。アプリケーション003の画像表示の共有が推奨されているのは、端末種別=pcのクライアント端末100G2である。アプリケーション003の画像表示の共有が推奨されていない端末種別のクライアント端末が会議に参加している場合、図6の処理を実行中の場合にはステップS606に処理を移行し、図7の処理を実行中の場合には処理をステップS704に移行する。アプリケーション003の画像表示の共有が推奨されている端末種別のクライアント端末のみが会議に参加中の場合、図6の処理を実行中の場合にはステップS610に処理を移行し、図7の処理を実行中の場合には処理をステップS708に移行する。
これにより、会議に参加しているユーザの端末の端末種別に応じて、共有中の画像上において、未表示の画像を意図せず共有してしまうことを防止することができる。
次に、会議に参加しているユーザの端末の通信方法に応じて、共有中の画像上において、未表示の画像を意図せず共有してしまうことを防止する方法について説明する。
第2の実施形態において、図13の1370に示すように、アプリケーションID1371と、当該1371の示すアプリケーションの画像表示の共有が推奨されている端末の通信方法1372を、クライアント端末100Hの外部メモリに予め記憶しておく(ウェブ会議サーバ200の外部メモリに記憶しておき、ウェブ会議サーバ200へのログイン時にクライアント端末100が当該情報を取得して記憶する)。
クライアント端末100HのCPU201は、図6のステップS605の直後及び/又は図7のステップS703の直後に、ウェブ会議サーバ200に会議情報1310を要求して取得し、メモリ上に保持する。また、最小化が解除される又は新規に起動されるアプリケーション003に対応する通信方法1372を参照し、クライアント端末100Hと同じ会議に参加中のユーザの端末に、アプリケーション003の画像表示の共有が推奨されていない通信方法を用いて通信するクライアント端末100が含まれるか判定する。例えば、クライアント端末100G1の通信方法はwirelessであり、クライアント端末100G2の通信方法はwire−lineである。図13の1370によれば、クライアント端末100G1には、アプリケーション003の画像表示の共有が推奨されていない。アプリケーション003の画像表示の共有が推奨されているのは、通信方法1372=wire−lineのクライアント端末100G2である。アプリケーション003の画像表示の共有が推奨されていない通信方法のクライアント端末が会議に参加している場合、図6の処理を実行中の場合にはステップS606に処理を移行し、図7の処理を実行中の場合には処理をステップS704に移行する。アプリケーション003の画像表示の共有が推奨されている通信方法のクライアント端末のみが会議に参加中の場合、図6の処理を実行中の場合にはステップS610に処理を移行し、図7の処理を実行中の場合には処理をステップS708に移行する。
これにより、会議に参加しているユーザの端末の通信方法に応じて、共有中の画像上において、未表示の画像を意図せず共有してしまうことを防止することができる。
次に、共有中の画像上において表示するアプリケーションの画像に含まれる文字列に応じて、未表示の画像を意図せず共有してしまうことを防止する方法について説明する。
第2の実施形態においては、図13の1320に示すように、文字列1321と、当該文字列を含む画像の共有を許可するか否かを示す共有許可1322を、クライアント端末100Hの外部メモリに予め記憶しておく(ウェブ会議サーバ200の外部メモリに記憶しておき、ウェブ会議サーバ200へのログイン時にクライアント端末100が当該情報を取得して記憶する)。また、起動しているアプリケーション(起動したアプリケーション)で開いているファイルの画像及びテキスト情報をウェブ会議サーバ200に送信し、ウェブ会議サーバ200がどのアプリケーション1332で開いているファイルにどの文字列1331が含まれているかを管理するアプリケーション文字列情報1330をメモリ上に生成して保持する。そして当該アプリケーション文字列情報1330をクライアント端末100のログイン時に当該クライアント端末100に送信し、クライアント端末100が受信した当該1330の情報をメモリ上に記憶する。
クライアント端末100HのCPU201は、図6のステップS605の直後及び/又は図7のステップS703の直後に、最小化が解除される又は新規に起動されるアプリケーション003で開いているファイルの文字列1331と、文字列許可情報1320を参照し、当該最小化が解除される又は新規に起動されるアプリケーション003が、共有許可1322=「不許可」の文字列を含むファイルを開いているアプリケーションか否かを判定する。当該アプリケーション003が、共有許可1322=「不許可」の文字列を含むファイルを開いているアプリケーションの場合、図6の処理を実行中の場合にはステップS606に処理を移行し、図7の処理を実行中の場合には処理をステップS704に移行する。当該アプリケーション003が、共有許可1322=「不許可」の文字列を含むファイルを開いているアプリケーションでない場合、図6の処理を実行中の場合にはステップS610に処理を移行し、図7の処理を実行中の場合には処理をステップS708に移行する。
これにより、共有中の画像上において表示するアプリケーションの画像に含まれる文字列に応じて、未表示の画像を意図せず共有してしまうことを防止することができる。
例えば機密を含む画像を意図せず共有してしまうことを防止することができる。
<第3の実施形態>
次に図14を参照して、本発明の第3の実施形態について説明する。第1の実施形態、第2の実施形態と共通する処理については説明を割愛する。
第3の実施形態では、共有中の画像上において、未表示だったウインドウの画像を意図せず共有してしまうことを防止する仕組みを提供する。
クライアント端末100HのCPU201は、図6のステップS601でOSに問い合わせて、起動しているアプリケーションのウインドウの識別情報一覧(最小化されていないウインドウ及び最小化されているウインドウの一覧)を取得し、許可情報1410の1411に記憶する。また、最小化されているウインドウの識別情報の一覧(最小化ウインドウ一覧)をOSに問い合わせて取得し、図14の1400に示す最小化ウインドウ一覧としてメモリ上に記憶する(ステップS601、S602)。ステップS603で、最小化ウインドウの最小化解除の監視を開始し、ステップS604で、OSから発行される当該最小化ウインドウの最小化解除のイベントが検知された場合に、処理をステップS605に移行する。
ステップS605で最小化解除されるウインドウの共有許可1412が「未許可」であると判定された場合に、当該最小化解除されたウインドウの表示領域の情報をOSから取得して、マスキングする処理を行う(ステップS606)。ステップS607〜S609、S612は第1の実施形態と同じ処理であるため説明は割愛する。
クライアント端末100Hは、ステップS610で、共有許可1412に「許可」を記憶する。また、ステップS613で。共有許可1412に「不許可」を記憶する。ステップS612では、共有許可1412に「許可」が記憶されている場合に図6の処理を終了し、「不許可」が登録されている場合には処理をステップS612に移行する。
以上説明したように、本発明の第3の実施形態によれば、共有中の画像上において、未表示だったウインドウの画像を意図せず共有してしまうことを防止する仕組みを提供することができる。
例えば、アプリケーション単位ではなく、各アプリケーションで開いているウインドウごとに、意図せず共有してしまうことを防止する仕組みを提供することができる。
<第4の実施形態>
次に図14を参照して、本発明の第3の実施形態について説明する。第1の実施形態、第2の実施形態、第3の実施形態と共通する処理については説明を割愛する。
第4の実施形態では、共有中の画像上において、未表示だったファイルの画像を意図せず共有してしまうことを防止する仕組みを提供する。
クライアント端末100HのCPU201は、図6のステップS601でOSに問い合わせて、起動しているアプリケーションで開かれているファイルのファイル一覧(最小化されていないファイル及び最小化されているファイルの一覧)を取得し、許可情報1450の1451に記憶する。また、最小化されているファイルの識別情報(ファイル名)の一覧をOSに問い合わせて取得し、図14の1420に示す最小化ファイル一覧としてメモリ上に記憶する(ステップS601、S602)。ステップS603で、最小化ファイルの最小化解除の監視を開始し、ステップS604で、OSから発行される当該最小化ファイルの最小化解除のイベントが検知された場合に、処理をステップS605に移行する。
ステップS605で最小化解除されるファイルの共有許可1452が「未許可」であると判定された場合に、当該最小化解除されたファイルの表示領域の情報をOSから取得して、マスキングする処理を行う(ステップS606)。ステップS607〜S609、S612は第1の実施形態と同じ処理であるため説明は割愛する。
クライアント端末100Hは、ステップS610で、共有許可1452に「許可」を記憶する。また、ステップS613で。共有許可1452に「不許可」を記憶する。ステップS612では、共有許可1452に「許可」が記憶されている場合に図6の処理を終了し、「不許可」が登録されている場合には処理をステップS612に移行する。
また、図7のステップS701では、クライアント端末100HのCPU201は、未展開のファイルが新規に開かれる(新規展開)のイベントの監視を開始する。ステップS702で新規のファイルが展開されるか判定し、新規のファイルが展開される場合には処理をステップS703に移行する。ステップS703以降の処理は、図6のステップS605以降の処理と同じであるため、説明は割愛する。
以上説明したように、本発明の第4の実施形態によれば、共有中の画像上において、未表示だったファイルの画像を意図せず共有してしまうことを防止する仕組みを提供することができる。
例えば、アプリケーション単やウインドウ単位ではなく、各アプリケーションで開いているファイルごとに、意図せず共有してしまうことを防止する仕組みを提供することができる。
また、上述した各実施形態においては、選択画面912の表示にあたり、最小化が解除された画像及び新規に表示される画像をマスキングするものとしたが、例えば、一時的にデスクトップ画像の共有を中断することにより(マスキングすることなく)、例えば一時的に、最小化が解除された画像及び新規に表示される画像の共有をさせないようにしてもよい。
具体的には、クライアント端末100HのCPU201は、図6においてステップS606のタイミングで、ステップS503によるデスクトップ画像の送信(共有)を停止・中断し、ステップS608で「はい」ボタン又は「いいえ」ボタンが押下されたタイミングで、ステップS503によるデスクトップ画像の送信(共有)を再開する。また、デスクトップ画像の送信(共有)を停止・中断する旨の情報をステップS606の時点でウェブ会議サーバ200に送信し、これを受信したウェブ会議サーバ200のCPU201が、ステップS608で「はい」ボタン又は「いいえ」ボタンが押下されたタイミングでクライアント端末100Hから送信されるデスクトップ画像の送信(共有)再開の通知を受信するまで、ステップS513による各クライアント端末100へのデスクトップ画像の送信(共有)を停止する。
これにより、マスキング処理をするためのOSへの問合せ処理を省略して、表示される画像を共有すべきか否かユーザに選択させるべく、当該画像の共有を停止することができる。
以上説明したように、本発明によれば、共有中の画像上において、未表示の画像を意図せず共有してしまうことを防止する仕組みを提供することができる。
また、未表示だった画像が表示される場合に、当該画像を共有すべきか否かユーザに選択させることができる。
なお、上述した各実施形態の発明は、それぞれ自由に組み合わせて実行可能であるものとする。
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
具体的には、ホスト端末(クライアント端末100H)の実行していた、図5のステップS505、ステップS506の処理をウェブ会議サーバ200が実行するようにしてもよい。この場合、OSへの各種問合せやイベント検知は、ウェブ会議サーバ200のCPU201が、ネットワーク150を介してホスト端末と通信して問い合わせ、検知するものとする。また、クライアント端末100が記憶する図8、図13、図14の各種データは、クライアント端末100が取得する都度、ウェブ会議サーバ200に送信し、これを受信したウェブ会議サーバ200が自機のメモリに受信した各種データを記憶するものとする。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
尚、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。
即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。