JP3943504B2 - SBC collaboration system and proxy server for realizing SBC collaboration - Google Patents

SBC collaboration system and proxy server for realizing SBC collaboration Download PDF

Info

Publication number
JP3943504B2
JP3943504B2 JP2003008852A JP2003008852A JP3943504B2 JP 3943504 B2 JP3943504 B2 JP 3943504B2 JP 2003008852 A JP2003008852 A JP 2003008852A JP 2003008852 A JP2003008852 A JP 2003008852A JP 3943504 B2 JP3943504 B2 JP 3943504B2
Authority
JP
Japan
Prior art keywords
sbc
client
server
proxy server
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003008852A
Other languages
Japanese (ja)
Other versions
JP2004005396A (en
Inventor
直久 田辺
真也 花野
雅文 樋口
健司 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2003008852A priority Critical patent/JP3943504B2/en
Publication of JP2004005396A publication Critical patent/JP2004005396A/en
Application granted granted Critical
Publication of JP3943504B2 publication Critical patent/JP3943504B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、SBC(server-based computing)コラボレーション技術に関し、特に、複数の遠隔ユーザがSBCサーバ上で稼動するアプリケーション画面を共有し、協調作業することを可能にするプロキシサーバを備えた、センター集中型のSBCコラボレーション技術に関する。
【0002】
【従来の技術】
近年、いわゆるSBC(server-based computing)技術により、ネットワーク内のSBCサーバで稼動する任意のアプリケーションを、ネットワークに接続された単一のSBCクライアントのSBCブラウザから、ユーザが遠隔利用できるシステムが開発されている。
【0003】
SBCシステムでは、高負荷のアプリケーションをクライアント端末ではなくサーバで実行し、その実行画面だけをクライアントに送信する。ユーザはあたかも自分の端末にインストールされたアプリケーションを実行するかのように、サーバ内のアプリケーションを利用することができる。ユーザとサーバとの関係は基本的に1対1対応であり、各ユーザはそれぞれ単独でサーバ内のアプリケーションを利用する。クライアント端末は、入力操作に対応した実行画面をサーバから受け取るだけなので、PDAなどの低性能の端末からでも複雑なアプリケーションを実行することが可能になる。
【0004】
図1は、現在利用されているSBCシステムの概要を説明するためのネットワーク構成図である。現状のSBCシステムαは、任意のアプリケーションをインストール可能なSBCミドルウエア2を具備したSBCサーバ3と、ネットワーク4を介してSBCサーバ3にアクセス可能なSBCクライアント106を含む。SBCクライアント106は、SBCブラウザ105を備え、このSBCブラウザ105からネットワーク4を介してSBCミドルウエア2上のアプリケーション1を遠隔利用する。
【0005】
SBCクライアント106のユーザ(不図示)が、SBCサーバ3上のアプリケーション1を遠隔利用する場合、マウス、キーボード、タブレット、ジョイスティック、その他任意の入力装置(不図示)を使って入力操作する。SBCブラウザ105は、ユーザによる入力操作情報を、ネットワーク4を介してSBCサーバ上で稼動するSBCミドルウエア2に送信する(ST1)。
【0006】
SBCミドルウエア2は、ネットワーク4を介してSBCブラウザ105から受信した入力操作情報を、SBCミドルウエア2上で稼動するアプリケーション1に受け渡す(ST2)。アプリケーション1は、ユーザの入力操作情報に基づいた処理を実行し、実行結果である画面更新情報をSBCミドルウエア2に供給する(ST3)。SBCミドルウエア2は、アプリケーション1から受け取った画面更新情報を、ネットワークを介してSBCクライアント106に転送して、画面更新情報の内容をSBCブラウザ105の画面に表示させる(ST4)。
【0007】
このような動作を繰り返すことで、ユーザは、SBCサーバ3上のアプリケーション1を、SBCクライアント106にインストールされたアプリケーションのごとく利用することができる。
【0008】
なお、SBCサーバ3上のアプリケーション1としては、SBCミドルウエア2が対応するOS(operating system)上で動作し得るアプリケーションであれば、たとえば、エディタソフト、DTP(desktop publishing)ソフト、CAD(computer aided design)ソフト、ゲームソフトなど、基本的にはどのようなアプリケーションでもほぼ動作可能である。
【0009】
SBCミドルウエア2としては、たとえばMetaFrame(Citrix社の登録商標)、VNC(Virtual Network Computing;AT&T社)、Tarantella(SCO社の登録商標)、GO-Global(GraphOn社の登録商標)などを適用することができる。
【0010】
ところで、現状のSBCシステムαにおけるSBCミドルウエア2は、あくまでも個々のユーザが単独でSBCサーバ3上のアプリケーション1を利用することを前提としている。したがって、SBCサーバ3で稼動するアプリケーション1の画面を複数のSBCクライアント106のSBCブラウザ105に表示して、ユーザ間でアプリケーション1を相互に利用する、あるいはリアルタイムで協調作業を行う、などのコラボレーションを実現するのは容易ではない。
【0011】
一方、ウェブ上で使用可能なアプリケーションを複数人で共有し、協調作業を行う技術が知られている(たとえば、特許文献1および2参照)。また、サーバ上で実際に稼動するアプリケーションソフトを1つに限定して、クライアントのキー操作による実行画面を複数のクライアントに配信し、協調作業を可能にする技術が知られている(たとえば、特許文献3参照)。
【0012】
【特許文献1】
特開2000−112862号公報
【0013】
【特許文献2】
特開平11−25042号公報
【0014】
【特許文献3】
特開平3−273443号公報
【0015】
【発明が解決しようとする課題】
しかし、これらの技術を、高度で複雑なアプリケーションの並列的な遠隔利用とデータの集中管理を前提とするサーバベースコンピューティング(SBC)によるコラボレーションに、即座に適用することはできない。
【0016】
そこで、本発明は、既存のSBCシステムを利用して、複数のSBCクライアントとSBCサーバとの間で、SBCサーバ内の任意のアプリケーションを共有し、協調作業することを可能にする新規なSBCコラボレーションシステムを提供する。
【0017】
【課題を解決するための手段】
上記課題を解決するために、SBCサーバと複数のSBCクライアントとをつなぐネットワークの任意の領域にプロキシサーバを配置し、1のSBCクライアントにより実行されるSBCサーバ上のアプリケーション画面をプロキシサーバでコピーして、各SBCクライアントに配信する。また、SBCクライアントの要求に応じて、アプリケーションを操作できる操作権の所在をプロキシサーバで動的に切り換えることにより、協調作業(セッション)に参加している任意のSBCクライアントがアプリケーション操作に介入することを可能にする。
【0018】
より具体的には、本発明の第1の側面では、任意のアプリケーションを導入可能なSBCミドルウエアを備えるSBCサーバと、SBCサーバにネットワークを介して接続され、前記アプリケーションを遠隔的に利用可能な複数のSBCクライアントと、ネットワーク上の任意の領域に配置され、SBCサーバと複数のSBCクライアントとの間を接続するプロキシサーバとを含むSBCコラボレーションシステムを提供する。このSBCコラボレーションシステムにおいて、プロキシサーバは、(a)第1のSBCクライアントに、前記アプリケーションの実行を許可する操作権を付与し、(b)第1のSBCクライアントから前記アプリケーションを実行する第1の入力操作情報を受信し、第1の入力操作情報をSBCサーバに転送して前記アプリケーションを実行させ、(c)前記アプリケーションの実行画面をSBCサーバから受け取って、この実行画面を前記複数のSBCクライアントに配信する。
【0019】
複数のSBCクライアントは、SBCサーバ上のアプリケーションを用いて協調作業するためのセッショングループを構成する。プロキシサーバは、セッショングループを構成する複数のSBCクライアントの間で、操作権の受け渡しを管理する。操作権が与えられるのは、複数のSBCクライアントの中の1のSBCクライアントであるが、操作権の所在を複数のSBCクライアントの間で調整することによって、複数のSBCクライアントが協調して、SBCサーバ上の1のアプリケーションを操作することが可能になる。
【0020】
プロキシサーバは、操作権を有するSBCクライアントの入力操作に応じたアプリケーションの実行画面を、セッションに参加している複数のSBCクライアントの数だけ複製し、配信する。
【0021】
プロキシサーバは、操作権を有さない第2のSBCクライアントから操作権取得要求を受け取った場合に、第1のSBCクライアントに対し、操作権譲渡依頼を送信する。そして、第1のSBCクライアントから操作権譲渡の許可通知を受け取った場合に、操作権を前記第2のSBCクライアントに移転する。
【0022】
このように、プロキシサーバを介してアプリケーション操作権の移転を調整することにより、既存のSBCミドルウエアをそのまま利用して、複数のSBCクライアントの間での協調作業が可能になる。
【0023】
本発明の第2の側面では、任意のアプリケーションを導入可能なSBCミドルウエアを備えるSBCサーバと、SBCサーバにネットワークを介して接続され前記アプリケーションを遠隔的に利用可能な複数のSBCクライアントとの間に挿入されるプロキシサーバを提供する。プロキシサーバは、(a)第1のSBCクライアントに、前記アプリケーションの実行を許可する操作権を付与する操作権管理部と、(b)第1のSBCクライアントから、前記アプリケーションを実行するための第1の入力操作情報を受信し、この第1の入力操作情報を前記SBCサーバに転送して前記アプリケーションを実行させる操作情報中継部と、(c)前記アプリケーションの実行画面をSBCサーバから受け取って、当該実行画面を複数のSBCクライアントに送信する実行画面配信部とを備える。
【0024】
実行画面配信部は、アプリケーションの実行画面を複数のSBCクライアントの数だけ複製する複写部を有する。複製された実行画面を一律にセッションに参加しているSBCクライアントに配信するので、SBCクライアントとSBCサーバとの間の通信速度、応答性を高く維持することができる。
【0025】
操作権管理部は、操作権を有さない第2のSBCクライアントから、操作権取得要求を受け取った場合に、第1のSBCクライアントに対して、操作権の譲渡依頼を送信する。そして、第1のSBCクライアントから操作権譲渡の許可通知を受け取った場合に、操作権を第2のSBCクライアントに移転する。
【0026】
操作権管理部により、複数のSBCクライアントの間でのアプリケーション操作権の移転を管理するので、既存のSBCシステムを利用した協調作業を可能にする。
【0027】
その他の構成、特徴についても、以下で図面を参照して述べる詳細な説明により、明白になるものである。
【0028】
【発明の実施の形態】
図2は、本発明の一実施形態に係るSBCコラボレーションシステムβの概略構成図である。SBCコラボレーションシステムβは、SBCサーバ3と、SBCサーバ3にネットワーク4を介して接続される複数のSBCクライアント6A、6B,6Cと、ネットワーク4上の任意の領域に設置されるプロキシサーバ10を含む。
【0029】
SBCサーバ3は、任意のアプリケーションを導入可能なSBCミドルウエア2を有する。SBCミドルウエア2は既存のSBCミドルウエアである。各SBCクライアント6は、SBCブラウザ5と、SBCコラボレーション補助部7とを有し、ユーザは、SBCブラウザ6から、ネットワーク4を介してSBCミドルウエア2上のアプリケーション1を遠隔利用することができる。SBCコラボレーション補助部7は、プロキシサーバ10によるSBCコラボレーション処理を、SBCクライアント6の側から補助する。
【0030】
プロキシサーバ10は、SBCサーバ3とSBCクライアント6A〜6Cとの間に設置され、操作情報処理部11と、コラボレーション制御部12を有する。操作情報処理部11は、各SBCクライアント6のSBCブラウザ5を介して入力されるアプリケーション操作に関連する情報を処理する。一方、コラボレーション制御部12は、SBCクライアントのSBCコラボレーション補助部7を介して入力される情報を処理し、複数のSBCクライアント6間でのコラボレーション動作を制御する。
【0031】
ネットワーク4およびプロキシサーバ10を介して、SBCサーバ3に接続されるSBCクライアント6A〜6Cは、SBCミドルウエア2上のアプリケーション1を利用したセッションを行うためのグループを構成する。これをたとえばセッショングループIとする。図2では、例示の便宜上、3つのSBCクライアント6A〜6Cを図示しているが、もちろんこれ以上の数のSBCクライアントでセッショングループを構成してもよい。また図示はしないが、複数のセッショングループが、ネットワーク4とプロキシサーバ10を介してSBCサーバ3に接続され、セッショングループごとに並列的にアプリケーション1を遠隔利用して協調作業することができる。
【0032】
グループ全体でのセッションIDと、このグループでセッションに参加するユーザのユーザIDは、あらかじめ契約等によりプロキシサーバに予約登録しておく。予約登録により、SBCクライアント6に、協調作業を行うためのプロキシサーバのIPアドレスと、ポート番号が付与されるものとする。
【0033】
プロキシサーバ10は、SBCクライアント6から見ると仮想的なSBCサーバであり、SBCサーバ3からみると仮想的なSBCクライアントである。サーバ3にとっては、アプリケーション1を利用するクライアントはセッショングループIであって、セッショングループIにいくつのSBCクライアントが属し、現在グループ内のどのSBCクライアントがアプリケーションの実行を行っているかは問題でない。実際にアプリケーションを実行するのは、セッショングループI内の1のSBCクライアントであるが、操作権の所在については、プロキシサーバ10が管理しており、SBCサーバ3からみると、あくまでもセッショングループIがアプリケーション1を利用している状態が成立する。したがって、既存のSBCミドルウエア2の基本態様である1対1対応のアプリケーション操作をそのまま利用して、グループIの内部で複数のSBCクライアントによる協調作業が可能になる。
【0034】
図3は、プロキシサーバ10の詳細なブロック構成図である。プロキシサーバ10は、上述した操作情報処理部11とコラボレーション制御部12に加え、SBCクライアント6A、6B,6Cからの入力を受け付ける、対クライアント入力受付部15と、SBCサーバ3からの入力を受け付ける、対サーバ入力受付部16と、クライアント情報を格納するクライアント情報データベース18を有する。クライアント情報としては、セッションID,参加予定ユーザID,パスワード、SBCサーバ3のIP、ポート番号などが挙げられる。なお、クライアント情報の一部またはすべては、SBCサーバ3内にも設定される。
【0035】
対クライアント入力受付部15は、SBCクライアント6から受け取ったパケットを、パケットに含まれる情報の種類に応じて、操作情報処理部11か、コラボレーション制御部12のいずれかに振り分ける。
【0036】
操作情報処理部11は、セッショングループIに属する1のSBCクライアント6による入力操作をSBCサーバ3に中継する操作情報中継部25と、入力された操作情報に基づいてSBCサーバ3内で実行された実行画面を各SBCクライアント6A〜6Cに配信するSBCブラウザ画面配信部21を有する。SBCブラウザ画面配信部21は複写部22を有し、配信に先立って、アプリケーションの実行画面を参加ユーザ分だけコピーする。
【0037】
操作情報中継部25は、対クライアント入力受付部15から送られてきたパケットが、現在操作権が与えられているSBCクライアント(以下、「特権ユーザ」と称する)からのパケットであるか否かを判断するパケット判断部26を有する。パケットが特権ユーザからのものであれば、パケット送信部27からこのパケットをSBCサーバ3へ送信する。パケットが現在の特権ユーザ以外のユーザ(以下、「通常ユーザ」と称する)からのものであれば、誤操作による入力とみなして、操作情報破棄部28でパケットを破棄する。
【0038】
一方、コラボレーション制御部12は、コラボレーションユーザ認証部31と、コラボレーションセッション管理部32と、コラボレーション操作権管理部33を有する。これらの要素の動作の詳細については後述する。
【0039】
図4は、SBCクライアント6上に表示されるSBCコラボレーションブラウザ41の一例を示す。SBCコラボレーションブラウザ41は、SBCブラウザ5と、SBCコラボレーション補助部7を有する。SBCブラウザ5は、サーバ3で実行され、プロキシサーバ10により複写・配信された実行画面(SBCブラウザ画面)を表示する。すべての参加ユーザは、SBCブラウザ5上で、現在の実行画面をリアルタイムで閲覧することができる。
【0040】
SBCコラボレーション補助部7は、セッション情報表示部42と、能動制御部43を有する。セッション情報表示部42は、一例として、セッション参加者および現在の操作権の所在を示す参加者一覧画面52と、システムの稼動履歴を表示するメッセージ表示画面53を有する。能動制御部43は、操作権取得要求ボタン54を有する。SBCミドルウエア2上のアプリケーション1を利用した協調作業中に、任意のSBCクライアントがアプリケーション1の実行に関与したい場合に、この操作権取得要求ボタン54をクリックする。操作権取得要求ボタンによる操作権変更については、後述する。
【0041】
図4の例では、たとえばSBCクライアント6AのユーザであるTanabeに操作権が与えられており、他のSBCクライアント6B,6Cのユーザは、閲覧権のみを有する。閲覧権は参加ユーザ全員に自動的に与えられ、もちろん操作権を有するユーザも閲覧権を有する。したがって、SBCクライアント6とプロキシサーバ10の間で、アプリケーションの操作権者には双方向の通信が与えられ、それ以外のアプリケーション閲覧者には片方向の通信が成立する。
【0042】
セッション開始時の操作権の所在については、たとえば、セッショングループI内でセッションを召集して最初にプロキシサーバ10にアクセスした者に操作権を与えてもよいし、開始時に操作権が与えられる者をあらかじめ決めておいてもよい。
【0043】
図5は、図2のSBCシステムβを用いたコラボレーションの処理シーケンスを示す図である。SBCクライアント6A〜6C、プロキシサーバ10、SBCサーバ3のすべてが立ち上げられている状態とする(ST11〜ST14)。
【0044】
この状態で、たとえばSBCクライアント6Aのユーザ(特権ユーザ)が、あらかじめ指定されたプロキシサーバ10のポート(不図示)に接続して、SBCコラボレーションのサービスを要求する(ST15)。この接続要求は、図4に示すSBCコラボレーションブラウザ41のSBCコラボレーション補助部7から行われる。プロキシサーバ10は、アクセスしてきたSBCクライアント6Aについてクライアント認証を行う(ST16)。
【0045】
クライアント認証手続きにおいて、プロキシサーバ10のコラボレーションユーザ認証部31は、対クライアント入力受付部15から、SBCクライアント6AのユーザID、パスワード、クライアントIPアドレスなどを受け取る。コラボレーションユーザ認証部31は、コラボレーションセッション管理部32にセッションIDの確認を要求する。コラボレーションセッション管理部32は、クライアント情報データベース18を検索して、アクセスされたプロキシサーバ10のポート番号から予約されたセッションIDを抽出し、抽出したセッションIDから参加予定ユーザIDを検索する。コラボレーションユーザ認証部31は、SBCクライアント6AのユーザIDが参加予定ユーザIDの中に含まれていれば、そのパスワードを確認して認証を完了し(ST16でYES)、SBCクライアント6Aに認証完了情報を送信する(ST17)。
【0046】
一方、コラボレーションセッション管理部32は、ユーザ認証部31でユーザ認証が成功したならば、セッションID,ユーザID,クライアントIPアドレスなどのセッション情報を更新する。コラボレーション操作権管理部33は、セッション情報の更新にともなって、最初に接続要求してきたSBCクライアント6Aに操作権を付与し、操作権情報を更新する。
【0047】
この時点で、SBCクライアント6AのSBCコラボレーション補助部7Aの参加者一覧画面52(図4参照)には、最初の参加者であるSBCクライアント6Aのユーザ名(たとえばTanabe)が、操作権を有する特権ユーザとしてIPアドレス(192.168.10.1)とともに表示される。そして、他のセッション参加者の認証が完了するまで待機状態となる(ST18)。
【0048】
同様に、その他のSBCクライアント6B,6Cも、プロキシサーバ10に対して接続を要求し(ST19)、それぞれクライアント認証を受ける(ST20でYES)。SBCクライアント6B,6Cの認証が完了する都度、プロキシサーバ10から、すでに参加しているすべてのSBCクライアント6に認証完了情報が送信される(ST21)。これにより、SBCコラボレーション補助部7の参加者一覧画面52に認証が完了したユーザ名が順次表示される。たとえば、SBCクライアント6Bの参加要求に対して認証が完了したならば、SBCクライアント6Aの参加者一覧画面52に、新たな参加者としてSBCクライアント6Bのユーザ名(たとえばNakamura)が追加表示される(ST22a)。同時に、SBCクライアント6Bの参加者一覧画面52には、特権ユーザの名前(Tanabe)と自己の名前(Nakamura)とが表示される(ST22b)。そして、すべての参加者の認証が済むまで、待機する(ST22a、ST22b)。
【0049】
次に、SBCクライアント6A(特権ユーザ)は、プロキシサーバ10に対してSBCコラボレーション開始命令を送信する(ST23)。プロキシサーバ10は、コラボレーション開始命令を受信し(ST24)、SBCサーバ3に対してSBCサービスの開始を要求する(ST25)。
【0050】
SBCサーバ3は、プロキシサーバ10からのサービス要求(セッション開始要求)に対してクライアント認証を行い(ST26)、認証に成功したならば(ST26でYES)、プロキシサーバ10に対してコラボレーション開始通知を送信する(ST27)。プロキシサーバ10は、このコラボレーション開始通知を受信し、セッションに参加しているすべての参加者のSBCクライアント6A〜6Cに送信する(ST28)。これを受けて、図4に示すように、SBCクライアント6A〜6Cのメッセージ表示画面53に、コラボレーションが開始された旨が表示される(ST29、ST30)。
【0051】
コラボレーションの開始と並行して、SBCサーバ3は、アプリケーション1の全画面情報をプロキシサーバ10に送信する(ST31)。プロキシサーバ10は、全画面情報を受信すると、(ST32)、その全画面情報を、参加ユーザの数だけ複写し、複写画面を各SBCクライアント6A〜6Cに配信する(ST33)。配信された全画面情報は、SBCクライアント6A〜6CのSBCブラウザ5A〜5C上に表示される(ST34、ST35)。
【0052】
図6および8は、上述したコラボレーション開始処理(ST23〜ST30)と、全画面出力処理(ST31〜ST35)を、システム動作の側面から示す図である。まず、図6において、操作権を有するSBCクライアント6AのSBCコラボレーション補助部7Aは、プロキシサーバ10に対してコラボレーション開始要求を送信する(矢印(1))。コラボレーションの開始要求は、たとえば図7に示すコラボレーション開始確認画面で、開始ボタン61をクリックすることにより実行される。
【0053】
コラボレーション開始確認画面は、操作権の与えられたSBCクライアント6AのSBCコラボレーション補助部7Aにのみ表示される構成とする。この場合、特権ユーザに与えられるアプリケーションの操作権の中に、コラボレーションの開始権も含まれることになる。あるいは、認証が完了したすべての参加ユーザのSBCコラボレーション補助部5に、コラボレーション開始確認画面を表示する構成としてもよい。後者の場合、操作権を有さない通常ユーザがコラボレーション開始要求ボタンをクリックしても、コラボレーションユーザ認証部31とコラボレーション操作権管理部33による確認処理で拒否されることになるので、結局は、特権ユーザがコラボレーションを開始することになる。
【0054】
コラボレーション開始要求は、プロキシサーバ10の対クライアント入力受付部15で受信され、コラボレーションセッション管理部32に送られる(矢印(2))。コラボレーションセッション管理部32は、コラボレーション開始要求が入力されたポート番号からセッションIDを検索し、検索されたセッションIDが、現在起動されていない(つまり、これから新たに開始される)セッションのIDであることを確認する。そして、コラボレーション開始要求を起動したユーザのIDを確認する(処理(3))。
【0055】
コラボレーションセッション管理部32は、コラボレーション操作権管理部33に、このセッションの操作権の所在がコラボレーションの開始を要求したユーザにあることを確認する(矢印(4))。確認後、コラボレーションユーザ認証部31から、コラボレーションの開始を要求したユーザのパスワードを取得する(矢印(5))。
【0056】
パスワード取得後、コラボレーションセッション管理部32は、SBCサーバ3にSBCセッションの開始を要求し、SBCサーバ3はユーザID、パスワード、SBCサーバ3のポート番号などからクライアント認証して、セッション開始要求に対する応答を返す(矢印(6))。なお、図示の便宜上、処理(6)を双方向の矢印で示してあるが、SBCサーバ3からの応答は、対サーバ入力受付部16を介してコラボレーションセッション管理部32に供給される。
【0057】
コラボレーションセッション管理部32は、各SBCクライアント6A〜6Cの対プロキシ入力受付部8A〜8Cに対して、セッション開始通知を送信する(矢印(7))。セッション開始通知は、各SBCクライアントのSBCコラボレーション補助部7A〜7Cに送られ(矢印(8))、図4のメッセージ表示部53に表示される。図4の例では、「17:25コラボレーションが開始されました」と表示されている。
【0058】
一方、SBCミドルウエア2は、セッション開始要求に応じて、アプリケーション1を起動する(矢印(9))。アプリケーション1はアプリケーションの全画面を出力し(矢印(10))、SBCサーバ3は、プロキシサーバ10の対サーバ入力受付部16に、全画面を送信する(矢印(11))。
【0059】
図8は、SBC画面出力時のシステム動作図である。図8に示す動作は、セッション開始直後の全画面出力にも、アプリケーションの実行結果である実行画面の出力にも等しく適用される。相違は、全画面出力時には、すべての画面情報を複写し配信するのに対し、アプリケーション実行画面の場合は、実行操作による変更部分のみを複写し、配信する点だけであるので、図8を参照して全画面出力動作を説明する。
【0060】
まず、セッション開始要求に応じてSBCサーバ3内で立ち上げられたアプリケーション1は、SBCミドルウエア2上で全画面を開く(矢印(1))。SBCミドルウエア2は、全画面をその属性とともにプロキシサーバ10に送信する(矢印(2))。プロキシサーバ10の対サーバ入力受付部16は、受信した全画面および属性を、ポート番号とともにSBCブラウザ画面配信部21の複写部22に供給する(矢印(3))。
【0061】
SBCブラウザ画面配信部21は、コラボレーションセッション管理部32に対して、画面出力先を確認する。コラボレーションセッション管理部32は、ポート番号から、セッションIDと、このセッションに参加するすべてのSBCクライアントのIPアドレスを検索し、画面出力先の検索結果をSBCブラウザ画面配信部21に供給する(矢印(4))。SBCブラウザ画面配信部21は、複写部22で画面出力先の数に対応する部数だけ、全画面情報をコピーし、これを各SBCクライアント6A〜6Cに配信する(矢印(5))。
【0062】
各SBCクライアント6A〜6Cの対プロキシ入力受付部8A〜8Cは、受信した全画面情報をSBCブラウザ5A〜5Cに供給し(矢印(6))、SBCブラウザ5A〜5Cに最初の全画面を表示する。
【0063】
図5に戻り、参加者全員のSBCブラウザ5A〜5Cに全画面が表示され、実質的にコラボレーション可能な状態になったところで、アプリケーションの操作権が与えられたSBCクライアント6Aの特権ユーザが、マウス・キーボード等を用いてSBCブラウザ5A上でアプリケーションの操作を行う(ST36)。マウス・キーボード等の入力操作情報は、プロキシサーバ10の対クライアント入力受付部15から、操作情報処理部11の操作情報中継部25に供給される。
【0064】
操作情報中継部25のパケット判断部26(図3参照)は、この入力操作情報を含むパケットが、操作権を有する特権ユーザからのものであるか否かを判断する(ST37)。パケットが、通常ユーザからのものである場合は、(ST37でNO)、操作情報破棄部28で、この入力操作情報を破棄する。一方、パケットが特権ユーザからのものであれば(ST37でYES)、パケット送信部27から、このパケットをSBCサーバ3に送信する(ST38)。
【0065】
パケットの判断は、パケット判断部26が、コラボレーションセッション管理部32およびコラボレーション操作権管理部33に、受信したパケットに関するセッションID、参加ユーザID,現在の操作権の所在(特権ユーザID)を確認することによって行われる。このような判断により、受信したパケットが正しく操作権を有する特権ユーザからのパケットである場合にのみ、SBCサーバ3に入力操作情報を中継する。操作権のない通常ユーザからのパケットを破棄するのは、操作権がないにもかかわらずマウス・キーボード等の誤操作、あるいは無意識の操作などで、アプリケーションの実行操作が錯綜するのを防止するためである。
【0066】
SBCサーバ3は、特権ユーザからの入力操作情報を受け取ると、その入力操作情報に基づいてアプリケーション1を実行する(ST39)。アプリケーション1を実行した結果、実行画面が更新される。SBCサーバ3は、更新部分(変更部分)についての画面更新情報を、プロキシサーバ10に送信する(ST40)。上述したように、実際にアプリケーションの実行が開始されると、セッション開始時とは異なり、全画面情報を送信する必要はなく、実行結果である差分情報だけを送信すればよい。
【0067】
プロキシサーバ10は対サーバ入力受付部16で画面更新情報を受信すると、この画面更新情報をSBCブラウザ画面配信部21に供給する。SBCブラウザ画面配信部21は、画面更新情報を受信すると(ST41)、複写部22で画面更新情報を参加ユーザ分コピーし、これを各SBCクライアント6A〜6Cに配信する(ST42)。SBCクライアント6A〜6Cは、すでに表示されている全画面に画面更新情報を組み込んで、特権ユーザによるアプリケーションの実行結果をSBCブラウザ5A〜5C上に表示する(ST43,ST44)。
【0068】
画面更新情報の複写、配信動作は、図8を参照して説明した全画面情報の複写、配信動作と同様であるので、ここでは説明を省略する。特権ユーザがアプリケーションの実行を継続する限り、ST36〜ST44の処理が繰り返され、各SBCクライアント6A〜6Cに実行画面がリアルタイムで表示される。
【0069】
SBCクライアントは、表示機能さえあれば、複雑なアプリケーションの実行をリアルタイムで遠隔閲覧することができ、各SBCクライアントでのアプリケーションの運用管理コストを削減することができる。また、セッション開始時の全画面情報の送信以降は、アプリケーションの実行による画面更新情報のみを送信するので、通信量が軽く、十分な通信速度を確保できる。さらに、SBCクライアントに配信する画面情報をコピーするだけなので、プロキシサーバ10での処理が早く、SBCコラボレーションシステム全体としてアプリケーションの実行に対する即応性や操作性が高い。
【0070】
操作権を有する特権ユーザのSBCクライアントも、表示装置と入力装置さえあれば、SBCサーバに搭載された複雑で高度なアプリケーションを、SBCクライアント自体にインストールされたアプリケーションを操作するかのように実行することができる。実行履歴は、SBCサーバで集中管理するので、SBCクライアントの資源管理の負担が大幅に軽減される。
【0071】
図9は、複数のセッション参加ユーザの間での操作権受け渡しの処理シーケンスを示す図である。セッション参加ユーザのSBCクライアント6A〜6C、プロキシサーバ10、SBCサーバ3のすべてがセッション状態にある(ST51〜ST54)。
【0072】
まず、SBCクライアント6B,6Cのいずれかの通常ユーザが、SBCコラボレーション補助部7の操作権取得要求ボタン54(図4参照)をクリックすることによって、プロキシサーバ10に対し、アプリケーション操作権の取得要求を行う(ST55)。プロキシサーバ10は、操作権取得要求を受信すると(ST56)、現在の特権ユーザのSBCクライアント6Aに対して、アプリケーション操作権の譲渡依頼を発する(ST57)。
【0073】
SBCクライアント6Aでは、アプリケーション操作権の譲渡依頼を許可するか否かを特権ユーザに問い合わせる(ST58)。問い合わせは、たとえば図11(a)に示す操作権譲渡要求画面を、SBCクライアント6AのSBCコラボレーション補助部7Aに表示することにより行なう。特権ユーザは、アプリケーション操作権の譲渡を許可する場合(ST58でYES)は、許可ボタン71をクリックし、操作権の譲渡を拒否する場合(ST58でNO)は、拒否ボタン72をクリックする。
【0074】
図9の例では、操作権譲渡要求画面は、現在の特権ユーザ(SBCクライアント6A)のSBCコラボレーション補助部7Aにのみ表示される構成としているが、操作権変更の予告として、すべてのSBCクライアント6A〜6BのSBCコラボレーション補助部7A〜7Cに操作権譲渡要求画面を表示する構成としてもよい。この場合は、特権ユーザ以外の者による許可ボタン71あるいは拒否ボタン72の操作は、プロキシサーバ10での特権ユーザIDの確認後に破棄されることになる。
【0075】
操作権譲渡要求画面のボタン操作により、SBCクライアント6Aは譲渡依頼に対する回答をプロキシサーバ10に送信する(ST59)。プロキシサーバ10は、特権ユーザからの回答を受信すると(ST60)、操作権の譲渡が成立したかどうかを判断し(ST61)、譲渡依頼結果をSBCクライアント6A〜6Cに送信する(ST62)。
【0076】
譲渡依頼結果は、SBCクライアント6A〜6CのSBCコラボレーション補助部7に表示される(ST63、ST64)。譲渡依頼が拒否された場合は、たとえば図11(b)に示す操作権譲渡拒否画面が、操作権取得要求を行ったSBCクライアント6CのSBCコラボレーション補助部7Cに表示される。譲渡依頼が許可された場合は、すべてのSBCクライアント6A〜6Cの参加者一覧画面52(図4参照)が、たとえば、「閲覧:Tanabe(192.168.10.1)、閲覧:Nakamura(192.168.10.2)、操作権:Suzuki(192.168.10.3)」のように変更される。操作権の所在が変更されたことが明示されれば、表示の順序は不問である。操作権の所在をハイライト表示する、異なる色で表示するなどして、強調してもよい。また、参加者一覧画面52上で操作権の変更を表示するとともに、メッセージ表示画面53のセッション履歴に、操作権の譲渡を時刻とともに表示してもよい。
【0077】
図10は、操作権の変更手続きを、システム動作の側面から説明するための図である。たとえば、SBCクライアント6Cが、SBCコラボレーション補助部7Cからプロキシサーバ10に操作権取得要求を送信する(矢印(1))。プロキシサーバ10の対クライアント入力受付部15は、この操作権取得要求を、ポート番号、クライアントIPアドレスとともに、コラボレーション操作権管理部33に供給する(矢印(2))。コラボレーション操作権管理部33は、コラボレーションセッション管理部32に、セッションIDおよびユーザIDを確認する。コラボレーションセッション管理部32は、ポート番号からセッションIDとユーザIDを抽出し、抽出結果をコラボレーション操作権管理部33に供給する(矢印(3))。コラボレーション操作権管理部33は、セッションIDから現在の特権ユーザIDを検索し(処理(4))、現在の特権ユーザ(SBCクライアント6Aのユーザ)に、操作権譲渡依頼を送信する(矢印(5))。
【0078】
SBCクライアント6Aの対プロキシ入力受付部8Aは、受信した操作権譲渡依頼をSBCコラボレーション補助部7Aに供給する(矢印(6))。SBCコラボレーション補助部7Aは、たとえば図11(a)に示す操作権譲渡依頼画面を表示する。SBCクライアント6Aは、譲渡依頼に対する回答をプロキシサーバ10に送信する(矢印(7))。プロキシサーバ10の対クライアント入力受付部15は、譲渡依頼結果をコラボレーション操作権管理部33に供給する(矢印(8))。
【0079】
コラボレーション操作権管理部33は、回答結果が操作権譲渡の許可であれば、現在の特権ユーザIDを更新して、更新された特権ユーザ情報を、すべてのSBCクライアント6A〜6Cに送信する(矢印(9))。回答結果が操作権譲渡の拒否であれば、現在の特権ユーザIDを維持して、操作権拒否の通知をSBCクライアント6Cに送信する。
【0080】
SBCクライアント6A〜6Cの対プロキシ入力受付部8A〜8Cは、新たな特権ユーザ、または操作権譲渡依頼の拒否結果をSBCコラボレーション補助部7A〜7Cに供給し、表示する(矢印(10))。
【0081】
図9に戻って、操作権の譲渡の結果、新たな特権ユーザ、たとえばSBCクライアント6Cのユーザは、マウス・キーボード等を用いて、SBCブラウザ5C上でアプリケーションを操作する(ST65)。入力操作情報は、プロキシサーバ10へ送信され、プロキシサーバ10の操作情報中継部25で、入力操作情報が特権ユーザからのパケットであるか否を判断する(ST66)。特権ユーザからのパケットであれば(ST66でYES)、この入力操作情報をSBCサーバ3に中継する(ST67)。SBCサーバ3は、入力操作情報に応じてアプリケーションを実行する(ST68)。特権ユーザからのパケットでない場合は(ST66でNO)、操作情報破棄部28でパケットを破棄する。
【0082】
SBCサーバ3は、アプリケーションの実行結果である画面更新情報をプロキシサーバ10に送信する(ST69)。プロキシサーバ10は、受信した画面更新情報を参加ユーザ分コピーして、セッションに参加しているすべてのSBCクライアント6A〜6Cに配信する(ST70、ST71)。SBCクライアント6A〜6Cは、更新された実行画面をSBCブラウザ5A〜5C上に表示する(ST72、ST73)。
【0083】
画面更新情報の複写、配信のシステム動作は、図8と関連して説明したとおりであり、説明を省略する。新たな特権ユーザによるアプリケーションの操作は、次に操作権取得要求ボタンがクリックされ、操作権の譲渡が許可されるまで継続し、ST65〜ST73が繰り返される。
【0084】
このように、アプリケーションの操作権を有する特権ユーザだけが実際にSBCサーバ3内のアプリケーション1を実行することができるが、操作権の所在は、特権ユーザと、グループ内の通常ユーザとの間のネゴシエーションにより、随時変更可能である。操作権の変更、所在については、プロキシサーバ10のコラボレーション操作権管理部33が一括管理するので、SBCクライアント6への負担は少ない。
【0085】
また、操作権の所在にかかわらず、アプリケーション1の実行画面はプロキシサーバ10で複製され配信されるので、セッションに参加するSBCクライアント6のすべてにおいてリアルタイムで表示される。SBCサーバ3からみると、あくまでもアプリケーション1を実行するクライアントはセッショングループIであり、クライアントとアプリケーションの実行を1対1対応とする既存のSBCミドルウエア2の基本仕様をそのまま利用することができる。
【0086】
以上では、セッション参加予定者がすべて揃ってからセッションを開始する例に基づいて、処理シーケンスとシステム動作を説明した。しかし、セッショングループIに所属するユーザが、セッションへ途中参加できる構成にしてもよい。この場合、操作権を有する特権ユーザは、他のセッション参加者のログイン状態を確認しつつ、自分の意思によってコラボレーション開始命令を出し、コラボレーションを開始させることができる。また、SBCクライアント6B,6Cも、参加予定のすべてのクライアントの参加まで待たずに、特権ユーザによるコラボレーション開始命令が出されるまで待機することになる。さらに、操作権を有する特権ユーザが、グループ内に属する新たなユーザの参加を許可あるいは不許可にする構成にすることも可能である。
【0087】
処理シーケンスとしては、セッション開始後に、セッションへの参加を要求するSBCクライアント6D(不図示)が、SBCコラボレーションブラウザ41を立ち上げて、プロキシサーバ10への接続要求を行う。クライアント認証後、プロキシサーバ10のコラボレーションセッション管理部32は、入力ポート番号からセッションIDを検索し、検索されたセッションが現在セッション中であるか否かを判断する。セッション中であれば、コラボレーション操作権管理部33に現在の特権ユーザを確認し、特権ユーザであるSBCクライアント6Aに対して、コラボレーション参加要求依頼を送信する。SBCクライアント6Aは参加要求依頼を受信し、SBCコラボレーション補助部7Aに、たとえば図12(a)に示すコラボレーション参加要求画面が表示される。
【0088】
特権ユーザは、コラボレーション参加要求画面で許可ボタン81または拒否ボタン82をクリックすることによって、セッション途中でのユーザの参加を許可、あるいは不許可する。不許可の場合、プロキシサーバ10のコラボレーションセッション管理部32は、参加要求を行ったSBCクライアント6Dに対して、不許可通知を送信する。SBCクライアント6DのSBCコラボレーション補助部7Dには、たとえば図12(b)に示すコラボレーション参加拒否画面が表示される。
【0089】
許可ボタン81のクリックによりセッション参加が許可された場合は、プロキシサーバ10のコラボレーションセッション管理部32で、セッション参加中のユーザIDのリストに新たなユーザIDが追加される。これと同時に、プロキシサーバ10はSBCサーバ3に対して、現在の全画面情報を要求する。SBCサーバ3は、現在の全画面情報をプロキシサーバ10に送信する。プロキシサーバ10のSBCブラウザ画面配信部21は、セッション参加が認められたSBCクライアント6Dに全画面情報を配信し、SBCクライアント6DのSBCブラウザ5Dに、現在のアプリケーション実行画面が表示される。
【0090】
コラボレーションセッション管理部32はさらに、すべてのSBCクライアント6A〜6Dに対し、更新されたセッション参加者情報を送信する。SBCクライアント6A〜6DのSBCコラボレーション補助部7A〜7Dにおいて、参加者一覧画面52とメッセージ表示画面53(図4参照)が更新される。すなわち、参加者一覧画面52に、たとえば「閲覧:Maeda(192.168.10.4)」という情報が追加され、メッセージ表示画面53のセッション履歴に、SBCクライアント6Dの参加が時刻とともに表示される。
【0091】
セッションの終了に関しては、特権ユーザがSBCクライアント6を強制的に終了させる方法と、コラボレーション開始確認画面(図7参照)とは別画面で中止させる方法が考えられる。後者の場合は、たとえばSBCクライアント6の画面上で右クリックすることによって、コラボレーション中止メニューが表示され選択される。
【0092】
プロキシサーバ10は、セッション中止要求を受けると、SBCサーバ3との間の接続を切断する。SBCサーバ3では、アプリケーションは起動した状態で保存されており、プロキシサーバ10から再度接続すると、切断したときのアプリケーションの状態からコラボレーションを継続できる。
【0093】
なお、上述した実施形態では、プロキシサーバ10からSBCサーバ3への接続に特権ユーザのユーザIDを用いているが、プロキシサーバ10において、SBCサーバ3上のアプリケーション1と対応付けて独自のユーザIDとパスワードを保持する形態としてもよい。
【0094】
SBCコラボレーションシステムβは、教育、医療、設計、建築など、任意の分野に適用可能である。いずれの場合も、協調作業を行なう現場では、表示機能と簡単な入力装置を有するSBCクライアント6を準備するだけでよい。高負荷のアプリケーションはSBCサーバ3内で実行し、プロキシサーバ10により、その実行画面をセッションに参加したすべてのSBCクライアントにリアルタイムで配信する。また、セッション履歴と操作権の所在、変更をプロキシサーバ10で集中管理するので、SBCクライアント6の負荷が少ない。
【0095】
SBCクライアントとしては、既存のSBCブラウザを有するデスクトップPCやノートパソコン、PDA,携帯電話などの端末装置を用いることができる。このようなSBCブラウザ機能に、本発明で使用するSBCコラボレーション補助部7を付加するだけで、SBCサーバ3内の任意のアプリケーションを遠隔利用したSBCコラボレーションが可能になる。
【0096】
SBCクライアント6のSBCコラボレーション補助部7の処理動作と、プロキシサーバ10の処理動作は、ハードウエア、ソフトウエア、ファームウエアのいずれで実現してもよい。SBCコラボレーション補助部7をソフトウエアで実現する場合は、SBCコラボレーション補助プログラムをコンピュータ読み取り可能な任意の記録媒体に記録して配布してもよいし、プロキシサーバ10からネットワーク4を介してSBCクライアントに配信してもよい。
【0097】
SBCクライアントにインストールされるSBCコラボレーション補助プログラムは、以下の手順を含む。
(a)プロキシサーバが第1のSBCクライアントにアプリケーションの操作権を付与したときに、SBCクライアントに操作権の所在を表示させる
(b)第1のSBCクライアントがSBCサーバ上のアプリケーションを実行したときに、SBCクライアントに、プロキシサーバを介して送られてくる実行画面を表示させる。
(c)第2のSBCクライアントが、アプリケーションの操作権を取得したときに、SBCクライアントに、操作権の移転を表示させる。
【0098】
このSBCコラボレーション補助プログラムはさらに、SBCクライアントに必要に応じて操作権の取得を要求させる手順を含む。
【0099】
既存のSBCクライアント端末にコラボレーション補助プログラムを導入するだけで、遠隔のSBCサーバ内の任意のアプリケーションを利用して、協調作業が可能になる。
【0100】
プロキシサーバをソフトウエアで実現する場合は、プロキシサーバで実行されるSBCコラボレーション処理プログラムをインストールすればよい。SBCコラボレーション処理プログラムは、以下の手順を含む。
(a)プロキシサーバに、第1のSBCクライアントに対してアプリケーションの操作権を付与させる。
(b)第1のSBCクライアントから、SBCサーバ上のアプリケーションを実行する第1の入力操作情報を受信したときに、プロキシサーバに、第1の入力操作情報をSBCサーバへ転送させる。
(c)SBCサーバから前記アプリケーションの実行画面を受信したときに、前記プロキシサーバに、当該実行画面を前記複数のSBCクライアントに配信させる。
【0101】
プロキシサーバにこのような機能をインストールすることにより、既存のSBCシステムを利用したSBCコラボレーションを実現することができる。
【0102】
【発明の効果】
本発明によれば、既存のSBCミドルウエアを利用したまま、複数のSBCクライアント間で、SBCサーバ内のアプリケーションの共有、協調作業が可能になる。
【0103】
コラボレーション中は、アプリケーションの実行に伴う画面更新情報のみを複製し配信するので、即応性にすぐれる。
【図面の簡単な説明】
【図1】一般的なSBCシステムの概略構成図である。
【図2】本発明の一実施形態に係るSBCコラボレーションシステムの概略構成図であり、複数のSBCクライアント間でSBCサーバ上のアプリケーションの共有および協調作業を可能にするプロキシサーバを含むネットワーク構成を示す図である。
【図3】図2のシステムで用いられるプロキシサーバのブロック構成図である。
【図4】SBCクライアント上に表示されるSBCコラボレーションブラウザの一例を示す図である。
【図5】SBCコラボレーションの開始処理シーケンスを示す図である。
【図6】SBCコラボレーション開始時のシステムの動作を説明するための図である。
【図7】コラボレーション開始確認画面の一例を示す図である。
【図8】SBCコラボレーションにおけるSBC画面出力時のシステムの動作を説明するための図である。
【図9】アプリケーション操作権譲渡の処理シーケンスを示す図である。
【図10】操作権譲渡時のシステムの動作を説明するための図である。
【図11】操作権譲渡要求画面と、操作権譲渡拒否画面の一例を示す図である。
【図12】コラボレーション参加要求画面と、コラボレーション参加拒否画面の一例を示す図である。
【符号の説明】
α SBCシステム
β SBCコラボレーションシステム
1 アプリケーション
2 SBCミドルウエア
3 SBCサーバ
4 ネットワーク
5A、5B、5C SBCブラウザ
6A、6B、6C SBCクライアント
7A、7B、7C SBCコラボレーション補助部
8A、8B,8C 対プロキシ入力受付部
10 プロキシサーバ
11 操作情報処理部
12 コラボレーション制御部
15 対クライアント入力受付部
16 対サーバ入力受付部
18 クライアント情報データベース
21 SBCブラウザ画面配信部(実行画面配信部)
22 複写部
25 操作情報中継部
26 パケット判断部
27 パケット送信部
28 操作情報破棄部
31 コラボレーションユーザ認証部
32 コラボレーションセッション管理部
33 コラボレーション操作権管理部
41 SBCコラボレーションブラウザ
42 セッション情報表示部
43 能動制御部
52 参加者一覧画面
53 メッセージ表示画面
54 操作権取得要求ボタン
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to SBC (server-based computing) collaboration technology, and in particular, a centralized system including a proxy server that enables a plurality of remote users to share an application screen running on an SBC server and perform collaborative work. Type SBC collaboration technology.
[0002]
[Prior art]
In recent years, a so-called SBC (server-based computing) technology has developed a system in which a user can remotely use an arbitrary application running on an SBC server in a network from an SBC browser of a single SBC client connected to the network. ing.
[0003]
In the SBC system, a high-load application is executed by a server instead of a client terminal, and only the execution screen is transmitted to the client. The user can use the application in the server as if executing the application installed in his / her terminal. The relationship between the user and the server is basically one-to-one, and each user uses an application in the server independently. Since the client terminal only receives an execution screen corresponding to the input operation from the server, it is possible to execute a complex application even from a low-performance terminal such as a PDA.
[0004]
FIG. 1 is a network configuration diagram for explaining an outline of an SBC system currently used. The current SBC system α includes an SBC server 3 having an SBC middleware 2 capable of installing an arbitrary application, and an SBC client 106 that can access the SBC server 3 via the network 4. The SBC client 106 includes an SBC browser 105, and the application 1 on the SBC middleware 2 is remotely used from the SBC browser 105 via the network 4.
[0005]
When the user (not shown) of the SBC client 106 uses the application 1 on the SBC server 3 remotely, an input operation is performed using a mouse, a keyboard, a tablet, a joystick, or any other input device (not shown). The SBC browser 105 transmits input operation information by the user to the SBC middleware 2 operating on the SBC server via the network 4 (ST1).
[0006]
The SBC middleware 2 delivers the input operation information received from the SBC browser 105 via the network 4 to the application 1 running on the SBC middleware 2 (ST2). The application 1 executes processing based on the user's input operation information, and supplies screen update information as an execution result to the SBC middleware 2 (ST3). The SBC middleware 2 transfers the screen update information received from the application 1 to the SBC client 106 via the network, and displays the contents of the screen update information on the screen of the SBC browser 105 (ST4).
[0007]
By repeating such an operation, the user can use the application 1 on the SBC server 3 like an application installed in the SBC client 106.
[0008]
Note that the application 1 on the SBC server 3 may be, for example, editor software, DTP (desktop publishing) software, CAD (computer aided), as long as the application can operate on an operating system (OS) supported by the SBC middleware 2. Basically, any application such as design) software and game software can be operated.
[0009]
As the SBC middleware 2, for example, MetaFrame (registered trademark of Citrix), VNC (Virtual Network Computing; AT & T), Tarantella (registered trademark of SCO), GO-Global (registered trademark of GraphOn), etc. are applied. be able to.
[0010]
By the way, the SBC middleware 2 in the current SBC system α is based on the premise that each user alone uses the application 1 on the SBC server 3. Therefore, collaboration such as displaying the screen of the application 1 running on the SBC server 3 on the SBC browser 105 of the plurality of SBC clients 106 and mutually using the application 1 or performing collaborative work in real time. It is not easy to realize.
[0011]
On the other hand, a technique is known in which an application that can be used on the web is shared by a plurality of people and collaborative work is performed (for example, see Patent Documents 1 and 2). In addition, there is known a technology that enables collaborative work by limiting the number of application software that actually runs on a server to one and distributing execution screens by client key operations to a plurality of clients (for example, patents). Reference 3).
[0012]
[Patent Document 1]
JP 2000-112862 A
[0013]
[Patent Document 2]
JP-A-11-25042
[0014]
[Patent Document 3]
JP-A-3-273443
[0015]
[Problems to be solved by the invention]
However, these technologies cannot be immediately applied to collaboration based on server-based computing (SBC) that assumes parallel remote use of advanced and complex applications and centralized management of data.
[0016]
Therefore, the present invention provides a novel SBC collaboration that enables an arbitrary application in an SBC server to be shared and collaborated between a plurality of SBC clients and an SBC server using an existing SBC system. Provide a system.
[0017]
[Means for Solving the Problems]
In order to solve the above problem, a proxy server is arranged in an arbitrary area of a network connecting an SBC server and a plurality of SBC clients, and an application screen on the SBC server executed by one SBC client is copied by the proxy server. To each SBC client. In addition, any SBC client participating in collaborative work (session) can intervene in the application operation by dynamically switching the location of the operation right that can operate the application by the proxy server in response to the request of the SBC client. Enable.
[0018]
More specifically, in the first aspect of the present invention, an SBC server having SBC middleware capable of introducing an arbitrary application, and the application can be used remotely by being connected to the SBC server via a network. Provided is an SBC collaboration system including a plurality of SBC clients and a proxy server arranged in an arbitrary area on the network and connecting between the SBC server and the plurality of SBC clients. In this SBC collaboration system, the proxy server (a) grants the first SBC client an operation right to permit execution of the application, and (b) executes the application from the first SBC client. Receiving the input operation information, transferring the first input operation information to the SBC server to execute the application; and (c) receiving an execution screen of the application from the SBC server, and receiving the execution screen from the plurality of SBC clients. Deliver to.
[0019]
A plurality of SBC clients form a session group for performing cooperative work using an application on the SBC server. The proxy server manages the transfer of operation rights among a plurality of SBC clients constituting the session group. The operation right is given to one SBC client among the plurality of SBC clients. However, by coordinating the location of the operation right among the plurality of SBC clients, the plurality of SBC clients can cooperate with each other. It becomes possible to operate one application on the server.
[0020]
The proxy server copies and distributes the application execution screen corresponding to the input operation of the SBC client having the operation right by the number of the plurality of SBC clients participating in the session.
[0021]
When the proxy server receives an operation right acquisition request from the second SBC client that does not have the operation right, the proxy server transmits an operation right transfer request to the first SBC client. Then, when the operation right transfer permission notification is received from the first SBC client, the operation right is transferred to the second SBC client.
[0022]
As described above, by adjusting the transfer of the application operation right through the proxy server, the existing SBC middleware can be used as it is, and a collaborative work among a plurality of SBC clients becomes possible.
[0023]
In the second aspect of the present invention, an SBC server having SBC middleware capable of introducing an arbitrary application and a plurality of SBC clients connected to the SBC server via a network and remotely using the application are provided. Provides a proxy server to be inserted into The proxy server includes: (a) an operation right management unit that grants an operation right to permit execution of the application to the first SBC client; and (b) a first operation for executing the application from the first SBC client. Receiving an input operation information of 1 and transferring the first input operation information to the SBC server to execute the application; and (c) receiving an execution screen of the application from the SBC server; An execution screen distribution unit that transmits the execution screen to a plurality of SBC clients.
[0024]
The execution screen distribution unit has a copy unit that copies the execution screen of the application by the number of the plurality of SBC clients. Since the copied execution screen is uniformly distributed to the SBC clients participating in the session, the communication speed and responsiveness between the SBC client and the SBC server can be maintained high.
[0025]
When receiving the operation right acquisition request from the second SBC client that does not have the operation right, the operation right management unit transmits an operation right transfer request to the first SBC client. Then, when the operation right transfer permission notice is received from the first SBC client, the operation right is transferred to the second SBC client.
[0026]
Since the operation right management unit manages the transfer of the application operation right among a plurality of SBC clients, the collaborative work using the existing SBC system is enabled.
[0027]
Other configurations and features will become apparent from the detailed description given below with reference to the drawings.
[0028]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 2 is a schematic configuration diagram of the SBC collaboration system β according to an embodiment of the present invention. The SBC collaboration system β includes an SBC server 3, a plurality of SBC clients 6A, 6B, 6C connected to the SBC server 3 via the network 4, and a proxy server 10 installed in an arbitrary area on the network 4. .
[0029]
The SBC server 3 has SBC middleware 2 into which an arbitrary application can be introduced. The SBC middleware 2 is an existing SBC middleware. Each SBC client 6 includes an SBC browser 5 and an SBC collaboration assistant unit 7, and the user can remotely use the application 1 on the SBC middleware 2 from the SBC browser 6 via the network 4. The SBC collaboration assistant unit 7 assists the SBC collaboration process by the proxy server 10 from the SBC client 6 side.
[0030]
The proxy server 10 is installed between the SBC server 3 and the SBC clients 6A to 6C, and includes an operation information processing unit 11 and a collaboration control unit 12. The operation information processing unit 11 processes information related to application operations input via the SBC browser 5 of each SBC client 6. On the other hand, the collaboration control unit 12 processes information input via the SBC collaboration assisting unit 7 of the SBC client, and controls a collaboration operation among the plurality of SBC clients 6.
[0031]
The SBC clients 6A to 6C connected to the SBC server 3 via the network 4 and the proxy server 10 constitute a group for performing a session using the application 1 on the SBC middleware 2. For example, this is session group I. In FIG. 2, for convenience of illustration, three SBC clients 6A to 6C are illustrated. Of course, a session group may be configured by a larger number of SBC clients. Although not shown, a plurality of session groups are connected to the SBC server 3 via the network 4 and the proxy server 10, and can collaborate by remotely using the application 1 in parallel for each session group.
[0032]
The session ID for the entire group and the user IDs of users who participate in the session in this group are registered in advance in the proxy server by contract or the like. It is assumed that the IP address and port number of the proxy server for performing cooperative work are given to the SBC client 6 by reservation registration.
[0033]
The proxy server 10 is a virtual SBC server when viewed from the SBC client 6 and is a virtual SBC client when viewed from the SBC server 3. For the server 3, the client that uses the application 1 is the session group I, and how many SBC clients belong to the session group I and it does not matter which SBC client in the group is currently executing the application. The application is actually executed by one SBC client in the session group I. However, the location of the operation right is managed by the proxy server 10, and when viewed from the SBC server 3, the session group I is only A state where the application 1 is used is established. Therefore, by using the one-to-one correspondence application operation that is the basic mode of the existing SBC middleware 2, the collaborative work by a plurality of SBC clients can be performed within the group I.
[0034]
FIG. 3 is a detailed block diagram of the proxy server 10. The proxy server 10 receives inputs from the SBC clients 6A, 6B, and 6C in addition to the operation information processing unit 11 and the collaboration control unit 12 described above, and receives inputs from the client input receiving unit 15 and the SBC server 3. A server input receiving unit 16 and a client information database 18 for storing client information are included. Examples of the client information include a session ID, a participating user ID, a password, an IP of the SBC server 3, a port number, and the like. Part or all of the client information is also set in the SBC server 3.
[0035]
The client input reception unit 15 distributes the packet received from the SBC client 6 to either the operation information processing unit 11 or the collaboration control unit 12 according to the type of information included in the packet.
[0036]
The operation information processing unit 11 is executed in the SBC server 3 based on the operation information relay unit 25 that relays the input operation by one SBC client 6 belonging to the session group I to the SBC server 3 and the input operation information. An SBC browser screen distribution unit 21 that distributes the execution screen to each of the SBC clients 6A to 6C is provided. The SBC browser screen distribution unit 21 has a copy unit 22 and copies the application execution screen for the participating users prior to distribution.
[0037]
The operation information relay unit 25 determines whether or not the packet sent from the client input reception unit 15 is a packet from an SBC client (hereinafter referred to as “privileged user”) to which an operation right is currently given. It has the packet judgment part 26 to judge. If the packet is from a privileged user, the packet transmitter 27 transmits this packet to the SBC server 3. If the packet is from a user other than the current privileged user (hereinafter referred to as “normal user”), it is regarded as an input due to an erroneous operation, and the operation information discarding unit 28 discards the packet.
[0038]
On the other hand, the collaboration control unit 12 includes a collaboration user authentication unit 31, a collaboration session management unit 32, and a collaboration operation right management unit 33. Details of the operation of these elements will be described later.
[0039]
FIG. 4 shows an example of the SBC collaboration browser 41 displayed on the SBC client 6. The SBC collaboration browser 41 includes an SBC browser 5 and an SBC collaboration assistant unit 7. The SBC browser 5 is executed by the server 3 and displays an execution screen (SBC browser screen) copied and distributed by the proxy server 10. All participating users can view the current execution screen in real time on the SBC browser 5.
[0040]
The SBC collaboration assistant unit 7 includes a session information display unit 42 and an active control unit 43. As an example, the session information display unit 42 includes a participant list screen 52 that indicates the location of the session participants and the current operation right, and a message display screen 53 that displays an operation history of the system. The active control unit 43 has an operation right acquisition request button 54. When an arbitrary SBC client wants to participate in the execution of the application 1 during the cooperative work using the application 1 on the SBC middleware 2, the operation right acquisition request button 54 is clicked. The operation right change by the operation right acquisition request button will be described later.
[0041]
In the example of FIG. 4, for example, an operation right is given to Tanabe, who is a user of the SBC client 6A, and users of other SBC clients 6B and 6C have only a viewing right. The viewing right is automatically given to all participating users, and of course the user who has the operation right also has the viewing right. Therefore, between the SBC client 6 and the proxy server 10, two-way communication is given to the application operation right holder, and one-way communication is established for the other application viewers.
[0042]
As for the location of the operation right at the start of the session, for example, the operation right may be given to the person who convened the session in the session group I and first accessed the proxy server 10, or the person who was given the operation right at the start. May be determined in advance.
[0043]
FIG. 5 is a diagram showing a collaboration processing sequence using the SBC system β of FIG. It is assumed that the SBC clients 6A to 6C, the proxy server 10, and the SBC server 3 are all started up (ST11 to ST14).
[0044]
In this state, for example, a user (privileged user) of the SBC client 6A connects to a port (not shown) of the proxy server 10 designated in advance, and requests an SBC collaboration service (ST15). This connection request is made from the SBC collaboration assistant 7 of the SBC collaboration browser 41 shown in FIG. The proxy server 10 performs client authentication for the accessed SBC client 6A (ST16).
[0045]
In the client authentication procedure, the collaboration user authentication unit 31 of the proxy server 10 receives the user ID, password, client IP address, and the like of the SBC client 6A from the client input reception unit 15. The collaboration user authentication unit 31 requests the collaboration session management unit 32 to confirm the session ID. The collaboration session management unit 32 searches the client information database 18, extracts a reserved session ID from the port number of the accessed proxy server 10, and searches a participation scheduled user ID from the extracted session ID. If the user ID of the SBC client 6A is included in the planned participation user ID, the collaboration user authentication unit 31 confirms the password and completes the authentication (YES in ST16), and the authentication completion information is sent to the SBC client 6A. Is transmitted (ST17).
[0046]
On the other hand, if the user authentication unit 31 succeeds in user authentication, the collaboration session management unit 32 updates session information such as a session ID, a user ID, and a client IP address. As the session information is updated, the collaboration operation right management unit 33 grants the operation right to the SBC client 6A that first requested a connection, and updates the operation right information.
[0047]
At this time, on the participant list screen 52 (see FIG. 4) of the SBC collaboration assistant 7A of the SBC client 6A, the user name (for example, Tanabe) of the SBC client 6A that is the first participant is the privilege that has the operation right. The user is displayed with the IP address (192.168.10.1). And it will be in a standby state until the authentication of other session participants is completed (ST18).
[0048]
Similarly, the other SBC clients 6B and 6C also request connection to the proxy server 10 (ST19) and receive client authentication (YES in ST20). Each time authentication of the SBC clients 6B and 6C is completed, authentication completion information is transmitted from the proxy server 10 to all the SBC clients 6 that have already participated (ST21). As a result, the user names that have been authenticated are sequentially displayed on the participant list screen 52 of the SBC collaboration assistant unit 7. For example, if the authentication for the participation request of the SBC client 6B is completed, the user name (for example, Nakamura) of the SBC client 6B is additionally displayed as a new participant on the participant list screen 52 of the SBC client 6A ( ST22a). At the same time, the privileged user's name (Tanabe) and his / her own name (Nakamura) are displayed on the participant list screen 52 of the SBC client 6B (ST22b). Then, it waits until all participants are authenticated (ST22a, ST22b).
[0049]
Next, the SBC client 6A (privileged user) transmits an SBC collaboration start command to the proxy server 10 (ST23). The proxy server 10 receives the collaboration start command (ST24), and requests the SBC server 3 to start the SBC service (ST25).
[0050]
The SBC server 3 performs client authentication in response to a service request (session start request) from the proxy server 10 (ST26). If the authentication is successful (YES in ST26), a collaboration start notification is sent to the proxy server 10. Transmit (ST27). The proxy server 10 receives this collaboration start notification and transmits it to the SBC clients 6A to 6C of all participants participating in the session (ST28). In response to this, as shown in FIG. 4, the message display screen 53 of the SBC clients 6A to 6C displays that the collaboration has started (ST29, ST30).
[0051]
In parallel with the start of collaboration, the SBC server 3 transmits full screen information of the application 1 to the proxy server 10 (ST31). When the proxy server 10 receives the full screen information (ST32), the proxy server 10 copies the full screen information by the number of participating users, and distributes the copy screen to each of the SBC clients 6A to 6C (ST33). The distributed full screen information is displayed on the SBC browsers 5A to 5C of the SBC clients 6A to 6C (ST34 and ST35).
[0052]
6 and 8 are diagrams showing the above-described collaboration start processing (ST23 to ST30) and full screen output processing (ST31 to ST35) from the side of system operation. First, in FIG. 6, the SBC collaboration assistant unit 7A of the SBC client 6A having the operation right transmits a collaboration start request to the proxy server 10 (arrow (1)). The collaboration start request is executed, for example, by clicking the start button 61 on the collaboration start confirmation screen shown in FIG.
[0053]
The collaboration start confirmation screen is configured to be displayed only on the SBC collaboration assistant unit 7A of the SBC client 6A to which the operation right is given. In this case, the right to start collaboration is included in the operation right of the application given to the privileged user. Or it is good also as a structure which displays a collaboration start confirmation screen on SBC collaboration auxiliary | assistance part 5 of all the participating users who completed authentication. In the latter case, even if a normal user who does not have the operation right clicks the collaboration start request button, the confirmation process by the collaboration user authentication unit 31 and the collaboration operation right management unit 33 is rejected. A privileged user will start a collaboration.
[0054]
The collaboration start request is received by the client input reception unit 15 of the proxy server 10 and sent to the collaboration session management unit 32 (arrow (2)). The collaboration session management unit 32 searches for the session ID from the port number to which the collaboration start request is input, and the searched session ID is the ID of a session that is not currently activated (that is, newly started from now on). Make sure. Then, the ID of the user who activated the collaboration start request is confirmed (process (3)).
[0055]
The collaboration session management unit 32 confirms with the collaboration operation right management unit 33 that the location of the operation right for this session is the user who requested the start of the collaboration (arrow (4)). After confirmation, the password of the user who requested the start of the collaboration is acquired from the collaboration user authentication unit 31 (arrow (5)).
[0056]
After acquiring the password, the collaboration session management unit 32 requests the SBC server 3 to start an SBC session, and the SBC server 3 authenticates the client from the user ID, password, port number of the SBC server 3, and the like, and responds to the session start request. Is returned (arrow (6)). For convenience of illustration, the process (6) is indicated by a bidirectional arrow, but the response from the SBC server 3 is supplied to the collaboration session management unit 32 via the server input reception unit 16.
[0057]
Collaboration session management unit 32 transmits a session start notification to proxy input receiving units 8A to 8C of SBC clients 6A to 6C (arrow (7)). The session start notification is sent to the SBC collaboration assistant units 7A to 7C of each SBC client (arrow (8)) and displayed on the message display unit 53 in FIG. In the example of FIG. 4, “17:25 collaboration started” is displayed.
[0058]
On the other hand, the SBC middleware 2 activates the application 1 in response to the session start request (arrow (9)). The application 1 outputs the full screen of the application (arrow (10)), and the SBC server 3 transmits the full screen to the server input receiving unit 16 of the proxy server 10 (arrow (11)).
[0059]
FIG. 8 is a system operation diagram when the SBC screen is output. The operation shown in FIG. 8 applies equally to full screen output immediately after the start of a session and to output of an execution screen that is an execution result of an application. The only difference is that all screen information is copied and distributed during full screen output, whereas in the case of an application execution screen, only the portion changed by the execution operation is copied and distributed, so see FIG. The full screen output operation will be described.
[0060]
First, the application 1 started up in the SBC server 3 in response to the session start request opens a full screen on the SBC middleware 2 (arrow (1)). The SBC middleware 2 transmits the entire screen together with its attributes to the proxy server 10 (arrow (2)). The server input reception unit 16 of the proxy server 10 supplies the received full screen and attributes together with the port number to the copy unit 22 of the SBC browser screen distribution unit 21 (arrow (3)).
[0061]
The SBC browser screen distribution unit 21 confirms the screen output destination with respect to the collaboration session management unit 32. The collaboration session management unit 32 searches the session ID and the IP addresses of all SBC clients participating in this session from the port number, and supplies the search result of the screen output destination to the SBC browser screen distribution unit 21 (arrow ( Four)). The SBC browser screen distribution unit 21 copies the entire screen information by the number of copies corresponding to the number of screen output destinations in the copy unit 22, and distributes this to each of the SBC clients 6A to 6C (arrow (5)).
[0062]
The proxy input reception units 8A to 8C of the SBC clients 6A to 6C supply the received full screen information to the SBC browsers 5A to 5C (arrow (6)), and display the first full screen on the SBC browsers 5A to 5C. To do.
[0063]
Returning to FIG. 5, when all the screens are displayed on the SBC browsers 5A to 5C of all the participants and the collaborative state is enabled, the privileged user of the SBC client 6A to whom the application operation right is given is Use the keyboard or the like to operate the application on the SBC browser 5A (ST36). Input operation information such as a mouse / keyboard is supplied to the operation information relay unit 25 of the operation information processing unit 11 from the client input receiving unit 15 of the proxy server 10.
[0064]
The packet determination unit 26 (see FIG. 3) of the operation information relay unit 25 determines whether or not the packet including the input operation information is from a privileged user having an operation right (ST37). If the packet is from a normal user (NO in ST37), the operation information discarding unit 28 discards this input operation information. On the other hand, if the packet is from a privileged user (YES in ST37), the packet transmission unit 27 transmits this packet to the SBC server 3 (ST38).
[0065]
For packet determination, the packet determination unit 26 confirms the session ID, participation user ID, and location of the current operation right (privileged user ID) regarding the received packet with the collaboration session management unit 32 and the collaboration operation right management unit 33. Is done by. Based on such determination, the input operation information is relayed to the SBC server 3 only when the received packet is a packet from a privileged user who has the correct operation right. The reason for discarding packets from normal users who do not have operation rights is to prevent application execution operations from being complicated due to incorrect operation of mouse / keyboard, etc. is there.
[0066]
When the SBC server 3 receives the input operation information from the privileged user, the SBC server 3 executes the application 1 based on the input operation information (ST39). As a result of executing the application 1, the execution screen is updated. The SBC server 3 transmits screen update information about the updated part (changed part) to the proxy server 10 (ST40). As described above, when the application execution is actually started, unlike the session start, it is not necessary to transmit the full screen information, and only the difference information as the execution result needs to be transmitted.
[0067]
When the proxy server 10 receives the screen update information at the server input reception unit 16, the proxy server 10 supplies the screen update information to the SBC browser screen distribution unit 21. When the SBC browser screen distribution unit 21 receives the screen update information (ST41), the copy unit 22 copies the screen update information for the participating users, and distributes this to the SBC clients 6A to 6C (ST42). The SBC clients 6A to 6C incorporate the screen update information into all the already displayed screens, and display the execution results of the applications by the privileged users on the SBC browsers 5A to 5C (ST43, ST44).
[0068]
The screen update information copy and distribution operations are the same as the full screen information copy and distribution operations described with reference to FIG. As long as the privileged user continues to execute the application, the processing of ST36 to ST44 is repeated, and the execution screen is displayed in real time on each of the SBC clients 6A to 6C.
[0069]
As long as the SBC client has a display function, it is possible to remotely view the execution of a complex application in real time, and the operation management cost of the application in each SBC client can be reduced. Further, after the transmission of the full screen information at the start of the session, only the screen update information due to the execution of the application is transmitted, so the communication amount is light and a sufficient communication speed can be secured. Furthermore, since only the screen information to be distributed to the SBC client is copied, the processing in the proxy server 10 is fast, and the SBC collaboration system as a whole has high responsiveness and operability for application execution.
[0070]
An SBC client of a privileged user having an operation right also executes a complex and sophisticated application installed in the SBC server as if it operates an application installed in the SBC client itself, as long as there is a display device and an input device. be able to. Since the execution history is centrally managed by the SBC server, the resource management burden on the SBC client is greatly reduced.
[0071]
FIG. 9 is a diagram illustrating a processing sequence of operation right delivery among a plurality of session participating users. All of the SBC clients 6A to 6C, the proxy server 10, and the SBC server 3 of the session participating users are in the session state (ST51 to ST54).
[0072]
First, when a normal user of either the SBC client 6B or 6C clicks the operation right acquisition request button 54 (see FIG. 4) of the SBC collaboration assistant unit 7, the application operation right acquisition request is sent to the proxy server 10. (ST55). When receiving the operation right acquisition request (ST56), the proxy server 10 issues an application operation right transfer request to the SBC client 6A of the current privileged user (ST57).
[0073]
The SBC client 6A inquires the privileged user as to whether or not to permit the application operation right transfer request (ST58). The inquiry is made, for example, by displaying the operation right transfer request screen shown in FIG. 11A on the SBC collaboration assistant 7A of the SBC client 6A. The privileged user clicks the permission button 71 when permitting the transfer of the application operation right (YES in ST58), and clicks the reject button 72 when rejecting the transfer of the operation right (NO in ST58).
[0074]
In the example of FIG. 9, the operation right transfer request screen is configured to be displayed only on the SBC collaboration assistant unit 7A of the current privileged user (SBC client 6A). It is good also as a structure which displays an operation right transfer request | requirement screen on SBC collaboration auxiliary | assistance part 7A-7C of -6B. In this case, the operation of the permission button 71 or the rejection button 72 by a person other than the privileged user is discarded after the privileged user ID is confirmed on the proxy server 10.
[0075]
By operating the button on the operation right transfer request screen, the SBC client 6A transmits an answer to the transfer request to the proxy server 10 (ST59). When proxy server 10 receives an answer from the privileged user (ST60), proxy server 10 determines whether or not the operation right has been transferred (ST61), and transmits the transfer request result to SBC clients 6A to 6C (ST62).
[0076]
The transfer request result is displayed on the SBC collaboration assistant unit 7 of the SBC clients 6A to 6C (ST63, ST64). When the transfer request is rejected, for example, an operation right transfer rejection screen shown in FIG. 11B is displayed on the SBC collaboration assistant unit 7C of the SBC client 6C that has made the operation right acquisition request. When the transfer request is permitted, the participant list screen 52 (see FIG. 4) of all the SBC clients 6A to 6C is, for example, “view: Tanabe (192.168.10.1), view: Nakamura (192.168.10.2), The operation right is changed to “Suzuki (192.168.10.3)”. If it is clearly indicated that the location of the operation right has been changed, the display order is not limited. The location of the operation right may be highlighted, for example, displayed in a different color. Further, the change of the operation right may be displayed on the participant list screen 52, and the transfer of the operation right may be displayed in the session history of the message display screen 53 together with the time.
[0077]
FIG. 10 is a diagram for explaining an operation right change procedure from the aspect of system operation. For example, the SBC client 6C transmits an operation right acquisition request from the SBC collaboration assistant unit 7C to the proxy server 10 (arrow (1)). The client input receiving unit 15 of the proxy server 10 supplies this operation right acquisition request together with the port number and client IP address to the collaboration operation right management unit 33 (arrow (2)). The collaboration operation right management unit 33 confirms the session ID and user ID with the collaboration session management unit 32. The collaboration session management unit 32 extracts the session ID and the user ID from the port number, and supplies the extraction result to the collaboration operation right management unit 33 (arrow (3)). The collaboration operation right management unit 33 retrieves the current privileged user ID from the session ID (process (4)), and transmits an operation right transfer request to the current privileged user (user of the SBC client 6A) (arrow (5)). )).
[0078]
The proxy input receiving unit 8A of the SBC client 6A supplies the received operation right transfer request to the SBC collaboration assistant unit 7A (arrow (6)). The SBC collaboration assistant 7A displays, for example, the operation right transfer request screen shown in FIG. The SBC client 6A transmits an answer to the transfer request to the proxy server 10 (arrow (7)). The client input reception unit 15 of the proxy server 10 supplies the transfer request result to the collaboration operation right management unit 33 (arrow (8)).
[0079]
If the response result is permission to transfer the operation right, the collaboration operation right management unit 33 updates the current privileged user ID and transmits the updated privileged user information to all the SBC clients 6A to 6C (arrows). (9)). If the response result is rejection of the operation right transfer, the current privileged user ID is maintained and a notification of the operation right rejection is transmitted to the SBC client 6C.
[0080]
The proxy input receiving units 8A to 8C of the SBC clients 6A to 6C supply the new privileged user or the rejection result of the operation right transfer request to the SBC collaboration auxiliary units 7A to 7C and display them (arrow (10)).
[0081]
Returning to FIG. 9, as a result of the transfer of the operation right, the new privileged user, for example, the user of the SBC client 6C, operates the application on the SBC browser 5C using the mouse / keyboard or the like (ST65). The input operation information is transmitted to the proxy server 10, and the operation information relay unit 25 of the proxy server 10 determines whether or not the input operation information is a packet from a privileged user (ST66). If the packet is from a privileged user (YES in ST66), the input operation information is relayed to the SBC server 3 (ST67). The SBC server 3 executes the application according to the input operation information (ST68). If the packet is not from a privileged user (NO in ST66), the operation information discarding unit 28 discards the packet.
[0082]
The SBC server 3 transmits screen update information, which is an execution result of the application, to the proxy server 10 (ST69). The proxy server 10 copies the received screen update information for the participating users and distributes it to all the SBC clients 6A to 6C participating in the session (ST70, ST71). The SBC clients 6A to 6C display the updated execution screen on the SBC browsers 5A to 5C (ST72 and ST73).
[0083]
The system operation for copying and distributing the screen update information is as described in connection with FIG. The operation of the application by the new privileged user is continued until the next operation right acquisition request button is clicked and the transfer of the operation right is permitted, and ST65 to ST73 are repeated.
[0084]
In this way, only a privileged user having the application operation right can actually execute the application 1 in the SBC server 3, but the operation right is located between the privileged user and a normal user in the group. It can be changed at any time by negotiation. Since the collaboration operation right management unit 33 of the proxy server 10 collectively manages the change and location of the operation right, the burden on the SBC client 6 is small.
[0085]
Regardless of the location of the operation right, the execution screen of the application 1 is duplicated and distributed by the proxy server 10 and is displayed in real time on all the SBC clients 6 participating in the session. From the viewpoint of the SBC server 3, the client that executes the application 1 is the session group I, and the basic specifications of the existing SBC middleware 2 that has a one-to-one correspondence between the client and the application can be used as they are.
[0086]
In the above, the processing sequence and the system operation have been described based on an example in which a session is started after all scheduled participants have been prepared. However, a configuration may be adopted in which users belonging to the session group I can participate in the session halfway. In this case, a privileged user having an operation right can start a collaboration by issuing a collaboration start command according to his / her own intention while confirming the login state of another session participant. The SBC clients 6B and 6C also wait until a collaboration start command is issued by a privileged user without waiting for the participation of all the clients scheduled to participate. Furthermore, it is also possible to adopt a configuration in which a privileged user having an operation right permits or disallows the participation of new users belonging to the group.
[0087]
As a processing sequence, after starting a session, an SBC client 6D (not shown) that requests participation in the session starts up the SBC collaboration browser 41 and makes a connection request to the proxy server 10. After the client authentication, the collaboration session management unit 32 of the proxy server 10 searches for the session ID from the input port number, and determines whether the searched session is currently in session. If it is during a session, the current privileged user is confirmed with the collaboration operation right management unit 33, and a collaboration participation request request is transmitted to the SBC client 6A which is a privileged user. The SBC client 6A receives the participation request, and the collaboration participation request screen shown in FIG. 12A, for example, is displayed on the SBC collaboration assistant 7A.
[0088]
The privileged user clicks the allow button 81 or the reject button 82 on the collaboration participation request screen, thereby permitting or not permitting user participation during the session. In the case of disapproval, the collaboration session management unit 32 of the proxy server 10 transmits a disapproval notice to the SBC client 6D that has requested participation. For example, a collaboration participation refusal screen shown in FIG. 12B is displayed on the SBC collaboration assistant 7D of the SBC client 6D.
[0089]
When session participation is permitted by clicking the permission button 81, the collaboration session management unit 32 of the proxy server 10 adds a new user ID to the list of user IDs participating in the session. At the same time, the proxy server 10 requests the current full screen information from the SBC server 3. The SBC server 3 transmits the current full screen information to the proxy server 10. The SBC browser screen distribution unit 21 of the proxy server 10 distributes the entire screen information to the SBC client 6D that is permitted to participate in the session, and the current application execution screen is displayed on the SBC browser 5D of the SBC client 6D.
[0090]
The collaboration session management unit 32 further transmits updated session participant information to all the SBC clients 6A to 6D. In the SBC collaboration assistants 7A to 7D of the SBC clients 6A to 6D, the participant list screen 52 and the message display screen 53 (see FIG. 4) are updated. That is, for example, information “view: Maeda (192.168.10.4)” is added to the participant list screen 52, and the participation of the SBC client 6D is displayed along with the time in the session history of the message display screen 53.
[0091]
Regarding the termination of the session, a method in which the privileged user forcibly terminates the SBC client 6 and a method in which the session is terminated on a screen different from the collaboration start confirmation screen (see FIG. 7) can be considered. In the latter case, for example, by right-clicking on the screen of the SBC client 6, the collaboration cancellation menu is displayed and selected.
[0092]
When the proxy server 10 receives the session cancel request, the proxy server 10 disconnects the connection with the SBC server 3. In the SBC server 3, the application is stored in an activated state, and when the connection is made again from the proxy server 10, collaboration can be continued from the state of the application when disconnected.
[0093]
In the above-described embodiment, the user ID of the privileged user is used for connection from the proxy server 10 to the SBC server 3. However, in the proxy server 10, a unique user ID is associated with the application 1 on the SBC server 3. And a password may be stored.
[0094]
The SBC collaboration system β can be applied to arbitrary fields such as education, medical care, design, and architecture. In any case, it is only necessary to prepare the SBC client 6 having a display function and a simple input device at the site where the cooperative work is performed. A high-load application is executed in the SBC server 3, and the proxy server 10 distributes the execution screen to all SBC clients participating in the session in real time. Further, since the location and change of the session history and the operation right are centrally managed by the proxy server 10, the load on the SBC client 6 is small.
[0095]
As the SBC client, a terminal device such as a desktop PC, a notebook personal computer, a PDA, or a mobile phone having an existing SBC browser can be used. By simply adding the SBC collaboration auxiliary unit 7 used in the present invention to such an SBC browser function, SBC collaboration using any application in the SBC server 3 remotely becomes possible.
[0096]
The processing operation of the SBC collaboration assistant unit 7 of the SBC client 6 and the processing operation of the proxy server 10 may be realized by any of hardware, software, and firmware. When the SBC collaboration assistant unit 7 is realized by software, the SBC collaboration assistant program may be recorded and distributed on any computer-readable recording medium, or may be distributed from the proxy server 10 to the SBC client via the network 4. You may distribute.
[0097]
The SBC collaboration auxiliary program installed in the SBC client includes the following procedure.
(A) When the proxy server grants the operation right of the application to the first SBC client, the location of the operation right is displayed on the SBC client
(B) When the first SBC client executes an application on the SBC server, the SBC client displays an execution screen transmitted via the proxy server.
(C) When the second SBC client acquires the operation right of the application, the transfer of the operation right is displayed on the SBC client.
[0098]
The SBC collaboration assistance program further includes a procedure for causing the SBC client to request acquisition of an operation right as necessary.
[0099]
By simply introducing a collaboration assistance program into an existing SBC client terminal, a collaborative work can be performed using an arbitrary application in a remote SBC server.
[0100]
When the proxy server is realized by software, an SBC collaboration processing program executed by the proxy server may be installed. The SBC collaboration processing program includes the following procedures.
(A) The proxy server is given an operation right for the application to the first SBC client.
(B) When the first input operation information for executing the application on the SBC server is received from the first SBC client, the proxy server is caused to transfer the first input operation information to the SBC server.
(C) When the execution screen of the application is received from the SBC server, the proxy server distributes the execution screen to the plurality of SBC clients.
[0101]
By installing such a function in the proxy server, SBC collaboration using an existing SBC system can be realized.
[0102]
【The invention's effect】
According to the present invention, it becomes possible to share an application in the SBC server and perform cooperative work among a plurality of SBC clients while using the existing SBC middleware.
[0103]
During collaboration, only the screen update information that accompanies the execution of the application is replicated and distributed, resulting in excellent responsiveness.
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram of a general SBC system.
FIG. 2 is a schematic configuration diagram of an SBC collaboration system according to an embodiment of the present invention, and shows a network configuration including a proxy server that enables sharing of applications on the SBC server and collaboration work among a plurality of SBC clients. FIG.
FIG. 3 is a block configuration diagram of a proxy server used in the system of FIG. 2;
FIG. 4 is a diagram illustrating an example of an SBC collaboration browser displayed on an SBC client.
FIG. 5 is a diagram showing an SBC collaboration start processing sequence;
FIG. 6 is a diagram for explaining the operation of the system at the start of SBC collaboration.
FIG. 7 is a diagram illustrating an example of a collaboration start confirmation screen.
FIG. 8 is a diagram for explaining the operation of the system when an SBC screen is output in SBC collaboration.
FIG. 9 is a diagram illustrating a processing sequence for transferring an application operation right.
FIG. 10 is a diagram for explaining the operation of the system when an operation right is transferred.
FIG. 11 is a diagram illustrating an example of an operation right transfer request screen and an operation right transfer rejection screen.
FIG. 12 is a diagram illustrating an example of a collaboration participation request screen and a collaboration participation rejection screen.
[Explanation of symbols]
α SBC system
β SBC collaboration system
1 Application
2 SBC middleware
3 SBC server
4 network
5A, 5B, 5C SBC browser
6A, 6B, 6C SBC client
7A, 7B, 7C SBC collaboration assistant
8A, 8B, 8C for proxy input reception
10 Proxy server
11 Operation Information Processing Unit
12 Collaboration control unit
15 Client input reception
16 Server input reception part
18 Client information database
21 SBC browser screen distribution unit (execution screen distribution unit)
22 Copying Department
25 Operation information relay part
26 Packet judgment part
27 Packet transmitter
28 Operation information discard unit
31 Collaboration User Authentication Department
32 Collaboration Session Management Department
33 Collaboration Operation Rights Management Department
41 SBC collaboration browser
42 Session information display area
43 Active control unit
52 Participant List Screen
53 Message display screen
54 Operation right acquisition request button

