特許第6596616号(P6596616)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 楽天株式会社の特許一覧

特許6596616コンテンツ共有システム、コンテンツ共有方法及びプログラム
<>
  • 特許6596616-コンテンツ共有システム、コンテンツ共有方法及びプログラム 図000002
  • 特許6596616-コンテンツ共有システム、コンテンツ共有方法及びプログラム 図000003
  • 特許6596616-コンテンツ共有システム、コンテンツ共有方法及びプログラム 図000004
  • 特許6596616-コンテンツ共有システム、コンテンツ共有方法及びプログラム 図000005
  • 特許6596616-コンテンツ共有システム、コンテンツ共有方法及びプログラム 図000006
  • 特許6596616-コンテンツ共有システム、コンテンツ共有方法及びプログラム 図000007
  • 特許6596616-コンテンツ共有システム、コンテンツ共有方法及びプログラム 図000008
  • 特許6596616-コンテンツ共有システム、コンテンツ共有方法及びプログラム 図000009
  • 特許6596616-コンテンツ共有システム、コンテンツ共有方法及びプログラム 図000010
  • 特許6596616-コンテンツ共有システム、コンテンツ共有方法及びプログラム 図000011
  • 特許6596616-コンテンツ共有システム、コンテンツ共有方法及びプログラム 図000012
  • 特許6596616-コンテンツ共有システム、コンテンツ共有方法及びプログラム 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6596616
(24)【登録日】2019年10月4日
(45)【発行日】2019年10月23日
(54)【発明の名称】コンテンツ共有システム、コンテンツ共有方法及びプログラム
(51)【国際特許分類】
   G06F 13/00 20060101AFI20191010BHJP
【FI】
   G06F13/00 650A
