本発明の第1の観点によれば、以下の構成の中継サーバが提供される。即ち、アカウント情報登録部と、中継グループ情報登録部と、共有リソース情報登録部と、を備える。アカウント情報登録部は、クライアント端末のアカウントの情報を記憶する。中継グループ情報登録部は、相互に接続を許可する一群の中継サーバの情報を含む中継グループ情報を記憶する。共有リソース情報登録部は、リソースの情報と、当該リソースを共有するクライアント端末の情報と、を含む共有リソース情報を記憶する。また、前記共有リソース情報登録部が記憶する共有リソース情報には、キー情報を前記リソースに対応付けて記述できるように構成されている。そして中継サーバは、前記アカウント情報登録部に記憶されているクライアント端末から、他のクライアント端末が操作可能なリソースについての操作指示を受けると、前記中継グループ情報に基づいて当該リソースの操作指示を中継するように構成する。ただし、中継サーバは、前記共有リソース情報においてリソースに前記キー情報が記述されているときには、操作指示を行っているクライアント端末で正しいキーが指定されたことを条件に、当該リソースの操作指示を中継する。
これにより、異なる中継サーバのアカウント情報登録部に記憶されているクライアント端末間でリソースを共有したり操作したりすることができる。また、例えば各リソースに異なったキーを設定することで、ファイルの取違えによる誤操作を未然に防止することができ、利便性の高いリソース共有を実現することができる。
本発明の第2の観点によれば、以下の構成の中継通信システムが提供される。即ち、複数の中継サーバを備え、それぞれの前記中継サーバは、アカウント情報登録部と、中継グループ情報登録部と、共有リソース情報登録部と、を備える。アカウント情報登録部は、クライアント端末のアカウントの情報を記憶する。中継グループ情報登録部は、相互に接続を許可する一群の中継サーバの情報を含む中継グループ情報を記憶する。共有リソース情報登録部は、リソースの情報と、当該リソースを共有するクライアント端末の情報と、を含む共有リソース情報を記憶する。前記共有リソース情報登録部が記憶する共有リソース情報には、キー情報を前記リソースに対応付けて記述できるように構成されている。それぞれの中継サーバは、前記アカウント情報登録部に記憶されているクライアント端末から、他のクライアント端末が操作可能なリソースについての操作指示を受けると、前記中継グループ情報に基づいて当該リソースの操作指示を中継するように構成する。ただし、前記共有リソース情報においてリソースに前記キー情報が記述されているときには、中継サーバは、操作指示を行っているクライアント端末で正しいキーが指定されたことを条件に、当該リソースの操作指示を中継するように構成する。これにより、ある中継サーバのアカウント情報登録部に記憶されているクライアント端末が保有するリソースを、他のクライアント端末において当該リソースのキーが入力されることで間接的に操作可能とする。
これにより、異なる中継サーバのアカウント情報登録部に記憶されているクライアント端末間でリソースを共有したり操作したりすることが可能な中継通信システムを提供できる。また、例えば各リソースに異なったキーを設定することで、ファイルの取違えによる誤操作を未然に防止することができ、利便性の高いリソース共有を実現することができる。
以下、図面を参照しつつ本発明の実施の形態について説明する。図1は、本発明の一実施形態に係る中継通信システムの全体構成を示す説明図である。
図1に示すように、この中継通信システムは、WANに接続された複数のLANで構成されている。そして、この中継通信システムは、外部サーバS、中継サーバR、クライアント端末T、ファイルサーバF等を備えている。
WAN(Wide Area Network)は、異なるLANを相互に接続するネットワークである。本実施形態ではWANとしてインターネットが使用されている。
LAN(Local Area Network)は、限定された場所で構築される比較的小規模なネットワークである。LANは複数存在し、互いに物理的に離れた場所に構築されている。本実施形態では、東京支社にLAN1が構築され、大阪支社、名古屋支社、福岡支社にLAN2,3,4がそれぞれ構築されるような場合を想定している。そして、これら4つのLAN1,2,3,4が、グローバルなネットワークであるインターネットにそれぞれ接続されている。
次に、図2等を参照して外部サーバSを説明する。図2は外部サーバSの機能ブロック図である。この外部サーバSは、各LANに配置された中継サーバR間での通信に用いられる装置であり、インターネット上に設置されている。
図2に示す外部サーバSは、SIP(Session Initiaion Protocol)サーバとしての機能を備えている。具体的には、外部サーバSは、SIPメソッドやレスポンス等を中継するSIPプロキシサーバとしての機能や、中継サーバRのアカウントを登録するSIPレジストラサーバとしての機能を備える。
外部サーバSは、図2に示すように、WANインタフェース201と、制御部202と、中継サーバアカウント情報データベース203と、を主要な構成として備えている。
WANインタフェース201は、グローバルIPアドレスを使用して、インターネットに接続された中継サーバR等の各装置と通信を行うインタフェースである。
中継サーバアカウント情報データベース203は、登録要求のあった中継サーバRのアカウントをグローバルIPアドレスと対応付けて管理するデータベースである。
制御部202は、WANインタフェース201を介して行う様々な通信を制御する処理部であり、TCP/IPやUDP、SIP等のプロトコルに従った通信処理を制御する。この制御部202は、例えば、それぞれの中継サーバRから当該中継サーバRのアカウントを受信し、中継サーバアカウント情報データベース203に登録する処理や、中継サーバRから送信された様々なSIPメソッドやレスポンス等の通信データを他の中継サーバRに中継する処理等を行う。なお、制御部202を中心とした外部サーバSの各機能の詳細については後述する。
次に、図3等を参照してクライアント端末Tを説明する。図3はクライアント端末Tの機能ブロック図である。
このクライアント端末Tはユーザが直接操作できる端末であり、例えばユーザによって日々の業務に使用されるパーソナルコンピュータ(PC)等が該当する。従って、LAN内には通常多数のクライアント端末Tが存在するが、本実施形態では図1に示すように、LAN1にクライアント端末1A,1Bが、LAN2にクライアント端末2A,2Bが、LAN3にクライアント端末3A,3Bが、LAN4にクライアント端末4A,4Bがそれぞれ接続されている場合を例に説明する。各クライアント端末Tには、同一のLANの中で一意に管理されたプライベートIPアドレスが付与されている。
図3に示すように、クライアント端末Tは、LANインタフェース601と、制御部602と、リソース記憶部603と、共有リソース情報データベース604と、を主要な構成として備えている。
LANインタフェース601は、前記プライベートIPアドレスを使用して、同一のLANに接続された中継サーバRやファイルサーバF等の各装置と通信を行うインタフェースである。
リソース記憶部603は、そのクライアント端末Tが操作可能なファイルやフォルダ等のリソースの実体を記憶する。
共有リソース情報データベース604は、各クライアント端末Tが保有している共有リソースの情報や、その共有リソースに関するキー情報等を記述した共有リソース情報を記憶する。
制御部602は、LANインタフェース601を介して行う様々な通信を制御する処理部である。この制御部602は、TCP/IPやUDP、SIP等のプロトコルに従った通信処理を制御する。
制御部602は、例えば、リソース記憶部603に記憶されているリソースの移動や変更、削除等を制御する処理を行う。また制御部602は、中継サーバRから共有リソース情報の変更通知を受信したときは、共有リソース情報データベース604に記憶されている共有リソース情報を更新する処理を行う。なお、制御部602を中心とした各クライアント端末Tの機能の詳細については後述する。
次に、図4等を参照して中継サーバRを説明する。図4は各中継サーバRの機能ブロック図である。
中継サーバRは、図1に示すように、LANのそれぞれに1台配置されている。具体的には、LAN1には中継サーバR1が、LAN2には中継サーバR2が、LAN3には中継サーバR3が、LAN4には中継サーバR4がそれぞれ配置されている。
中継サーバRはLANに接続され、同一のLANに接続されている各クライアント端末Tと通信可能になっている。また、中継サーバRはインターネットにも接続されており、他のLANに接続された中継サーバRと、前記外部サーバSを介して通信可能となっている。この通信のため、各中継サーバRには、プライベートIPアドレスとグローバルIPアドレスの両方が付与されている。
中継サーバRは、図4に示すように、LANインタフェース501と、WANインタフェース502と、制御部503と、アカウント情報データベース504と、中継グループ情報データベース505と、共有リソース情報データベース506と、キー対応情報データベース507と、を主要な構成として備えている。
LANインタフェース501は、自装置と同一のLANに接続されたクライアント端末Tとの通信を、プライベートIPアドレスを使用して行うインタフェースである。例えば、LAN1において中継サーバR1は、LANインタフェース501を使用して、各クライアント端末1A,1Bと通信を行うことができる。
WANインタフェース502は、グローバルIPアドレスを使用して、インターネットに接続された外部サーバS等の各装置と通信を行うインタフェースである。
各中継サーバRはSIPレジストラサーバとしての機能を備えており、各中継サーバRと各クライアント端末Tとの間の通信はSIPを使用して行われる。例えば、LAN2において中継サーバR2はSIPレジストラサーバとして機能し、LAN2に接続されている各クライアント端末2A,2Bのアカウントを受信し、アカウント情報データベース504に登録する。
従って、中継サーバRは図5に示すように、クライアント端末Tとの関係では、当該クライアント端末Tからアカウントを受信して登録(REGISTER)するサーバとして機能する。また、外部サーバSとの関係では、中継サーバRは、外部サーバSに対してアカウントを送信して登録(REGISTER)するクライアントとして機能する。
図4のアカウント情報データベース504は、登録要求のあったクライアント端末TのアカウントをプライベートIPアドレスと対応付けて管理するデータベースである。なお、アカウント情報データベース504には、その中継サーバRと同一のLANに接続されているクライアント端末Tに限定されず、他のLANのクライアント端末Tのアカウントを登録することもできる。
中継グループ情報データベース505は、アカウント情報データベース504に登録されているクライアント端末Tが関連する中継グループ情報を管理するデータベースである。
共有リソース情報データベース506は、アカウント情報データベース504に登録されているクライアント端末Tが関連する共有リソース情報を管理するデータベースである。
キー対応情報データベース507は、前記共有リソース情報に記述されたリソースを操作する際に入力を要求されるキーを管理するデータベースである。
制御部503は、LANインタフェース501及びWANインタフェース502を介して行う様々な通信を制御する処理部であり、TCP/IPや、UDP、SIP等のプロトコルに従った様々な通信処理を制御する。
この制御部503は、例えば、自装置のアカウントを外部サーバSに送信して登録を要求する処理や、中継グループ情報を作成して中継グループ情報データベース505に記憶する処理や、共有リソース情報を作成して共有リソース情報データベース506に記憶する処理等を実行する。なお、制御部503等を中心とした中継サーバRの各機能の詳細については後述する。
次にファイルサーバFを説明する。図1に示すように、このファイルサーバFはLANに接続されて、同一のLANに接続されている各クライアント端末Tと通信できるように構成されている。
ファイルサーバFは、ファイルやフォルダ等のリソースの実体を記憶できるように構成されており、各クライアント端末Tが備えている前記リソース記憶部603(図3)に代わるリソース記憶手段として機能する。即ち、本実施形態において各クライアント端末Tが操作可能なリソースは、そのクライアント端末Tのローカルディスク内に格納されている場合と、ネットワークドライブとしてのファイルサーバF内に格納されている場合が考えられる。このファイルサーバFは各LANに必須ではなく、図1の例においてもLAN2,4では設置が省略されている。
次に、この中継通信システムで扱われる情報である中継グループ情報及び共有リソース情報について説明する。
最初に、図6を参照して中継グループ情報を説明する。図6は中継グループ情報の内容例を示す図である。この図6に示すように、中継グループ情報データベース505に記憶される中継グループ情報100は、1つのグループ識別情報101と、相互に接続を許可することで中継グループを構成する中継サーバRの情報(中継アカウント情報)102と、を含んでいる。
グループ識別情報101は、その中継グループ情報100を識別するための情報であり、中継グループ情報100が作成される度に、異なるIDが付与されて一意に識別できる構成となっている。これにより、オペレータ等は、グループ識別情報101に基づいて中継グループを特定することができ、グループ構成の変更等を簡単に行うことができる。
中継アカウント情報102は、相互に接続を許可することで中継グループを構成するそれぞれの中継サーバRのアカウントの情報を含んでいる。また、中継アカウント情報102は、中継グループを構成する各中継サーバRと同一のLANに接続されるとともに、当該中継サーバRに登録されているクライアント端末Tのアカウント等の情報を含んでいる。
中継アカウント情報102においては、各中継サーバRのアカウントに付与された具体的な名称が併せて記述され、ユーザの識別が容易になっている。例えば、中継サーバR1(relay−server1)の中継アカウント情報102aであれば、中継サーバR1のアカウント(relay−server1@net)と、それに対して付与された名称(支社A)が記述されている。
中継アカウント情報102には、前記中継サーバRと同一のLANに接続されているクライアント端末Tのアカウントの部分に、当該アカウントに付与された具体的な名称が併せて記述され、ユーザの識別が容易になっている。例えば、クライアント端末(terminal1A)の場合、そのアカウント(例えば、user1A@relay−server1.net)に対して付与された名称(terminal1A)が記述されている。また更に、クライアント端末Tのアカウントには、営業部や開発部等、そのクライアント端末Tの所属を示す所属識別データ103が記述されている。
以上のように、中継グループ情報100は、中継グループごとに一意に識別可能に作成されている。また、中継グループ情報100には、相互に接続を許可することで一群(中継グループ)を構成する各中継サーバRのアカウント(中継アカウント情報102)が含まれている。更に、中継アカウント情報102には、その中継サーバRと同一のLANに接続され登録されているクライアント端末Tのアカウントの情報が含まれている。
従って、中継グループ情報100を参照すれば、どのLANとどのLANがグループを構成しているのか、そしてそれらのLANにおいてどの中継サーバRやクライアント端末Tが登録されているのかを知ることができる。この中継グループ情報100は、中継グループを構成している各中継サーバR間で交換される。
次に、共有リソース情報の内容について、図7を参照して説明する。図7は、クライアント端末1Aの共有リソース情報データベース604に記憶される共有リソース情報120を例示したものである。なお、これと同じ情報が、クライアント端末1Aと同一のLANに接続されている中継サーバR1の共有リソース情報データベース506にも記憶される。
共有リソース情報120は、クライアント端末1Aに関する共有リソース情報であることを示すアカウント識別情報121と、そのクライアント端末1Aが関連する個別共有リソース情報122と、で構成されている。
アカウント識別情報121は、クライアント端末Tごとに共有リソース情報120が作成されるため、それを識別するための情報である。
個別共有リソース情報122は、共有リソース識別情報123や、ファミリアカウント情報124や、ファミリリソース情報125等で構成されている。
共有リソース識別情報123は、その個別共有リソース情報122を識別するための情報であり、個別共有リソース情報122が作成される度に、異なるIDが付与されて一意に識別できる構成となっている。ここでは共有リソース識別情報123は、共有リソース情報120の作成要求のあったクライアント端末Tと関連付けられたID(例えば、20061001150032user1A@relay−server1.net)と、その識別を容易にするための名称(projectA)とで構成されている。
これにより、ユーザ等は、共有リソース識別情報123に基づいて個別共有リソース情報122を特定することができるため、簡単にその内容を編集等することができる。
ファミリリソース情報125は、クライアント端末Tが保有しているファイルやフォルダ等のリソースの実体を示すリソース情報127の集合体である。各リソース情報127は、共有するリソースの実体の名称の情報(例えば、name=”projectA−folder”)と、そのリソースの実体の操作が可能なクライアント端末T(オーナクライアント端末)のアカウントの情報(例えば、owner=”user1A@relay−server1.net”)と、そのリソースの実体の所在を示すアドレスの情報(例えば、value=”c:/folderA”)と、で構成されている。
ファミリリソース情報125には、そのリソースを操作するために入力が必要とされるキーに関するキー情報130を記述することができる。例えば、図7の共有リソース情報120の例では、共有リソース「file001.xls」について、key=”key0001”というようにキー情報130が記述されている。
ファミリアカウント情報124は、ファミリリソース情報125で示されているリソースの実体を共有するクライアント端末Tのアカウント(例えば、user1A@relay−server1.net)の情報の集合体である。ファミリアカウント情報124は、オーナクライアント端末Tの情報と、このオーナクライアント端末Tを介して間接的にリソースの実体を操作可能なクライアント端末T(ユーザクライアント端末)の情報と、で構成されている。ユーザクライアント端末Tは、直接的にリソースの実体を操作することはできないが、オーナクライアント端末Tを介して間接的にリソースを操作することが可能なクライアント端末である。
以上に示すように、前記中継サーバRが備える共有リソース情報データベース506は、リソースの情報を記述したファミリリソース情報125と、このリソースを共有するクライアント端末Tのアカウントを記述したファミリアカウント情報124と、を含む共有リソース情報120(図7)を記憶するように構成されている。また、この共有リソース情報120は、ファミリリソース情報125に記述された個々のリソースに対応付けて、キー情報130をリソース情報127の部分に記述できるように構成されている。
以上のとおり構成された中継通信システムにおける通信処理の流れについて、図8のシーケンス図を用いて説明する。図8に示すシーケンス番号1〜9は、各装置のアカウントの登録段階を示している。
シーケンス番号1において、中継サーバR1が、外部サーバSに対してアカウントの登録要求(REGISTER)を送信する。ここでは、中継サーバR1が、自機のアカウント(sip:relay−server1@net)の登録要求を行う。外部サーバSはOKレスポンスを中継サーバR1に返信し、中継サーバR1のアカウントと中継サーバR1のグローバルIPアドレスとを対応付けて中継サーバアカウント情報データベース203に登録する。
同様にして、中継サーバR2及びR3が、外部サーバSに対して自機のアカウントの登録要求(REGISTER)を行い、自機のアカウント等を外部サーバSに登録する(シーケンス番号2、3)。
次にシーケンス番号4において、クライアント端末2Aが、中継サーバR2に対してアカウントの登録要求(REGISTER)を送信する。ここでは、クライアント端末2Aが、自機のアカウント(sip:user2A@relay−server2.net)の登録要求を行う。中継サーバR2は、OKレスポンスを返し、クライアント端末2Aのアカウントとプライベートアドレスとを対応付けてアカウント情報データベース504に登録する。
同様にして、クライアント端末1A,3A,2B,1B,3Bが各中継サーバRに対し、それぞれ自機のアカウントの登録要求を行い、自機のアカウント等を中継サーバRに登録する(シーケンス番号5〜9)。
以上の処理により、各中継サーバRの外部サーバSに対するアカウントの登録、及び、各クライアント端末Tの中継サーバRに対するアカウントの登録が完了する。なお、以上で示したシーケンスは一例であって、各装置のアカウントの登録が結果的に完了するものであれば、その順序は任意である。
また、ネットワーク上に存在する中継サーバRやクライアント端末Tであっても、そのアカウントの登録がされなければ、本実施形態の中継通信システムに参加することができない。例えば図1の中継サーバR4及びクライアント端末4A,4Bは、図8の処理においてアカウントの登録が行われていないため、以降で説明する通信には参加できない。
次に、図9のシーケンス番号10〜18を参照して、中継グループの生成及び登録段階を説明する。なお、図8と図9に示すシーケンス番号1〜18の処理は、一般に、ユーザやオペレータによってネットワークの初期設定として行われる。
まず、中継サーバR1において、中継サーバR2との間で中継グループを新規に形成するメソッド(createGroupメソッド)がオペレータによって実行される。このcreateGroupメソッドでは、グループ名(group1)、中継グループを形成する相手の中継サーバR2のアカウント(relay−server2@net)、及び、新規作成された中継グループに付与する識別ID(groupID0001)が指定される。
すると、中継サーバR1においてメッセージ送信コマンド(MESSAGEメソッド)が実行され、相手となる中継サーバR2に対するgroup−infoメッセージが外部サーバSに送信される(シーケンス番号10)。このメッセージには、前記createGroupメソッドで指定されたグループ名や中継グループの識別ID等が含まれている。
このMESSAGEメソッドでは、メッセージ送信先の中継サーバR2のアカウント(sip:relay−server2@net)が指定されている。外部サーバSは、中継サーバアカウント情報データベース203を参照することで中継サーバR2のグローバルIPアドレスを取得し、中継サーバR1からのgroup−infoメッセージを中継サーバR2に中継する。メッセージを受信した中継サーバR2は、外部サーバSを介して中継サーバR1へOKレスポンスを返す。
以上のように、本実施形態の各中継サーバR間の通信は外部サーバSを経由して行われ、以下においても同様である。従って、以後の説明では、外部サーバSを経由する通信処理の具体的な説明を省略する。
次に、中継サーバR1が、中継サーバR2に対し、サーバ情報の送信要求メッセージ(request−server−infoメッセージ)を送信する(シーケンス番号11)。このメッセージを受信した中継サーバR2は、OKレスポンスとともに、自機に関する情報(server−info)を中継サーバR1に返す。
今度は反対に、中継サーバR2が中継サーバR1に対するrequest−server−infoメッセージを送信し(シーケンス番号12)、中継サーバR1は自機に関する情報(server−info)を中継サーバR2に返信する。
以上のように互いのサーバに関する情報を交換することで、両中継サーバR1,R2が中継グループを形成した旨の中継グループ情報100が生成され、各中継サーバR1,R2の中継グループ情報データベース505に記憶される。
次に、中継サーバR2において、先ほど作成した中継グループ(中継サーバR1,R2で構成される中継グループ)に新たに中継サーバR3を加えるメソッド(addGroupメソッド)がオペレータによって実行される。このaddGroupメソッドでは、加入させる中継グループのグループ名(group1)、加入させる中継サーバR3のアカウント(relay−server3@net)、加入させる中継グループの識別ID(groupID0001)が指定される。
すると中継サーバR2は、加入させる相手となる中継サーバR3に対し、group−infoメッセージを送信する(シーケンス番号13)。このメッセージには、前記addGroupメソッドで指定されたグループ名や中継グループの識別ID等が含まれている。これを受信した中継サーバR3は、中継サーバR2へOKレスポンスを返す。次に、シーケンス番号11,12で説明したのと全く同様に、中継サーバR2と中継サーバR3との間でサーバ情報が交換される(シーケンス番号14,15)。
次に、中継サーバR2は、中継グループに中継サーバR3が加わったことを知らせるupdate−group−infoメッセージを、中継サーバR1に送信する(シーケンス番号16)。これを受信した中継サーバR1は、中継サーバR2へOKレスポンスを返す。その後、中継サーバR3と中継サーバR2との間でサーバ情報が交換される(シーケンス番号17,18)。
以上により、3つの中継サーバR1,R2,R3が中継グループを形成している旨の中継グループ情報100(具体的には、図6で示した内容の情報)が、各中継サーバR1,R2,R3の中継グループ情報データベース505に記憶される。
次に、クライアント端末Tのリソースを実際に共有させる場合の動作を、図10を参照して説明する。ここでは、クライアント端末1Aの保有するフォルダ「folderA」や、LAN1のファイルサーバFが保有するファイル「file001.xls」、「file002.doc」を、クライアント端末2A及び3Aと共有させ、更にファイル「file001.xls」についてキーを設定する場合を例に説明する。
ユーザはクライアント端末1Aを操作し、自機とファイル共有が可能なクライアント端末の一覧を表示させる指示をクライアント端末1Aに対して行う。すると、クライアント端末1Aは中継グループ情報データベース505の記憶内容(中継グループ情報100)を参照し、自LANの中継サーバR1と中継グループを構成している中継サーバRの何れかと同一のLANに接続されているクライアント端末Tの一覧を画面に表示する。
ここでは、図6の中継グループ情報100の内容に基づき、5台のクライアント端末1B,2A,2B,3A,3Bがファイル共有可能な端末として表示される。ユーザは、表示された5台の中から、実際にリソースを共有させるクライアント端末(前記ユーザクライアント端末)を自由に指定することができる。今回の説明では、ユーザはファイル共有相手としてクライアント端末2A,3Aを指定したとする。
すると、クライアント端末1Aは、共有リソースの作成要求(CreateSharedResourceコマンド)を中継サーバR1に送信する(図10のシーケンス番号21)。このメッセージには、グループ識別情報101や、指定されたユーザクライアント端末2A,3Aの情報が含まれている。
これを受信した中継サーバR1は、共有リソース情報120を作成し、自機の共有リソース情報データベース506に記憶する。更に中継サーバR1は、中継グループの識別IDに基づいて中継グループ情報データベース505の内容を参照し、当該中継グループを構成する他の中継サーバR2,R3に対しpolicy−dataメッセージを送信し、作成された共有リソース情報120を通知する(シーケンス番号21.1、21.2)。
メッセージを受信した各中継サーバR2,R3は、自機の共有リソース情報データベース506にその共有リソース情報120を記憶するとともに、指定された各ユーザクライアント端末2A,3Aに対してpolicy−dataメッセージを送信し、共有リソース情報120を通知する(シーケンス番号21.1.1、21.2.1)。このメッセージを受信した各ユーザクライアント端末2A,3Aは、自機の共有リソース情報データベース604に記憶されている共有リソース情報120の変更を行うとともに、送信元の中継サーバR2,R3にOKレスポンスを返す。OKレスポンスを受信した中継サーバR2,R3は中継サーバR1にOKレスポンスを返し、それを受信した中継サーバR1はクライアント端末1AにOKレスポンスを返す。
以上により、中継サーバR1,R2,R3の共有リソース情報データベース506に記憶される共有リソース情報120には、共有リソース識別情報123やファミリアカウント情報124が記述されることになる。クライアント端末1A,2A,3Aの共有リソース情報データベース604に記憶される共有リソース情報120にも、同じ内容が記述される。
次に、クライアント端末1Aをユーザが操作してAddResourceメソッドを実行することによって、共有するリソースの実体を示すリソース情報(図8の符号127)を共有リソース情報120に加える処理が行われる。
今回の説明では、クライアント端末1Aのリソース記憶部603に記憶されているリソースの実体の中から「folderA」を選択し、また、ファイルサーバFに記憶されているリソースの実体の中から「file001.xls」、「file002.doc」を選択し、これらを他のクライアント端末2A,3Aと共有させる旨を指定したとする。
また、共有させるときのファイル名として、「folderA」は「projectA−folder」、「file001.xls」は「file00ZX.xls」、「file002.doc」は「file00ZY.doc」とする旨を、それぞれ指定したとする。更にユーザは、3つのリソースのうち、ファイル「file001.xls」についてキー「pa01」を設定する旨を指定したとする。
ユーザによって以上の操作がされたクライアント端末1Aは、その指定内容に基づき、共有リソース情報データベース604に記憶されている共有リソース情報120の内容を変更する。この結果、共有リソース情報120には図6に示すように、「folderA」、「file001.xls」、「file002.doc」に関するリソース情報127が記述されることになる。また、図6に示すように、「file001.xls」のリソース情報127にはキー識別インデックス(key="key0001")がキー情報130として記述される。
そしてクライアント端末1Aは、変更後の共有リソース情報120の内容を含む共有リソース変更要求(UpdateSharedResourceコマンド)を中継サーバR1に送信する(図10のシーケンス番号31)。このコマンドには、ユーザが指定したキー「pa01」が含まれている。
共有リソース変更要求を受信した中継サーバR1は、変更された共有リソース情報を自機の共有リソース情報データベース506に記憶する。従って、中継サーバR1の共有リソース情報データベース506が記憶する共有リソース情報120にも、前記のリソース情報127及びキー情報130が記述されることになる。
更に中継サーバR1は、キー識別インデックス(key0001)と、実際に指定されたキー「pa01」とを対応付けたキー対応情報を作成し、キー対応情報データベース507に保存する。
続いて、中継サーバR1は、ユーザクライアント端末2A,3Aが接続されている各中継サーバR2,R3にpolicy−dataメッセージを送信し、変更された共有リソース情報120を通知する(シーケンス番号31.1、31.2)。
メッセージを受信した各中継サーバR2,R3は、自機の共有リソース情報データベース506にその共有リソース情報120を記憶するとともに、指定された各ユーザクライアント端末2A,3Aに対してpolicy−dataメッセージを送信し、共有リソース情報120を通知する(シーケンス番号31.1.1、31.2.1)。
このメッセージを受信した各ユーザクライアント端末2A,3Aは、自機の共有リソース情報データベース604に記憶されている共有リソース情報120の変更を行った後、送信元の中継サーバR2,R3にOKレスポンスを返す。OKレスポンスを受信した中継サーバR2,R3は中継サーバR1にOKレスポンスを返し、それを受信した中継サーバR1はクライアント端末1AにOKレスポンスを返す。
以上により、リソースの登録作業が完了する。なお、中継サーバR1のキー対応情報データベース507に記憶されたキー対応情報は、グループを形成している他の中継サーバR2,R3と適宜交換され、前述したキー識別インデックス(key0001)とキーの内容(pa01)は、それぞれの中継サーバR2,R3のキー対応情報データベース507に記憶される。
次に、以上のようにして共有されたリソースをクライアント端末2A及び3Aが開く操作をしたときの通信処理について、図11等を参照して説明する。
図11のシーケンス番号41で、クライアント端末2Aのユーザが、共有ファイル「file00ZY.doc」を開きたいと考えたとする。ユーザはクライアントソフトウェアを立ち上げ、図12の上側に示すような画面で操作を行う。
図12の上側は、クライアントソフトウェアを実行することで表示される画面の例を示している。画面に表示されるウインドウ151は、左右のペインに分かれている。左側のペインには、共有リソースのフォルダ構造をツリー形式で表示している。今回の説明ではフォルダ「folderA」が「projectA−folder」という名前で共有されているので(図7の共有リソース情報120を参照)、クライアントソフトウェアでは「projectA−folder」の名前の共有フォルダが表示されている。
右側のペインには、上記共有フォルダ内の共有ファイルが一覧形式で表示されている。今回の説明では、図7に示すように、ファイル「file001.xls」が「file00ZX.xls」という名前で共有され、ファイル「file002.doc」が「file00ZY.doc」という名前で共有されている。従って、クライアントソフトウェアでは、図12に示すように「file00ZX.xls」、「file00ZY.doc」の2つの共有ファイルが表示される。
ユーザは、右側のペインで共有ファイルを選択し、適宜の操作を行うことで、そのファイルを開くことができる。ただし今回は、ユーザが「file00ZY.doc」を開くつもりで、手元の操作を誤って「file00ZX.xls」を選択し、開く操作を行ってしまったとする。
するとクライアント端末2Aは、共有リソース情報データベース604に記憶されている共有リソース情報120を参照し、そのファイルに対しキー情報130が設定されているか否かを調べる。今回は、図7の共有リソース情報120の内容により、ファイル「file00ZX.xls」にはキー情報130が設定されていることが判る。従って、クライアント端末2Aは図12の下側で示すように、画面にダイアログ152を表示し、ユーザにキーの入力を促す。ただし、ここではユーザがキーを入力せず、OKボタンを選択したとする。
上記の操作がされたクライアント端末2Aは、図11のシーケンス番号41で示すように、ファイルを開くOpenFileメソッドを中継サーバR2に送信する。このメソッドでは、開く対象のファイル「file00ZX.xls」は指定されているが、キーは入力されなかったために指定されていない。
すると中継サーバR2は、共有リソース情報データベース506に記憶されている共有リソース情報120を参照し、そのファイルにキー情報130が設定されているか否かを調べる。今回は、ファイル「file00ZX.xls」にはキー情報130が設定されていることが判る。従って、中継サーバR2は、キー対応情報データベース507を参照し、キー情報130に対応付けられたキーの内容を取得し、指定されたキーと比較する。
今回はクライアント端末2Aからキーが指定されていなかったため、不一致と判定される。従って、中継サーバR2はエラーをクライアント端末2Aに返し、クライアント端末2Aはエラーメッセージを画面に表示する。これによりユーザは、「file00ZY.doc」を開くつもりで「file00ZX.xls」を開こうとしていたことに素早く気付くことができる。
なお、上記ではクライアント端末2Aにおいてキーが全く入力されなかった場合について説明したが、誤ったキーが入力された場合でも同様にエラーが返されることは勿論である。
次に、シーケンス番号51で、クライアント端末3Aのユーザが、共有ファイル「file00ZX.xls」を開きたいと考えたとする。ユーザはクライアント端末3Aを操作し、図12の上側に示すようなクライアントソフトウェアの画面で操作を行い、「file00ZX.xls」を選択し、開く操作を行う。
ここで上述したように、ファイル「file00ZX.xls」にはキー情報130が設定されている旨が、共有リソース情報データベース604の共有リソース情報120に記述されている。従って、クライアント端末3Aは図12の下側で示すように、画面にダイアログ152を表示し、ユーザにキーの登録を促す。
ユーザは、上記ダイアログ152で正しいキー「pa01」を入力し、OKボタンを選択する。するとクライアント端末3Aは、図11のシーケンス番号51で示すように、ファイルを開くOpenFileメソッドを中継サーバR3に送信する。このメソッドでは、開く対象のファイル「file00ZX.xls」と、指定されたキー「pa01」が指定されている。
すると中継サーバR3は、共有リソース情報データベース506に記憶されている共有リソース情報120を参照し、そのファイルにキー情報130が設定されているか否かを調べる。今回は、図7の共有リソース情報120の内容で示すように、ファイル「file00ZX.xls」にはキー情報130(key0001)が設定されていることが判る。
従って、中継サーバR3は、キー対応情報データベース507を参照し、キー情報130に対応付けられたキーの内容を取得し、指定されたキーと比較する。今回の例では、キー識別インデックス「key0001」に対応するキーは「pa01」であり、指定されたキーと一致している。
そこで中継サーバR3は、共有リソース情報データベース506を参照し、当該ファイル「file00ZX.xls」のオーナクライアント端末Tを特定する。今回は、図7の共有リソース情報120の内容により、file00ZX.xlsのオーナクライアント端末は1Aであることが判る。次に中継サーバR3は、中継グループ情報データベース505を参照し、そのオーナクライアント端末1Aと同一のLANに接続している中継サーバRを特定する。今回は、図6の中継グループ情報100の内容により、オーナクライアント端末1Aと同一のLANの中継サーバはR1であることが判る。
従って、中継サーバR3は中継サーバR1に対し、接続要求(INVITEメソッド)を送信する(図11のシーケンス番号51.1)。このINVITEメソッドには、ファイルを開くという操作である旨、対象のファイル名、及びキーの指定が含まれている。この接続要求を受信した中継サーバR1は、クライアント端末1Aに対し同様にINVITEメソッドを送信する。中継サーバR1は、クライアント端末1Aからレスポンスが返されると、それを中継サーバR3へ中継する。
続いて中継サーバR3は、中継サーバR1にMediaSessionコマンドを送信し、両中継サーバR3,R1間に通信経路を確立する(シーケンス番号51.2)。その後、中継サーバR1は、クライアント端末1AにMediaSessionコマンドを送信し、中継サーバR1とクライアント端末1Aとの間に通信経路を確立する(シーケンス番号51.2.1)。その後、クライアント端末1AはFileTransferコマンドを実行し、リソース記憶部603に記憶されているリソース(ファイル「file001.xls」)の実体の内容を中継サーバR1に送信する。中継サーバR1はその内容を中継サーバR3に中継し、中継サーバR3は更にその内容をクライアント端末3Aに中継する。
その後、クライアント端末3Aでfopenメソッドが実行され、適宜のアプリケーションで上記ファイル「file00ZX.xls」を開くことができる。
なお、図11ではファイル(リソース)を開く操作の例で説明したが、例えばリソースを削除したり、違う内容に更新したりする操作においても、中継サーバRの中継動作は実質的に同様である。
以上に説明したように、本実施形態においてLANに接続されている中継サーバRは、アカウント情報データベース504に記憶されているクライアント端末Tから、他のLANに接続されているクライアント端末Tが操作可能なリソースの操作指示を受けると、中継グループ情報100に基づいて当該リソースの操作指示を他の中継サーバRに中継するように構成している。
また、中継サーバRの共有リソース情報データベース506が記憶する共有リソース情報120には、キー情報130を共有リソースに対応付けて記述できるように構成されている。そして、前記共有リソース情報120においてリソースに前記キー情報130が記述されているときには、操作指示を行っているクライアント端末Tが正しいキーを入力したことを条件に、当該リソースの操作指示を中継するように構成されている。例えば中継サーバR3は、クライアント端末3Aから、他のLANのクライアント端末1Aが操作可能なリソース「file001.xls」を開く旨の指示を受けると、その指示を行ったクライアント端末3Aで正しいキー「pa01」が指定されたことを条件に、図11のシーケンス番号51.1に示すように、ファイルを開く旨の指示を他の中継サーバR1に中継するように構成されている。
これにより、クライアント端末Tが異なるLANに接続されていても、リソースを共有したり操作したりすることができる。また、例えば各リソースに異なったキーを設定することで、ファイルの取違えによる誤操作を未然に防止することができ、利便性の高いリソース共有を実現することができる。また、リソースのファイルフォーマットを問わずにキーを設定することができるので、ファイルの誤操作防止を確実に行うことができる。
また、本実施形態では、前記操作指示を行っているクライアント端末で誤ったキーが入力されたときは、当該クライアント端末にエラーを返すように構成されている。
これにより、ユーザが共有リソースの誤操作に直ちに気付くことができるので、リソース共有の利便性が一層向上する。
以上に本発明の好適な実施形態を説明したが、以上の構成は例えば以下のように変更することができる。
クライアント端末Tで実行されるクライアントソフトウェアは、図12に示すような画面を表示することに限定されず、他の様々なユーザインターフェースを採用することができる。
中継グループを構成する中継サーバRは任意に選択することができる。また、中継グループを複数作成して中継グループ情報データベース505に記憶させることができる。
上記実施形態のように異なるLAN同士での中継を行う場合、LANの数は複数であれば良く、4つに限定されない。また、WANとして、インターネット以外の類似するネットワークを使用するように変更することができる。
WANにおける外部サーバSと各中継サーバRとの間、及び、LANにおける中継サーバRとクライアント端末T等との間の通信プロトコルに、SIP以外のプロトコルを使用するように変更することができる。
外部サーバSを省略して、中継サーバR間で直接通信するように構成することができる。特に、中継サーバR間でSIP以外のプロトコルを用いる場合は、そのプロトコルに基づいて中継サーバR間の通信を直接制御すれば良いので、外部サーバSを省略するのは容易である。一方、外部サーバSは1台とすることに限らず、複数台で分散的に機能するものに構成することができる。
中継サーバRのWANインタフェース502は省略することができる。この場合、インターネットとの接続はルータに行わせ、その配下に中継サーバRを設置するように構成すれば良い。
上記実施形態では、中継サーバRのアカウント情報データベース504に、当該中継サーバRと同一のLANに接続されているクライアント端末Tが記憶されている。しかしながらこれに限定されず、アカウント情報データベース504に、自機と異なるLANに接続されているクライアント端末Tを記憶させることができる。もっと言えば、中継サーバRと、当該中継サーバRのアカウント情報データベース504に登録されるクライアント端末Tは、ネットワークを介して相互に通信可能である限りどのような関係であっても良い。
同一のLANに中継サーバRが複数接続されても良い。例えば、同一のLANに中継サーバRを3台設置し、当該LAN内の何台かのクライアント端末Tを第1の中継サーバRのアカウント情報データベース504に記憶させ、他の何台かのクライアント端末Tを第2の中継サーバRのアカウント情報データベース504に記憶させ、・・・というように構成することができる。この場合、3台の中継サーバRはLANを介して通信し、1つのLAN内で中継が完結することになる。