Claims (14)

任意のアプリケーションを導入可能なSBCミドルウエアを備えるSBCサーバと、
前記SBCサーバにネットワークを介して接続される複数のセッショングループの中の1のセッショングループに属して前記アプリケーションを遠隔的に協調利用可能な複数のSBCクライアントと、
前記ネットワーク上の任意の領域に配置され、前記SBCサーバと前記複数のSBCクライアントとの間を接続するプロキシサーバと
を含み、前記プロキシサーバは、
前記1のセッショングループに属する任意のSBCクライアントからセッション接続要求を受信する入力受付部と、
前記セッショングループごとに前記アプリケーションの実行を許可する単一の操作権がいずれのSBCクライアントに設定されているかを示す特権ユーザIDを保持し、前記セッション接続要求を受信した場合に、前記第1のセッショングループ内の所定の第1のSBCクライアントを示すユーザIDを特権ユーザIDとして設定する操作権管理部と、
前記入力受付部が前記第1のSBCクライアントから、前記アプリケーションを実行する第1の入力操作情報を受信したときに、当該第1の入力操作情報を前記SBCサーバに転送する操作情報中継部と
前記転送された入力操作情報に基づくアプリケーションの実行画面を前記SBCサーバから受け取って、当該実行画面を、前記1のセッショングループを構成する複数のSBCクライアントに配信する操作画面配信部と、
を備え、前記プロキシサーバの操作権管理部は、前記入力受付部が前記1のセッショングループ内の任意の第2のSBCクライアントから操作権取得要求を受信した場合に、前記第1のSBCクライアントに前記操作権の譲り渡しの許否を問い合わせるメッセージを送信することを特徴とするSBCコラボレーションシステム。
An SBC server having SBC middleware capable of installing any application;
A plurality of SBC clients belonging to one session group of a plurality of session groups connected to the SBC server via a network and capable of remotely cooperating and using the application;
A proxy server that is arranged in an arbitrary area on the network and connects between the SBC server and the plurality of SBC clients;
An input receiving unit that receives a session connection request from any SBC client belonging to the one session group;
When a privileged user ID indicating which SBC client is set with a single operation right that allows execution of the application for each session group is received and the session connection request is received , An operation right management unit that sets a user ID indicating a predetermined first SBC client in the session group as a privileged user ID ;
An operation information relay unit for transferring the first input operation information to the SBC server when the input receiving unit receives the first input operation information for executing the application from the first SBC client; An operation screen distribution unit that receives an execution screen of an application based on the transferred input operation information from the SBC server, and distributes the execution screen to a plurality of SBC clients configuring the one session group;
The operation right management unit of the proxy server includes the first SBC client when the input reception unit receives an operation right acquisition request from any second SBC client in the first session group. An SBC collaboration system, characterized in that a message for inquiring whether or not to grant the operation right is transmitted.
前記操作画面配信部は、アプリケーションの実行画面を、前記1のセッショングループを構成する複数のSBCクライアントの数だけ複製する複製部を有することを特徴とする請求項1に記載のSBCコラボレーションシステム。  2. The SBC collaboration system according to claim 1, wherein the operation screen distribution unit includes a duplication unit that duplicates an application execution screen by the number of a plurality of SBC clients configuring the one session group. 前記操作情報中継部は、
前記入力受付部を介して受信された入力操作情報から識別情報を抽出し、前記操作権情報を参照して、前記入力操作情報が前記操作権を有する第1のSBCクライアントから送信されたものかを判断する判断部と、
前記判断結果が、前記操作権を有する第1のSBCクライアントから送信されたものではない場合に、前記入力操作情報を破棄する操作情報破棄部と
を有することを特徴とする請求項1に記載のSBCコラボレーションシステム。
The operation information relay unit is
Whether identification information is extracted from the input operation information received via the input receiving unit, and the input operation information is transmitted from the first SBC client having the operation right with reference to the operation right information. A determination unit for determining
The operation information discarding unit that discards the input operation information when the determination result is not transmitted from the first SBC client having the operation right. SBC collaboration system.
前記操作権管理部は、前記入力受付部を介して、前記問い合わせメッセージに対する応答を前記第1のSBCクライアントから受信することを特徴とする請求項1に記載のSBCコラボレーションシステム。  The SBC collaboration system according to claim 1, wherein the operation right management unit receives a response to the inquiry message from the first SBC client via the input reception unit. 前記操作権管理部は、前記入力受付部を介して、前記第1のSBCクライアントから操作権譲渡の許可通知を受け取った場合に、前記第2のSBCクライアントを示すユーザIDを特権ユーザIDとして設定することを特徴とする請求項4に記載のSBCコラボレーションシステム。The operation right management unit sets a user ID indicating the second SBC client as a privileged user ID when receiving an operation right transfer permission notification from the first SBC client via the input receiving unit. The SBC collaboration system according to claim 4. 任意のアプリケーションを導入可能なSBCミドルウエアを備えるSBCサーバと、前記SBCサーバにネットワークを介して接続される複数のセッショングループの中の1のセッショングループに属して前記アプリケーションを遠隔的に協調利用可能な複数のSBCクライアントとの間に挿入されるプロキシサーバであって、
前記1のセッショングループに属する任意のSBCクライアントからセッション接続要求を受け付ける入力受付部と、
前記第1のセッショングループ内のいずれのSBCクライアントに前記アプリケーションの実行を許可する単一の操作権がいずれのSBCクライアントに設定されているかを示す特権ユーザIDを保持し、前記セッション接続要求を受信した場合に、前記第1のセッショングループ内の所定の第1のSBCクライアントを示すユーザIDを特権ユーザIDとして設定する操作権管理部と、
前記入力受付部が前記第1のSBCクライアントから、前記アプリケーションを実行する第1の入力操作情報を受信したときに、当該第1の入力操作情報を前記SBCサーバに転送する操作情報中継部と
前記転送された入力操作情報に基づくアプリケーションの実行画面を前記SBCサーバから受信し、当該実行画面を前記1のセッショングループに含まれる複数のSBCクライアントに配信する操作画面配信部と、
を備え、前記操作権管理部は、前記入力受付部が前記1のセッショングループ内の任意の第2のSBCクライアントから操作権取得要求を受信した場合に、前記第1のSBCクライアントに前記操作権の譲り渡しの許否を問い合わせるメッセージを送信することを特徴とするプロキシサーバ。
An SBC server having an SBC middleware capable of installing an arbitrary application, and the application can be remotely and cooperatively belonged to one session group among a plurality of session groups connected to the SBC server via a network A proxy server inserted between a plurality of SBC clients,
An input receiving unit that receives a session connection request from any SBC client belonging to the one session group;
Holds a privileged user ID indicating to which SBC client in the first session group a single operation right that permits execution of the application is set to which SBC client, and receives the session connection request when the operation right management unit for setting a user ID indicating a predetermined first SBC client in the first session group as a privileged user ID,
An operation information relay unit for transferring the first input operation information to the SBC server when the input receiving unit receives the first input operation information for executing the application from the first SBC client; An operation screen distribution unit that receives an execution screen of an application based on the transferred input operation information from the SBC server, and distributes the execution screen to a plurality of SBC clients included in the one session group;
The operation right management unit includes the operation right management unit when the input reception unit receives an operation right acquisition request from any second SBC client in the first session group. A proxy server that transmits a message inquiring whether or not the transfer is permitted.
前記操作画面配信部は、前記アプリケーションの実行画面を、前記1のセッショングループを構成する複数のSBCクライアントの数だけ複製する複写部を有することを特徴とする請求項6に記載のプロキシサーバ。  The proxy server according to claim 6, wherein the operation screen distribution unit includes a copy unit that copies the execution screen of the application by the number of a plurality of SBC clients that form the one session group. 前記操作情報中継部は、
前記入力受付部を介して受信された入力操作情報から識別情報を抽出し、前記操作権情報を参照して、前記入力操作情報が前記操作権を有する第1のSBCクライアントから送信されたものかを判断する判断部と、
前記判断部において、前記第1の入力操作情報でないと判断された場合に、当該受信した操作情報を破棄する破棄部と
を有することを特徴とする請求項6に記載のプロキシサーバ。
The operation information relay unit is
Whether identification information is extracted from the input operation information received via the input receiving unit, and the input operation information is transmitted from the first SBC client having the operation right with reference to the operation right information. A determination unit for determining
The proxy server according to claim 6, further comprising: a discard unit that discards the received operation information when the determination unit determines that the input operation information is not the first input operation information.
前記操作情報中継部は、前記判断部において、受信した操作情報が前記第1の入力操作情報であると判断された場合に、当該受信した操作情報を前記SBCサーバに転送する送信部をさらに有することを特徴とする請求項8に記載のプロキシサーバ。  The operation information relay unit further includes a transmission unit that transfers the received operation information to the SBC server when the determination unit determines that the received operation information is the first input operation information. The proxy server according to claim 8. 前記操作権管理部は、前記入力受付部を介して、前記問合せメッセージに対応する応答を前記第1のSBCクライアントから受信することを特徴とする請求項6に記載のプロキシサーバ。  The proxy server according to claim 6, wherein the operation right management unit receives a response corresponding to the inquiry message from the first SBC client via the input reception unit. 前記操作権管理部は、前記入力受付部を介して、前記第1のSBCクライアントから操作権譲渡の許可通知を受け取った場合に、前記第2のSBCクライアントを示すユーザIDを特権ユーザIDとして設定することを特徴とする請求項10に記載のプロキシサーバ。The operation right management unit sets a user ID indicating the second SBC client as a privileged user ID when receiving an operation right transfer permission notification from the first SBC client via the input receiving unit. The proxy server according to claim 10. 任意のアプリケーションを導入可能なSBCミドルウエアを備えるSBCサーバと、前記SBCサーバにネットワークを介して接続される複数のセッショングループの中の1のセッショングループに属して前記アプリケーションを遠隔的に協調利用可能な複数のSBCクライアントとの間に、プロキシサーバを設置し、
前記プロキシサーバに、前記セッショングループごとにいずれのSBCクライアントに前記アプリケーションの実行を許可する単一の操作権が設定されているかを示す特権ユー ザIDを格納し、
前記プロキシサーバにおいて、前記1のセッショングループに属する任意のSBCクライアントからセッション接続要求を受信し、
前記セッション接続要求を受信した場合に、前記第1のセッショングループ内の所定の第1のSBCクライアントを示すユーザIDを特権ユーザIDとして設定し、
前記プロキシサーバにおいて、前記第1のSBCクライアントから、前記アプリケーションを実行する第1の入力操作情報を受信したときに、当該第1の入力操作情報を前記SBCサーバに中継して前記SBCサーバに前記アプリケーションを実行させ、
前記プロキシサーバにおいて、前記アプリケーションの実行画面を前記SBCサーバから受信し、
前記プロキシサーバにおいて、前記受信した実行画面を複製し、複製した実行画面を前記1のセッショングループに属する複数のSBCクライアントに送信し、
前記プロキシサーバにおいて、前記1のセッショングループに属する任意の第2のSBCクライアントから、操作権取得要求を受信した場合に、前記第1のSBCクライアントに前記操作権の譲り渡しの許否を問い合わせるメッセージを送信し、
前記第1のSBCクライアントから前記操作権の譲渡を許可する通知を受信した場合に、前記プロキシサーバにおいて、前記特権ユーザIDを、前記第1のSBCクライアントを示すユーザIDから前記第2のSBCクライアントを示すユーザIDに設定変更することを特徴とするSBCコラボレーション方法。
An SBC server having an SBC middleware capable of installing an arbitrary application, and the application can be remotely and cooperatively belonged to one session group among a plurality of session groups connected to the SBC server via a network A proxy server between multiple SBC clients,
Wherein the proxy server, and stores the privileged user ID that indicates a single operation right is set to allow execution of the application in any of the SBC client for each of the session group,
The proxy server receives a session connection request from any SBC client belonging to the one session group,
When the session connection request is received , a user ID indicating a predetermined first SBC client in the first session group is set as a privileged user ID ,
In the proxy server, when the first input operation information for executing the application is received from the first SBC client, the first input operation information is relayed to the SBC server and transmitted to the SBC server. Run the application
In the proxy server, the execution screen of the application is received from the SBC server,
In the proxy server, the received execution screen is duplicated, and the duplicated execution screen is transmitted to a plurality of SBC clients belonging to the one session group,
In the proxy server, when an operation right acquisition request is received from an arbitrary second SBC client belonging to the one session group, a message is sent to the first SBC client as to whether or not the transfer of the operation right is permitted. And
When receiving a notification permitting transfer of the operation right from the first SBC client, the proxy server changes the privileged user ID from the user ID indicating the first SBC client to the second SBC client. The SBC collaboration method, wherein the setting is changed to a user ID indicating
前記プロキシサーバにおいて、前記操作権情報を更新して前記操作権を前記第2のSBCクライアントに設定変更する前に、前記第2のSBCクライアントから第2の入力操作情報を受信した場合に、当該第2の入力操作情報を破棄することを特徴とする請求項12に記載のSBCコラボレーション方法。  In the proxy server, when receiving the second input operation information from the second SBC client before updating the operation right information and changing the setting of the operation right to the second SBC client, The SBC collaboration method according to claim 12, wherein the second input operation information is discarded. 任意のアプリケーションを導入可能なSBCミドルウエアを備えるSBCサーバと、前記SBCサーバにネットワークを介して接続される複数のセッショングループの中の1のセッショングループに属して前記アプリケーションを遠隔的に協調利用可能な複数のSBCクライアントとの間に挿入されるプロキシサーバで実行されるSBCコラボレーション処理プログラムであって、
前記プロキシサーバに、前記セッショングループに属する任意のSBCクライアントからセッション接続要求を受信させ、
前記セッション接続要求を受信した場合に、前記プロキシサーバに、当該プロキシサーバが有する前記特権ユーザIDを更新させ、前記第1のセッショングループ内の所定の第1のSBCクライアントを示すユーザIDを前記特権ユーザIDとして設定させる手順と、
前記プロキシサーバにおいて、前記第1のSBCクライアントから前記アプリケーションを実行する第1の入力操作情報を受信したときに、前記プロキシサーバに、前記第1の入力操作情報を前記SBCサーバに中継させる手順と、
前記プロキシサーバに、前記SBCサーバから前記アプリケーションの実行画面を受信させ、当該実行画面を前記1のセッショングループに所属する複数のSBCクライアントに配信させる手順と、
前記プロキシサーバに、前記1のセッショングループに属する任意の第2のSBCクライアントから、操作権取得要求を受信させる手順と、
前記操作権取得要求を受信した場合、前記プロキシサーバに、前記第1のSBCクライアントに対して操作権譲渡の許否を問い合わせるメッセージを送信させる手順と、
前記プロキシサーバにおいて、第1のSBCクライアントから前記操作権の譲渡を許可する通知を受信した場合に、前記特権ユーザIDを前記第1のSBCクライアントを示すユーザIDから前記第2のSBCクライアントを示すユーザIDに設定変更させることを特徴とするSBCコラボレーション処理プログラム。
An SBC server having an SBC middleware capable of installing an arbitrary application, and the application can be remotely and cooperatively belonged to one session group among a plurality of session groups connected to the SBC server via a network An SBC collaboration processing program executed by a proxy server inserted between a plurality of SBC clients,
Causing the proxy server to receive a session connection request from any SBC client belonging to the session group;
When the session connection request is received , the proxy server is caused to update the privileged user ID of the proxy server, and a user ID indicating a predetermined first SBC client in the first session group is assigned to the privileged user ID. A procedure for setting as a user ID ;
A step of causing the proxy server to relay the first input operation information to the SBC server when the proxy server receives first input operation information for executing the application from the first SBC client; ,
A procedure for causing the proxy server to receive an execution screen of the application from the SBC server and distributing the execution screen to a plurality of SBC clients belonging to the session group;
A procedure for causing the proxy server to receive an operation right acquisition request from an arbitrary second SBC client belonging to the one session group;
When receiving the operation right acquisition request, the proxy server, a procedure for transmitting a message inquiring whether to permit operation right transfer to the first SBC client,
In the proxy server, when a notification permitting transfer of the operation right is received from the first SBC client, the privileged user ID is indicated from the user ID indicating the first SBC client to indicate the second SBC client. An SBC collaboration processing program characterized in that setting is changed to a user ID .
JP2003008852A 2002-04-10 2003-01-16 SBC collaboration system and proxy server for realizing SBC collaboration Expired - Lifetime JP3943504B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003008852A JP3943504B2 (en) 2002-04-10 2003-01-16 SBC collaboration system and proxy server for realizing SBC collaboration

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002108396 2002-04-10
JP2003008852A JP3943504B2 (en) 2002-04-10 2003-01-16 SBC collaboration system and proxy server for realizing SBC collaboration