【請求項の数】7
【全頁数】18
(21)【出願番号】特願2019-531355(P2019-531355)
(86)(22)【出願日】2017年10月10日
(86)【国際出願番号】JP2017036633
(87)【国際公開番号】WO2019073516
(87)【国際公開日】20190418
【審査請求日】2019年6月11日
【早期審査対象出願】
(73)【特許権者】
【識別番号】399037405
【氏名又は名称】楽天株式会社
(74)【代理人】
【識別番号】110000154
【氏名又は名称】特許業務法人はるか国際特許事務所
(72)【発明者】
【氏名】春日 隆哉
【審査官】 小林 義晴
(56)【参考文献】
【文献】 特開2015−152992(JP,A)
【文献】 特開2009−93274(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
第1のユーザ及び第2のユーザの両方が操作可能な共有コンテンツ上に配置されているカーソルの位置を特定するカーソル位置特定手段と、
前記カーソルの位置に基づいて、前記共有コンテンツ上のオブジェクトがフォーカス状態となっているか非フォーカス状態となっているかを判定するフォーカス状態判定手段と、
所定の処理の実行を指示する操作が、前記第1のユーザにより行われたことを特定する操作特定手段と、
前記第2のユーザの操作による前記共有コンテンツの表示更新を特定する表示更新特定手段と、
前記所定の処理の実行を指示する操作までの所定時間に前記表示更新があったことが特定される場合に、当該操作の前記所定時間前以前であって当該操作の前記所定時間前に最も近いタイミングにフォーカス状態であったオブジェクトに対して前記所定の処理を実行する処理実行手段と、
を含むことを特徴とするコンテンツ共有システム。
【請求項2】
前記処理実行手段は、前記所定の処理の実行を指示する操作までの所定時間に前記表示更新があったことが特定される場合に、当該操作のタイミングの前記所定時間前にフォーカス状態であり、当該操作までの前記所定時間に非フォーカス状態になったオブジェクトに対して前記所定の処理を実行する、
ことを特徴とする請求項1に記載のコンテンツ共有システム。
【請求項3】
前記処理実行手段は、さらに、前記所定の処理の実行を指示する操作の前記所定時間前における前記共有コンテンツ上における前記カーソルの位置と、前記所定の処理の実行を指示する操作のタイミングにおける前記共有コンテンツ上における前記カーソルの位置と、の間の長さが所定長よりも短い場合に、当該操作の前記所定時間前以前であって当該操作の前記所定時間前に最も近いタイミングにフォーカス状態であったオブジェクトに対して前記所定の処理を実行する、
ことを特徴とする請求項1又は2に記載のコンテンツ共有システム。
【請求項4】
前記処理実行手段は、さらに、前記所定の処理の実行を指示する操作のタイミングにフォーカス状態であるオブジェクトが存在しない場合に、当該操作の前記所定時間前以前であって当該操作の前記所定時間前に最も近いタイミングにフォーカス状態であったオブジェクトに対して前記所定の処理を実行する、
ことを特徴とする請求項1から3のいずれか一項に記載のコンテンツ共有システム。
【請求項5】
前記処理実行手段は、さらに、前記所定の処理の実行を指示する操作の前記所定時間前よりも前に前記表示更新がない場合に、当該操作の前記所定時間前以前であって当該操作の前記所定時間前に最も近いタイミングにフォーカス状態であったオブジェクトに対して前記所定の処理を実行する、
ことを特徴とする請求項1から4のいずれか一項に記載のコンテンツ共有システム。
【請求項6】
第1のユーザ及び第2のユーザの両方が操作可能な共有コンテンツ上に配置されているカーソルの位置を特定するステップと、
前記カーソルの位置に基づいて、前記共有コンテンツ上のオブジェクトがフォーカス状態となっているか非フォーカス状態となっているかを判定するステップと、
所定の処理の実行を指示する操作が、前記第1のユーザにより行われたことを特定するステップと、
前記第2のユーザの操作による前記共有コンテンツの表示更新を特定するステップと、
前記所定の処理の実行を指示する操作までの所定時間に前記表示更新があったことが特定される場合に、当該操作の前記所定時間前以前であって当該操作の前記所定時間前に最も近いタイミングにフォーカス状態であったオブジェクトに対して前記所定の処理を実行するステップと、
を含むことを特徴とするコンテンツ共有方法。
【請求項7】
第1のユーザ及び第2のユーザの両方が操作可能な共有コンテンツ上に配置されているカーソルの位置を特定する手順、
前記カーソルの位置に基づいて、前記共有コンテンツ上のオブジェクトがフォーカス状態となっているか非フォーカス状態となっているかを判定する手順、
所定の処理の実行を指示する操作が、前記第1のユーザにより行われたことを特定する手順、
前記第2のユーザの操作による前記共有コンテンツの表示更新を特定する手順、
前記所定の処理の実行を指示する操作までの所定時間に前記表示更新があったことが特定される場合に、当該操作の前記所定時間前以前であって当該操作の前記所定時間前に最も近いタイミングにフォーカス状態であったオブジェクトに対して前記所定の処理を実行する手順、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンテンツ共有システム、コンテンツ共有方法及びプログラムに関する。
【背景技術】
【0002】
共有コンテンツに対して複数のユーザが操作を行えるシステムが存在する。例えば特許文献1には、共有されるホワイトボードに対して複数のユーザのいずれもが描画操作を行えるシステムが記載されている。特許文献1に記載の技術では、端末装置の表示部に表示されているホワイトボードに対する描画操作の内容が、ネットワークを介して接続された別の端末装置の表示部に表示されているホワイトボードに反映される。
【0003】
また特許文献1に記載の技術では、ユーザがホワイトボードに対して描画操作を行っている際に他のユーザによる表示更新が行われても、所定の操作を行うことでホワイトボードを表示更新前の状態に戻すことができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−331309号公報
【特許文献2】特許第5977450号公報
【特許文献3】国際公開第2016/067363号
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明者らは、セレクトボックス等のオブジェクトが配置されているウェブページのような共有コンテンツに対し、複数のユーザが操作を行えるシステムの実装を検討している。このようなシステムにおいて、オブジェクトを選択する操作をユーザが行おうとしている際に、他のユーザの操作により当該共有コンテンツの表示更新が行われるとユーザが意図するオブジェクトが選択されないおそれがある。またこのような状況ではユーザの意図とは異なるオブジェクトが選択されるおそれがある。
【0006】
この点、特許文献1には、ユーザが描画操作を行おうとしている際に他のユーザの操作により表示更新が行われた状況における、表示更新後のホワイトボードに対するユーザの描画操作に応じた処理については記載されていない。なおユーザの意図に沿った処理が実行されるようにする技術である特許文献2、3に記載の技術では、そもそも他のユーザの操作による共有コンテンツの表示更新が想定されていない。
【0007】
本発明は上記実情に鑑みてなされたものであって、その目的の一つは、他のユーザの操作による表示更新が行われた後の共有コンテンツに対するユーザの操作を適切に処理できるコンテンツ共有システム、コンテンツ共有方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明に係るコンテンツ共有システムは、第1のユーザ及び第2のユーザの両方が操作可能な共有コンテンツ上に配置されているカーソルの位置を特定するカーソル位置特定手段と、前記カーソルの位置に基づいて、前記共有コンテンツ上のオブジェクトがフォーカス状態となっているか非フォーカス状態となっているかを判定するフォーカス状態判定手段と、所定の処理の実行を指示する操作が、前記第1のユーザにより行われたことを特定する操作特定手段と、前記第2のユーザの操作による前記共有コンテンツの表示更新を特定する表示更新特定手段と、前記所定の処理の実行を指示する操作までの所定時間に前記表示更新があったことが特定される場合に、当該操作の前記所定時間前以前であって当該操作の前記所定時間前に最も近いタイミングにフォーカス状態であったオブジェクトに対して前記所定の処理を実行する処理実行手段と、を含む。
【0009】
本発明の一態様では、前記処理実行手段は、前記所定の処理の実行を指示する操作までの所定時間に前記表示更新があったことが特定される場合に、当該操作のタイミングの前記所定時間前にフォーカス状態であり、当該操作までの前記所定時間に非フォーカス状態になったオブジェクトに対して前記所定の処理を実行する。
【0010】
また、本発明の一態様では、前記処理実行手段は、さらに、前記所定の処理の実行を指示する操作の前記所定時間前における前記共有コンテンツ上における前記カーソルの位置と、前記所定の処理の実行を指示する操作のタイミングにおける前記共有コンテンツ上における前記カーソルの位置と、の間の長さが所定長よりも短い場合に、当該操作の前記所定時間前以前であって当該操作の前記所定時間前に最も近いタイミングにフォーカス状態であったオブジェクトに対して前記所定の処理を実行する。
【0011】
また、本発明の一態様では、前記処理実行手段は、さらに、前記所定の処理の実行を指示する操作のタイミングにフォーカス状態であるオブジェクトが存在しない場合に、当該操作の前記所定時間前以前であって当該操作の前記所定時間前に最も近いタイミングにフォーカス状態であったオブジェクトに対して前記所定の処理を実行する。
【0012】
また、本発明の一態様では、前記処理実行手段は、さらに、前記所定の処理の実行を指示する操作の前記所定時間前よりも前に前記表示更新がない場合に、当該操作の前記所定時間前以前であって当該操作の前記所定時間前に最も近いタイミングにフォーカス状態であったオブジェクトに対して前記所定の処理を実行する。
【0013】
また、本発明に係るコンテンツ共有方法は、第1のユーザ及び第2のユーザの両方が操作可能な共有コンテンツ上に配置されているカーソルの位置を特定するステップと、前記カーソルの位置に基づいて、前記共有コンテンツ上のオブジェクトがフォーカス状態となっているか非フォーカス状態となっているかを判定するステップと、所定の処理の実行を指示する操作が、前記第1のユーザにより行われたことを特定するステップと、前記第2のユーザの操作による前記共有コンテンツの表示更新を特定するステップと、前記所定の処理の実行を指示する操作までの所定時間に前記表示更新があったことが特定される場合に、当該操作の前記所定時間前以前であって当該操作の前記所定時間前に最も近いタイミングにフォーカス状態であったオブジェクトに対して前記所定の処理を実行するステップと、を含む。
【0014】
また、本発明に係るプログラムは、第1のユーザ及び第2のユーザの両方が操作可能な共有コンテンツ上に配置されているカーソルの位置を特定する手順、前記カーソルの位置に基づいて、前記共有コンテンツ上のオブジェクトがフォーカス状態となっているか非フォーカス状態となっているかを判定する手順、所定の処理の実行を指示する操作が、前記第1のユーザにより行われたことを特定する手順、前記第2のユーザの操作による前記共有コンテンツの表示更新を特定する手順、前記所定の処理の実行を指示する操作までの所定時間に前記表示更新があったことが特定される場合に、当該操作の前記所定時間前以前であって当該操作の前記所定時間前に最も近いタイミングにフォーカス状態であったオブジェクトに対して前記所定の処理を実行する手順、をコンピュータに実行させる。
【図面の簡単な説明】
【0015】
図1】本発明の一実施形態に係るコンテンツ共有システムの全体構成の一例を示す図である。
図2】本発明の一実施形態に係るユーザ端末の構成の一例を示す図である。
図3A】ウィンドウの一例を示す図である。
図3B】ウィンドウの一例を示す図である。
図3C】ウィンドウの一例を示す図である。
図3D】ウィンドウの一例を示す図である。
図3E】ウィンドウの一例を示す図である。
図3F】ウィンドウの一例を示す図である。
図4】本発明の一実施形態に係るユーザ端末で実装される機能の一例を示す機能ブロック図である。
図5】フォーカス履歴情報の一例を示す図である。
図6】本発明の一実施形態に係るユーザ端末において行われる処理の流れの一例を示すフロー図である。
図7】位置履歴情報の一例を示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の一実施形態について、図面を参照しながら説明する。
【0017】
図1は、本発明の一実施形態に係るコンテンツ共有システム10の全体構成の一例を示す図である。図1に示すように、本実施形態に係るコンテンツ共有システム10には、2つのユーザ端末12(12a,12b)、及び、サーバ14が含まれている。ユーザ端末12a、ユーザ端末12b、及び、サーバ14は、インターネット等のコンピュータネットワーク16に接続されている。そのため、ユーザ端末12a、ユーザ端末12b、及び、サーバ14は、コンピュータネットワーク16を介して互いに通信可能となっている。
【0018】
ユーザ端末12は、本実施形態では例えば、パーソナルコンピュータ、タブレット端末、スマートフォンなどのコンピュータである。また本実施形態に係るユーザ端末12にはウェブブラウザがインストールされている。
【0019】
図2に示すように、本実施形態に係るユーザ端末12には、例えば、プロセッサ20、記憶部22、通信部24、表示部26、操作部28、カメラ部30、マイク部32、音声出力部34、が含まれている。
【0020】
プロセッサ20は、例えばユーザ端末12にインストールされているプログラムに従って動作するCPU等のプログラム制御デバイスである。記憶部22は、例えばROMやRAM等の記憶素子やハードディスクドライブなどである。通信部24は、ネットワークボードや無線LANモジュールなどといった通信インタフェースである。表示部26は、例えば液晶ディスプレイや有機ELディスプレイ等のディスプレイである。操作部28は、例えばマウス、キーボード、タッチパッドなどといった、操作入力に応じた入力データをプロセッサ20に出力するユーザインタフェースである。カメラ部30は、例えばデジタルカメラなどのカメラである。マイク部32は、例えば周囲の音声を音声データに変換してプロセッサ20に出力するマイクである。音声出力部34は、例えばヘッドホンやスピーカなどといった、ユーザに音声を出力するデバイスである。
【0021】
サーバ14は、例えばユーザ端末12aのユーザ及びユーザ端末12bのユーザの両方が操作可能な共有コンテンツを提供するウェブサーバ等のサーバコンピュータである。共有コンテンツとしては、例えば、ウェブページや画像などが挙げられる。以下、ユーザ端末12aのユーザをユーザAと呼び、ユーザ端末12bのユーザをユーザBと呼ぶこととする。また本実施形態に係るサーバ14には、ユーザ端末12間におけるビデオチャットの機能が実装されている。また本実施形態に係るサーバ14には、ユーザ端末12aの表示部26に表示される共有コンテンツとユーザ端末12bの表示部26に表示される共有コンテンツとを同期させる機能が実装されている。
【0022】
本実施形態では、例えばカメラ部30、マイク部32、音声出力部34を用いて、ビデオチャットにより、ユーザAとユーザBとは互いに顔を見ながら音声による会話を行えるようになっている。
【0023】
またユーザ端末12aの表示部26に表示される共有コンテンツとユーザ端末12bの表示部26に表示される共有コンテンツとの間では同期がとられている。そのためユーザAとユーザBとは同じ共有コンテンツの同じ部分を見ながら音声による会話を行える。
【0024】
そして本実施形態では例えば、ユーザ端末12aでの操作の内容が、ユーザ端末12aの表示部26に表示されている共有コンテンツだけではなく、ユーザ端末12bの表示部26に表示されている共有コンテンツにも反映される。同様に例えばユーザ端末12bでの操作の内容が、ユーザ端末12bの表示部26に表示されている共有コンテンツだけではなく、ユーザ端末12aの表示部26に表示されている共有コンテンツにも反映される。
【0025】
以上のことから、例えばユーザAが見込顧客でありユーザBが販売者であるような状況において仮想的な対面販売を行うにあたっては、本実施形態に係るコンテンツ共有システム10は特に好適なシステムであるといえる。
【0026】
ここで例えば、ユーザ端末12aとユーザ端末12bとでウェブページが共有されており、ユーザ端末12aの表示部26に図3Aに例示するウェブブラウザのウィンドウ40が表示されていることとする。この場合、ユーザ端末12bの表示部26にもウィンドウ40が表示される。
【0027】
図3Aに示すように、ウィンドウ40にはウェブページ42の一部が配置されている。ウェブページ42の全体はウィンドウ40には収まりきらない。そしてユーザA及びユーザBは、ウェブページ42の全体のうち、ウィンドウ40に配置されている部分を視覚できるようになっている。
【0028】
また図3Aには、カーソル44が示されている。本実施形態においては、表示部26に表示される共有コンテンツはユーザ端末12aとユーザ端末12bとで共有されるが、カーソル44の位置に関しては、ユーザ端末12aとユーザ端末12bとで共有されない。すなわちユーザ端末12aにおけるカーソル44の位置とユーザ端末12bにおけるカーソル44の位置とは独立しており互いに影響を与えない。またユーザ端末12aにおけるカーソル44の位置をユーザBは知ることができず、また同様にユーザ端末12bにおけるカーソル44の位置をユーザAは知ることができない。
【0029】
また本実施形態では、ユーザAもユーザBも、ウェブページ42を上下方向にスクロールさせ、ウェブページ42の全体のうちのウィンドウ40に配置される部分を変えることができる。例えばカーソル44を用いてスクロールバー46に対するドラッグ操作を行ったり、スクロールバー46の上や下の部分に対するクリック操作を行ったりすることなどによって、ウェブページ42のスクロールは可能である。なお以下の説明では、ウェブページ42のスクロール方向は上下方向であることとするが、ウェブページ42のスクロール方向は左右方向であっても構わない。またウェブページ42は、上下方向にも左右方向にもスクロール可能であってもよい。
【0030】
以下、ウェブページ42をスクロールさせる操作をスクロール操作と呼び、スクロール操作に応じてウェブページ42のうちウィンドウ40に配置される部分を変更する処理をスクロール処理と呼ぶこととする。
【0031】
またウェブページ42には、様々なオブジェクトが配置されている。例えば図3Aに示すウェブページ42には、3つのセレクトボックス48(48a,48b,及び48c)が配置されている。この他に例えば、ラジオボタン、送信ボタン、プルダウンメニューなどのオブジェクトがウェブページ42に配置されていてもよい。
【0032】
そして本実施形態では、カーソル44の位置に基づいて、ウェブページ42に配置されているそれぞれのオブジェクトについて、当該オブジェクトがフォーカス状態であるか非フォーカス状態が判定される。ここで例えばカーソル44が配置されているオブジェクトが存在する場合に、当該オブジェクトがフォーカス状態であると判定されてもよい。またカーソル44が配置されていなくても、カーソル44の位置から所定長以内に配置されているオブジェクトが存在する場合に、当該オブジェクトがフォーカス状態であると判定されてもよい。
【0033】
そしてユーザはウェブページ42に配置されているオブジェクトに対する選択操作を行うことができる。例えばユーザがクリック操作を行うことで、選択操作を行うことができる。
【0034】
そして選択操作に応じてフォーカス状態であるオブジェクトに対する所定の処理が実行される。例えばチェックされていないセレクトボックス48がフォーカス状態である際に選択操作が行われることで、当該セレクトボックス48はチェックされている状態に変化する。また逆に、例えばチェックされているセレクトボックス48がフォーカス状態である際に選択操作が行われることで、当該セレクトボックス48はチェックされていない状態に変化する。このようにセレクトボックス48については、選択操作に応じて、セレクトボックス48のチェック状態を変更する処理が実行されることとなる。
【0035】
以下、オブジェクトに対する選択操作に応じて実行される、当該オブジェクトに対する所定の処理を、オブジェクト処理と呼ぶこととする。上述の例では、チェック状態の変更処理がセレクトボックス48に対するオブジェクト処理に相当することとなる。この場合、選択操作は、オブジェクト処理の実行を指示する操作であるといえる。
【0036】
なお本実施形態では、オブジェクト処理は、オブジェクトの種類毎に予め定められていることとする。例えばラジオボタンでは、選択操作がされたラジオボタンが選択状態となるよう、当該ラジオボタンを含む一群のラジオボタンの選択状態を変更する処理がオブジェクト処理に相当することとする。また例えば、プルダウンメニューでは、選択操作がされたプルダウンメニューの選択肢が一覧表示される状態に変更する処理がオブジェクト処理に相当することとする。また例えば、送信ボタンにおいては、ウェブページ42に配置されているそれぞれのオブジェクトの状態を示す情報をサーバ14に送信する処理がオブジェクト処理に相当することとする。
【0037】
ここで例えば、図3Aに示すように、ユーザAがセレクトボックス48aに対する選択操作を行おうとして、ユーザ端末12aにおいて、セレクトボックス48a上にカーソル44が配置されていることとする。この場合、セレクトボックス48aはフォーカス状態であり、セレクトボックス48b、及び、セレクトボックス48cは非フォーカス状態であることとする。またウェブページ42はスクロールせずに止まっていることとする。
【0038】
そしてユーザAが、セレクトボックス48aに対する選択操作を行おうとしている際に、ユーザBがウェブページ42に対するスクロール操作を行ったとする。そしてユーザ端末12a及びユーザ端末12bにおいて、ウェブページ42に対するスクロール処理が実行され、図3B図3C図3Dに示す状態を経て、図3Eに示す状態となったとする。図3Bに示す状態においては、図3Aに示す状態でフォーカス状態であったセレクトボックス48aが非フォーカス状態に変化している。図3Cに示す状態においては、図3Bに示す状態では非フォーカス状態であったセレクトボックス48bがフォーカス状態に変化している。図3Dに示す状態においては、図3Cに示す状態ではフォーカス状態であったセレクトボックス48bが非フォーカス状態に変化している。図3Eに示す状態においては、図3Dに示す状態では非フォーカス状態であったセレクトボックス48cがフォーカス状態に変化している。
【0039】
そして図3Eに示す状態においてユーザ端末12aにおいて選択操作が認識できたとする。ここで例えば、ユーザAが選択操作を行おうとしたタイミングからユーザ端末12aにおいて当該選択操作が認識されるタイミングまでの時間を時間T1とする。すなわちユーザ端末12aにおいて選択操作が認識できたタイミングから時間T1だけ前のタイミングにはウィンドウ40は図3Aに示す状態であったとする。なお時間T1としては、例えば0.5秒程度の時間が想定される。以下、選択操作のタイミングから時間T1だけ前のタイミングを基準タイミングと呼ぶこととする。なお時間T1は0.5秒である必要はなく任意であり、例えば、実験結果や経験に基づいて設定されたものであってもよい。
【0040】
この状況において、本実施形態では、ユーザの意図とは異なる、セレクトボックス48cがチェックされた状態とはならない。その代わりに図3Fに示すように、ユーザ端末12aにおいて基準タイミングにおいてフォーカス状態であったセレクトボックス48aがチェックされた状態となる。すなわち本実施形態では、セレクトボックス48cではなくセレクトボックス48aに対するオブジェクト処理が実行されることとなる。
【0041】
なお本実施形態では、セレクトボックス48bは、基準タイミングにおいてフォーカス状態ではない。そしてセレクトボックス48bは、基準タイミングからの選択操作のタイミングまでの時間T1においてフォーカス状態となり非フォーカス状態となっている。このような場合、本実施形態では、セレクトボックス48bに対するオブジェクト処理は実行されない。すなわちセレクトボックス48bについてはチェックされた状態とはならない。
【0042】
このように本実施形態では、ユーザAが選択操作を行おうとしたであろうと推定されるタイミングにフォーカス状態であったオブジェクトに対するオブジェクト処理が実行される。
【0043】
なおユーザAが選択操作を行おうとしたであろうと推定されるタイミングにフォーカス状態であったオブジェクトが存在しないことがある。例えばこのような場合には、ユーザAが選択操作を行おうとしたであろうと推定されるタイミングの直前にフォーカス状態であったオブジェクトに対するオブジェクト処理が実行されてもよい。このようにして本実施形態では、他のユーザの操作によるスクロール等の表示更新があった後の共有コンテンツに対するユーザの操作を適切に処理できることとなる。
【0044】
以下、本実施形態に係るユーザ端末12の機能並びに本実施形態に係るユーザ端末12で実行される処理についてさらに説明する。
【0045】
図4は、本実施形態に係るユーザ端末12aで実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係るユーザ端末12aで、図4に示す機能のすべてが実装される必要はなく、また、図4に示す機能以外の機能が実装されていても構わない。なお以下の機能は、ユーザ端末12bにも同様に実装される。
【0046】
図4に示すように、本実施形態に係るユーザ端末12aは、機能的には例えば、履歴情報記憶部50、自ユーザ操作特定部52、他ユーザ操作特定部54、カーソル位置特定部56、フォーカス状態判定部58、履歴情報生成部60、表示更新特定部62、オブジェクト特定部64、オブジェクト処理実行部66、画面更新部68、自ユーザ操作送信部70、を含んでいる。
【0047】
履歴情報記憶部50は、記憶部22を主として実装される。自ユーザ操作特定部52は、プロセッサ20及び操作部28を主として実装される。他ユーザ操作特定部54、自ユーザ操作送信部70は、プロセッサ20及び通信部24を主として実装される。カーソル位置特定部56、フォーカス状態判定部58、履歴情報生成部60、表示更新特定部62、オブジェクト特定部64、オブジェクト処理実行部66、プロセッサ20を主として実装される。画面更新部68は、プロセッサ20及び表示部26を主として実装される。
【0048】
以上の機能は、コンピュータであるユーザ端末12aにインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ20で実行することにより実装されてもよい。また、このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介してユーザ端末12aに供給されてもよい。
【0049】
履歴情報記憶部50は、本実施形態では例えば、共有コンテンツ上のオブジェクトの状態の履歴を示す履歴情報を記憶する。
【0050】
図5は、履歴情報記憶部50に記憶される履歴情報の一例である、フォーカス履歴情報の一例を示す図である。フォーカス履歴情報には、オブジェクトが非フォーカス状態からフォーカス状態に変化したタイミングやフォーカス状態から非フォーカス状態に変化したタイミングの履歴が示されている。
【0051】
図5に示すように、フォーカス履歴情報には、タイミング情報と、オブジェクト識別情報と、フォーカス情報と、が含まれている。
【0052】
タイミング情報は、例えば、タイムスタンプの値や時刻などといった、タイミングと対応付けられる情報である。
【0053】
オブジェクト識別情報は、例えば、タイミング情報が示すタイミングに、フォーカス状態から非フォーカス状態に変化した、あるいは、非フォーカス状態からフォーカス状態に変化したオブジェクトの識別情報である。図5の例では、セレクトボックス48a、セレクトボックス48b、セレクトボックス48cのオブジェクト識別情報として、それぞれ、A、B、Cが示されている。
【0054】
フォーカス情報は、例えば、オブジェクト識別情報により識別されるオブジェクトが、フォーカス状態から非フォーカス状態に変化したのか、非フォーカス状態からフォーカス状態に変化したのかを示す情報である。図5の例では、非フォーカス状態からフォーカス状態に変化したことはonで示され、フォーカス状態から非フォーカス状態に変化したことはoffで示されている。
【0055】
自ユーザ操作特定部52は、本実施形態では例えば、操作部28に対するユーザAの操作を特定する。ここで自ユーザ操作特定部52は、操作部28を介して受け付ける物理的な操作入力に対応付けられる入力データに基づいて、ユーザAの操作を特定してもよい。
【0056】
例えばスクロールバー46に対する上方向へのドラッグ操作が行われたことを表す入力データに基づいて、自ユーザ操作特定部52は、ユーザAによって、ウェブページ42に対する上スクロール操作が行われたことを特定してもよい。また例えばスクロールバー46に対する下方向へのドラッグ操作が行われたことを表す入力データに基づいて、自ユーザ操作特定部52は、ユーザAによって、ウェブページ42に対する下スクロール操作が行われたことを特定してもよい。
【0057】
また自ユーザ操作特定部52が、例えば、上述の選択操作が行われたことを特定してもよい。
【0058】
他ユーザ操作特定部54は、本実施形態では例えば、ユーザ端末12bに対するユーザBの操作を特定する。ここで例えば他ユーザ操作特定部54は、通信部24を介して受信する、ユーザBによる物理的な操作入力に対応付けられる操作情報に基づいて、ユーザBによる操作を特定してもよい。
【0059】
例えば上スクロール操作や下スクロール操作が行われたことを表す操作情報をユーザ端末12bから受信した場合に、他ユーザ操作特定部54は、当該操作情報が表す上スクロール操作や下スクロール操作をユーザBの操作として特定してもよい。またこの場合に、操作情報がスクロール量を示す情報を含んでおり、他ユーザ操作特定部54が、この情報に基づいてスクロール操作におけるスクロール量を特定してもよい。
【0060】
また例えばオブジェクト処理の実行を指示する選択操作を表す操作情報をユーザ端末12bから受信した場合に、他ユーザ操作特定部54は、当該操作情報が表す選択操作をユーザBの操作として特定してもよい。
【0061】
カーソル位置特定部56は、本実施形態では例えば、ウェブページ42などといった共有コンテンツ上のカーソル44の位置を特定する。
【0062】
フォーカス状態判定部58は、本実施形態では例えば、ウェブページ42などといった共有コンテンツに配置されているオブジェクトがフォーカス状態であるか非フォーカス状態であるかを判定する。
【0063】
またフォーカス状態判定部58が、オブジェクトのフォーカス状態から非フォーカス状態への変化や、オブジェクトの非フォーカス状態からフォーカス状態への変化を検出してもよい。例えばウェブブラウザに実装されている、onfocusイベントやonblurイベントの発生を検出する機能を用いて、フォーカス状態判定部58が、当該変化の発生を検出してもよい。そしてフォーカス状態判定部58が、検出された変化に基づいて、オブジェクトがフォーカス状態であるか非フォーカス状態であるかを判定してもよい。
【0064】
履歴情報生成部60は、本実施形態では例えば、履歴情報を生成して履歴情報記憶部50に記憶させる。ここで例えば、上述の変化が検出されたタイミングを示すタイミング情報、当該変化が発生したオブジェクトのオブジェクト識別情報、及び、当該変化に対応付けられる値が設定されたフォーカス情報を含むフォーカス履歴情報が生成されてもよい。
【0065】
表示更新特定部62は、本実施形態では例えば、ユーザBの操作による共有コンテンツのスクロールなどといった共有コンテンツの表示更新を特定する。なおスクロール以外の表示更新の例としては、複数のスライドを含む共有コンテンツにおける、表示されるスライドの更新や、複数のページを含む共有コンテンツにおける、表示されるページの更新などが挙げられる。表示更新特定部62は、自ユーザ操作特定部52により選択操作が行われたことが特定された場合に、当該選択操作のタイミングまでの時間T1にユーザBの操作による表示更新があったか否かを特定してもよい。
【0066】
ここで表示更新特定部62は、他ユーザ操作特定部54が特定するユーザBの操作の履歴を保持してもよい。そしてユーザBの操作の履歴に基づいて、基準タイミングから現在までの時間T1においてユーザBの操作による表示更新があったか否かを特定してもよい。
【0067】
オブジェクト特定部64は、本実施形態では例えば、オブジェクト処理の対象となるオブジェクトを特定する。オブジェクト特定部64は、自ユーザ操作特定部52により選択操作が行われたことが特定された場合に、オブジェクト処理の対象となるオブジェクトを特定してもよい。
【0068】
またオブジェクト特定部64は、ユーザBの操作による表示更新に関する所定の条件を満足するか否かを特定してもよい。そして条件を満足するか否かに応じた規則に従って、オブジェクト特定部64は、オブジェクト処理の対象となるオブジェクトを特定してもよい。
【0069】
例えば、上述の所定の条件を満足する場合に、オブジェクト特定部64は、基準タイミング以前であって、基準タイミングに最も近いタイミングにフォーカス状態であったオブジェクトを、オブジェクト処理の対象となるオブジェクトとして特定してもよい。ここでオブジェクト特定部64は、履歴情報記憶部50に記憶されているフォーカス履歴情報に基づいて、基準タイミング以前であって基準タイミングに最も近いタイミングにフォーカス状態であったオブジェクトを特定してもよい。
【0070】
また例えば、基準タイミングにおいてフォーカス状態であったオブジェクトが存在する場合は、当該オブジェクトがオブジェクト処理の対象となるオブジェクトとして特定されてもよい。また例えば、基準タイミングにフォーカス状態であり、基準タイミングから選択操作のタイミングまでの時間T1に非フォーカス状態になったオブジェクトが、オブジェクト処理の対象となるオブジェクトとして特定されてもよい。
【0071】
また逆に上述の所定の条件を満足しない場合に、オブジェクト特定部64は、選択操作のタイミングにフォーカス状態であったオブジェクトを、オブジェクト処理の対象となるオブジェクトとして特定してもよい。ここでオブジェクト特定部64は、選択操作のタイミングにフォーカス状態であったオブジェクトを、履歴情報記憶部50に記憶されているフォーカス履歴情報に基づいて特定してもよい。
【0072】
ここで上述の所定の条件の一例としては、例えば、表示更新特定部62により、基準タイミングから選択操作のタイミングまでの時間T1に、ユーザBの操作による表示更新があったという条件が挙げられる。
【0073】
またこの条件だけではなく、さらなる追加条件を満足する場合に、基準タイミング以前であって、基準タイミングに最も近いタイミングにフォーカス状態であったオブジェクトが、オブジェクト処理の対象となるオブジェクトとして特定されるようにしてもよい。
【0074】
ここで追加条件の一例としては、例えば、基準タイミングにおける共有コンテンツ上におけるカーソル44の位置と、選択操作のタイミングにおける共有コンテンツ上におけるカーソル44の位置と、の間の長さが所定長よりも短い、という条件が挙げられる。また追加条件の別の一例としては、選択操作のタイミングにフォーカス状態であるオブジェクトが存在しないという条件が挙げられる。また追加条件のさらに別の一例としては、基準タイミングよりも前の時間T2にユーザBの操作による表示更新がないという条件が挙げられる。ここで時間T2は時間T1と同じであってもよいし異なっていてもよい。また時間T2は時間T1より長くてもよいし短くてもよい。また以上の条件のうちの複数の条件をすべて満たすという条件が追加条件とされてもよい。なお時間T2は任意であり、例えば、実験結果や経験に基づいて設定されたものであってもよい。
【0075】
オブジェクト処理実行部66は、本実施形態では例えば、オブジェクト特定部64によってオブジェクト処理の対象となるオブジェクトとして特定されるオブジェクトに対するオブジェクト処理を実行する。
【0076】
画面更新部68は、本実施形態では例えば、自ユーザ操作特定部52、及び、他ユーザ操作特定部54が特定する操作や、オブジェクト処理実行部66が実行するオブジェクト処理の結果等に基づいて、ユーザ端末12aの表示部26に表示されている画面を更新する。
【0077】
自ユーザ操作送信部70は、本実施形態では例えば、自ユーザ操作特定部52により特定される操作を表す操作情報をユーザ端末12bに送信する。ここでオブジェクト処理が実行された場合に、自ユーザ操作送信部70が、オブジェクト処理が実行されたオブジェクトに対する選択操作を表す操作情報をユーザ端末12bに送信してもよい。このようにすると、ユーザ端末12bにおいても、ユーザ端末12aと同様に、特定されたオブジェクトに対するオブジェクト処理が実行されることとなる。
【0078】
以下、本実施形態に係るユーザ端末12aにおいて実行される処理の流れの一例を、図6に示すフロー図を参照しながら説明する。ここで以下に示すS101〜S112に示す処理は、所定のサンプリングレートで繰り返し実行されることとする。
【0079】
まず、自ユーザ操作特定部52が、ユーザ端末12aの操作部28を介して受け付けたユーザAの操作を特定する(S101)。
【0080】
そして、他ユーザ操作特定部54が、ユーザ端末12aの通信部24を介してユーザ端末12bから受信した操作情報に基づいて、ユーザBの操作を特定する(S102)。
【0081】
そしてカーソル位置特定部56が、本ループにおけるカーソル44の位置を特定する(S103)。
【0082】
そしてフォーカス状態判定部58が、ウェブページ42上の各オブジェクトについての、オブジェクトのフォーカス状態から非フォーカス状態への変化、及び、オブジェクトの非フォーカス状態からフォーカス状態への変化を検出する(S104)。
【0083】
そして履歴情報生成部60が、S104に示す処理で検出された変化に基づいて、フォーカス履歴情報を生成して、履歴情報記憶部50に記憶させる(S105)。
【0084】
そしてオブジェクト特定部64は、S101に示す処理で特定された操作に基づいて、本ループにおいてオブジェクト処理が実行されるか否かを判定する(S106)。
【0085】
オブジェクト処理の実行を行うことが判定された場合は(S106:Y)、表示更新特定部62が、所定の条件を満足するか否かを特定する(S107)。ここで所定の条件とは、上述のように、現在までの時間T1にユーザBの操作による表示更新があったという条件などの条件である。
【0086】
ここで現在までの時間T1にユーザBの操作による表示更新があったことが特定されたとする(S107:Y)。この場合は、オブジェクト特定部64が、基準タイミングを基準とするオブジェクトの特定を行う(S108)。S108に示す処理では上述のように例えば、基準タイミング以前であって、基準タイミングに最も近いタイミングにフォーカス状態であったオブジェクトが、オブジェクト処理の対象となるオブジェクトとして特定される。
【0087】
逆に現在までの時間T1にユーザBの操作による表示更新がなかったことが特定されたとする(S107:N)。この場合は、オブジェクト特定部64が、現在を基準とするオブジェクトの特定を行う(S109)。S109に示す処理では上述のように例えば、現在においてフォーカス状態であるオブジェクトが、オブジェクト処理の対象となるオブジェクトとして特定される。
【0088】
そしてS108又はS109に示す処理が実行された後で、オブジェクト処理実行部66が、オブジェクト処理の対象となるオブジェクトとして特定されたオブジェクトに対するオブジェクト処理を実行する(S110)。
【0089】
そして、S106に示す処理でオブジェクト処理の実行を行わないことが判定された場合(S106:N)、又は、S110に示す処理が終了した場合は、画面更新部68が、ユーザ端末12aの表示部26に表示されている画面を更新する(S111)。
【0090】
そして自ユーザ操作送信部70が、S101に示す処理で特定される操作を表す操作情報をユーザ端末12bに送信して(S112)、S101に示す処理に戻る。S112に示す処理では、上述のように、オブジェクト処理が実行されたオブジェクトに対する選択操作を表す操作情報が送信されてもよい。
【0091】
なお図6に示す処理例において、ユーザAによる操作のタイミングとユーザBによる操作のタイミングとの同期方法は特に問わない。
【0092】
例えば上述の図6に示す処理のループにおいて、最新の入力データを用いてS101に示す処理が実行され、その直後に最新の操作情報を用いてS102に示す処理が実行されてもよい。
【0093】
また例えば、ユーザAによる物理的な操作入力に対応付けられる入力データや、ユーザBによる物理的な操作入力に対応付けられる操作情報がタイムスタンプに関連付けられていてもよい。そして同じ時刻のタイムスタンプに関連付けられている入力データと操作情報の両方が取得されたことをトリガにして、当該入力データと当該操作情報が用いられる、図6に示す処理のループが開始されるようにしてもよい。
【0094】
なお履歴情報記憶部50に記憶される履歴情報は、図5に示すフォーカス履歴情報に限定されない。図7は、履歴情報記憶部50に記憶される履歴情報の別の一例である、位置履歴情報の一例を示す図である。
【0095】
図7に示す位置履歴情報は、時刻に対応付けられる。図7に示す位置履歴情報には、シリアル番号と、カーソル位置情報と、オブジェクト情報と、が含まれる。
【0096】
シリアル番号は、例えば、位置履歴情報の識別情報であり、位置履歴情報の生成時刻に対応付けられる。また位置履歴情報が、シリアル番号の代わりに、位置履歴情報の生成時刻を示す情報を含んでいてもよい。
【0097】
カーソル位置情報は、例えば、カーソル44の画面内における位置を示す情報である。
【0098】
オブジェクト情報は、例えば、オブジェクトの位置等の属性を示す情報である。本実施形態では、位置履歴情報には、それぞれオブジェクトに対応付けられるオブジェクト情報が複数含まれる。図7には、セレクトボックス48aのオブジェクト情報が代表して示されている。
【0099】
オブジェクト情報には、例えば、位置情報、サイズ情報、スクロールユーザ情報、クリック可否情報が含まれる。位置情報は、例えば、オブジェクトの位置を示す情報である。サイズ情報は、例えば、オブジェクトのサイズを示す情報である。スクロールユーザ情報は、例えば、オブジェクトに対するスクロール操作を実行したユーザを示す情報である。クリック可否情報は、例えば、オブジェクトのクリック可否を示す情報である。
【0100】
ここで図7に示すように、カーソル位置情報や、オブジェクト情報に含まれる位置情報、サイズ情報は、座標値により表現されてもよい。この座標値は例えば、表示部26の画面の左上隅を原点とする座標系で表現される、画面上の位置を表すものであってもよい。
【0101】
ここで図7に示す位置履歴情報が、例えば、上述の所定のサンプリングレートで生成されてもよい。またフォーカス状態判定部58が、図7に示す位置履歴情報に基づいて、各オブジェクトがフォーカス状態であるか非フォーカス状態であるかを判定してもよい。またオブジェクト特定部64が、図7に示す位置履歴情報に基づいて、基準タイミング以前であって、基準タイミングに最も近いタイミングにフォーカス状態であったオブジェクトを特定してもよい。またオブジェクト特定部64が、図7に示す位置履歴情報に基づいて、選択操作のタイミングにフォーカス状態であったオブジェクトを特定してもよい。
【0102】
ここで上述のオブジェクトは、時間の経過に伴ってサイズが変化するものであってもよい。この場合、図7に示されているサイズ情報の値(a21,b21)、(a22,b22)、(a23,b23)は互いに異なるものとなる。また上述のオブジェクトは、サイズが変化しないものであってもよい。この場合、図7に示されているサイズ情報の値(a21,b21)、(a22,b22)、(a23,b23)は同じものとなる。また、上述のオブジェクトは時間の経過に伴って位置が変化するものであってもよい。また、上述のオブジェクトは時間の経過に伴って位置が変化しないものであってもよい。このように本実施形態では上述のオブジェクトが動くものであっても対応可能である。
【0103】
以上で説明したように、本実施形態では、上述の所定の条件を満足する場合は、基準タイミング以前であって基準タイミングに最も近いタイミングにフォーカス状態であったオブジェクトに対してオブジェクト処理が実行される。ここで所定の条件とは、例えば、基準タイミングから選択操作のタイミングまでの時間に他のユーザによる表示更新があったという条件などである。
【0104】
以上のように、本実施形態では、オブジェクト処理が実行されるオブジェクトの決定において、基準タイミングから選択操作のタイミングまでの他のユーザの操作による表示更新が考慮される。そのため本実施形態では、他のユーザの操作による表示更新があった後の共有コンテンツに対するユーザの操作を適切に処理できることとなる。
【0105】
またセレクトボックス48に対するオブジェクト処理が実行される度に、セレクトボックス48の変更後のチェック状態を示す情報がユーザ端末12bに送信される必要がある。ここで例えば図3Fに示す状況において、セレクトボックス48aではなくセレクトボックス48cがチェック状態に変更されたとする。この場合、ユーザAは意図した処理が実行されるようにするため、セレクトボックス48aに対して選択操作を行い、さらには、セレクトボックス48cに対して選択操作を行う必要がある。この場合は、本来は不要である、セレクトボックス48のチェック状態を示す情報の送信が余分に2回行われることとなる。本実施形態によれば、このような、ユーザ端末12aやユーザ端末12bにおける余分な処理や余分なネットワークトラフィックの発生を防ぐことができる。
【0106】
なお、本発明は上述の実施形態に限定されるものではない。
【0107】
例えばマウスに対するクリック操作の代わりに、タッチパネルに対するタップ操作が、所定の処理の実行を指示する操作として取り扱われてもよい。
【0108】
また例えば、カーソル位置特定部56が、フローティングタッチの操作により表示されるカーソル44の位置を特定してもよい。
【0109】
また例えば、カメラ部30が撮影する画像などに基づき特定可能な3次元空間におけるユーザの動きなどが、所定の処理の実行を指示する操作として取り扱われてもよい。
【0110】
また例えば、コンテンツ共有システム10がサーバ14を含まず、ピアツーピア(P2P)等により互いに接続されているユーザ端末12a及びユーザ端末12bを含んでいてもよい。
【0111】
また、上記の具体的な文字列や数値及び図面中の具体的な文字列や数値は例示であり、これらの文字列や数値には限定されない。
図1
図2
図3A
図3B
図3C
図3D
図3E
図3F
図4
図5
図6
図7