Publications (2)

Publication Number Publication Date
JP2004005396A JP2004005396A (en) 2004-01-08
JP3943504B2 true JP3943504B2 (en) 2007-07-11

Family

ID=30446856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003008852A Expired - Lifetime JP3943504B2 (en) 2002-04-10 2003-01-16 SBC collaboration system and proxy server for realizing SBC collaboration

Country Status (1)

Country Link
JP (1) JP3943504B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4853328B2 (en) * 2007-02-28 2012-01-11 富士ゼロックス株式会社 Processing execution system, relay device, and program
JP5040364B2 (en) * 2007-03-02 2012-10-03 カシオ計算機株式会社 Information processing system, transfer server device
JP5278232B2 (en) * 2009-07-31 2013-09-04 カシオ計算機株式会社 Server device, server-based computing system, and program
JP5889559B2 (en) 2011-07-13 2016-03-22 ソニー株式会社 Information processing method and information processing system
KR101401938B1 (en) 2012-10-09 2014-06-27 에스케이플래닛 주식회사 Application Launch Service System and Method, Apparatus supporting the same
JP6554041B2 (en) * 2016-02-16 2019-07-31 ソニー株式会社 Information processing method and information processing apparatus
JP6805610B2 (en) * 2016-07-28 2020-12-23 日本電気株式会社 Server equipment, thin client system, notification transfer method, and program
JP6587078B2 (en) * 2018-06-27 2019-10-09 ソニー株式会社 Information processing method and information processing apparatus

Also Published As

Publication number Publication date
JP2004005396A (en) 2004-01-08

Similar Documents

Publication Publication Date Title
US7191217B2 (en) Distributed server-based collaborative computing
JP2544581B2 (en) Conference system control method, conference device, and conference system
US5949975A (en) Method and system for negotiating capabilities when sharing an application program with multiple computer systems
US20030085923A1 (en) Method and apparatus for conducting a collaboration session in which screen displays are commonly shared with participants
US7451181B2 (en) Apparatus for controlling a shared screen
JP5043956B2 (en) Method, server and system for controlling virtual character
GB2335832A (en) Automatic file transfer between a server and a mobile node
JPH1165975A (en) Cooperative work support system
EP1309128A2 (en) Method and system for ad hoc networking of computer users
JP2003085112A (en) Network information processing system, and information processing method
JP5409194B2 (en) Conference system
JP3943504B2 (en) SBC collaboration system and proxy server for realizing SBC collaboration
US20150358428A1 (en) Information processing system, information processing method, information processing apparatus, and control methods and control programs thereof
JP2001092702A (en) Information processing system, server device, client device and recording medium
JPH10187619A (en) Collaborative operation system
JP4550604B2 (en) Setting information synchronization program
JP2001228843A (en) Shared white board system, its control method and recording medium with method recorded thereon
US20020107922A1 (en) Processing apparatus, management apparatus, computer system, and memory medium and program
JP4095352B2 (en) Information processing apparatus, information processing apparatus control method, and computer program for executing the control method
JP4031315B2 (en) Web page display screen sharing system
JPH08314872A (en) Cooperative processing method among application programs
JP2503362B2 (en) Method of exchanging information and method of exchanging information in synchronous information exchange system
JPH07297824A (en) Method and equipment for communication control
JP4261796B2 (en) Collaboration method and system apparatus using SBC model
JP2000353138A (en) Electronic conference construction system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061110

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070215

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070320

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070405

R151 Written notification of patent or utility model registration

Ref document number: 3943504

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100413

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120413

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140413

Year of fee payment: 7

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term