(57)【特許請求の範囲】
【請求項１】
ネットワークに接続された端末から、サーバに格納されたファイルを編集するための共同編集支援システムであって、
編集対象となるファイルを格納するファイル格納手段と、
前記ファイルの更新要求を送信するアクセス元を識別する識別子とともに前記ファイルの更新要求を前記端末から受信する通信手段と、
前記更新要求に基づいて前記ファイルを更新するファイル更新手段と、
前記識別子とともに前記更新要求の履歴情報を格納する操作履歴格納手段と、
前記操作履歴格納手段に格納された履歴情報から、前記更新要求を受信した期間および／または前記更新要求を受信した回数に関する条件に適合する前記アクセス元の識別子を選定する参加者選定手段と、
を備えることを特徴とする共同編集支援システム。
【請求項２】
前記通信手段は、前記更新要求に基づき更新されたファイルの実行要求を受信し、
前記実行要求に基づいて前記ファイルをプログラムとして実行するプログラム実行手段を備えることを特徴とする請求項１に記載の共同編集支援システム。
【請求項３】
前記参加者選定手段は、予め定められた条件に基づいて、前記操作履歴格納手段に格納された履歴情報から、前記更新要求に関連する情報を通知すべき通知先の識別子を選定することを特徴とする請求項１または２に記載の共同編集支援システム。
【請求項４】
前記更新要求によって前記ファイルが更新された際に、前記参加者選定手段が選定した通知先の識別子を宛先として、前記ファイルが更新されたことを通知する更新通知手段を備えることを特徴とする請求項３に記載の共同編集支援システム。
【請求項５】
前記通信手段は、前記ファイルの閲覧要求を送信するアクセス元を識別する識別子とともに前記ファイルの閲覧要求を前記端末から受信し、
前記閲覧要求に基づいて前記ファイルを提示するファイル提示手段を備え、
前記操作履歴格納手段はさらに、前記閲覧要求のアクセス元を識別する識別子とともに前記閲覧要求の履歴情報を格納する
ことを特徴とする請求項１ないし４のいずれか１項に記載の共同編集支援システム。
【請求項６】
前記参加者選定手段は、前記ファイルに対する前記更新要求および前記閲覧要求の任意の組み合わせに関する所定の期間の履歴情報に基づいて、前記更新要求を受信した期間、前記更新要求を受信した回数、前記閲覧要求を受信した期間および前記閲覧要求を受信した回数の任意の組み合わせに関する条件に適合する前記アクセス元の識別子を選定することを特徴とする請求項５に記載の共同編集支援システム。
【請求項７】
前記操作履歴格納手段は、前記更新要求が更新を要求する前記ファイルの部分を特定する情報を含む更新要求の履歴情報を格納し、
前記参加者選定手段は、前記履歴情報およびその前記ファイルの部分を特定する情報に基づいて前記更新要求を受信した期間および／または前記更新要求を受信した回数に関する条件に適合する前記アクセス元の識別子を選定する
ことを特徴とする請求項１ないし６のいずれか１項に記載の共同編集支援システム。
【請求項８】
前記参加者選定手段は、前記ファイル格納手段に格納されるファイルの関係に基づいて前記更新要求を受信した期間および／または前記更新要求を受信した回数に関する条件に適合する前記アクセス元の識別子を選定することを特徴とする請求項１ないし７のいずれか１項に記載の共同編集支援システム。
【請求項９】
編集対象となるファイルを格納するファイル格納手段と、
前記ファイルの更新要求を送信するアクセス元を識別する識別子とともに前記ファイルの更新要求を受信する通信手段と、
前記更新要求に基づいて前記ファイルを更新するファイル更新手段と、
前記識別子とともに前記更新要求の履歴情報を格納する操作履歴格納手段と、
前記操作履歴格納手段に格納された履歴情報から、前記更新要求を受信した期間および／または前記更新要求を受信した回数に関する条件に適合する前記アクセス元の識別子を選定する参加者選定手段と、
を備えることを特徴とする共同編集支援サーバ。
【請求項１０】
前記通信手段は、前記更新要求に基づき更新されたファイルの実行要求を受信し、
前記実行要求に基づいて前記ファイルをプログラムとして実行するプログラム実行手段を備える事を特徴とする請求項９に記載の共同編集支援サーバ。
【請求項１１】
前記参加者選定手段は、予め定められた条件に基づいて、前記操作履歴格納手段に格納された履歴情報から、前記更新要求に関連する情報を通知すべき通知先の識別子を選定することを特徴とする請求項９または１０に記載の共同編集支援サーバ。
【請求項１２】
前記更新要求によって前記ファイルが更新された際に、前記参加者選定手段が選定した通知先の識別子を宛先として、前記ファイルが更新されたことを通知する更新通知手段を備えることを特徴とする請求項１１に記載の共同編集支援サーバ。
【請求項１３】
前記通信手段は、前記ファイルの閲覧要求を送信するアクセス元を識別する識別子とともに前記ファイルの閲覧要求を受信し、
前記閲覧要求に基づいて前記ファイルを提示するファイル提示手段を備え、
前記操作履歴格納手段はさらに、前記閲覧要求のアクセス元を識別する識別子とともに前記閲覧要求の履歴情報を格納する
ことを特徴とする請求項９ないし１２のいずれか１項に記載の共同編集支援サーバ。
【請求項１４】
前記参加者選定手段は、前記ファイルに対する前記更新要求および前記閲覧要求の任意の組み合わせに関する所定の期間の履歴情報に基づいて、前記更新要求を受信した期間、前記更新要求を受信した回数、前記閲覧要求を受信した期間および前記閲覧要求を受信した回数の任意の組み合わせに関する条件に適合する前記アクセス元の識別子を選定することを特徴とする請求項１３に記載の共同編集支援サーバ。
【請求項１５】
前記操作履歴格納手段は、前記更新要求が更新を要求するファイルの部分を特定する情報を含む更新要求の履歴情報を格納し、
前記参加者選定手段は、前記履歴情報およびその前記ファイルの部分を特定する情報に基づいて前記更新要求を受信した期間および／または前記更新要求を受信した回数に関する条件に適合する前記アクセス元の識別子を選定することを特徴とする請求項９ないし１４のいずれか１項に記載の共同編集支援サーバ。
【請求項１６】
前記参加者選定手段は、前記ファイル格納手段に格納されるファイルの関係に基づいて前記更新要求を受信した期間および／または前記更新要求を受信した回数に関する条件に適合する前記アクセス元の識別子を選定することを特徴とする請求項９ないし１５のいずれか１項に記載の共同編集支援サーバ。
【請求項１７】
共同編集支援システムまたは共同編集支援サーバが実行する
編集対象となるファイルの更新要求を送信するアクセス元を識別する識別子とともに前記ファイルの更新要求を受信し、前記更新要求に基づいて前記ファイルを更新するファイル更新ステップと、
前記識別子とともに前記更新要求の履歴情報を格納する操作履歴格納ステップと、
前記操作履歴格納ステップで格納した履歴情報から、前記更新要求を受信した期間および／または前記更新要求を受信した回数に関する条件に適合する前記アクセス元の識別子を選定する参加者選定ステップと、
を備えることを特徴とする共同編集支援方法。
【請求項１８】
前記更新要求に基づき更新されたファイルの実行要求を受信し、前記実行要求に基づいて前記ファイルをプログラムとして実行するプログラム実行ステップを備える、ことを特徴とする請求項１７記載の共同編集支援方法。
【請求項１９】
前記参加者選定ステップは、予め定められた条件に基づいて、前記操作履歴格納ステップで格納した履歴情報から、前記更新要求に関連する情報を通知すべき通知先の識別子を選定する、ことを特徴とする請求項１７または１８に記載の共同編集支援方法。
【請求項２０】
前記更新要求によって前記ファイルが更新された際に、前記参加者選定ステップで選定した通知先の識別子を宛先として、前記ファイルが更新されたことを通知する更新通知ステップを備えることを特徴とする請求項１９に記載の共同編集支援方法。
【請求項２１】
前記ファイルの閲覧要求を送信するアクセス元を識別する識別子とともに前記ファイルの閲覧要求を受信し、前記閲覧要求に基づいて前記ファイルを提示するファイル提示ステップを備え、
前記操作履歴格納ステップはさらに、前記閲覧要求のアクセス元を識別する識別子とともに前記閲覧要求の履歴情報を格納する
ことを特徴とする請求項１７ないし２０のいずれか１項に記載の共同編集支援方法。
【請求項２２】
前記参加者選定ステップは、前記ファイルに対する前記更新要求および前記閲覧要求の任意の組み合わせに関する所定の期間の履歴情報に基づいて、前記更新要求を受信した期間、前記更新要求を受信した回数、前記閲覧要求を受信した期間および前記閲覧要求を受信した回数の任意の組み合わせに関する条件に適合する前記アクセス元の識別子を選定することを特徴とする請求項２１に記載の共同編集支援方法。
【請求項２３】
前記操作履歴格納ステップは、前記更新要求が更新を要求するファイルの部分を特定する情報を含む更新要求の履歴情報を格納し、
前記参加者選定ステップは、前記履歴情報およびその前記ファイルの部分を特定する情報に基づいて前記更新要求を受信した期間および／または前記更新要求を受信した回数に関する条件に適合する前記アクセス元の識別子を選定する
ことを特徴とする請求項１７ないし２２のいずれか１項に記載の共同編集支援方法。
【請求項２４】
前記参加者選定ステップは、前記更新ステップで更新したファイル相互の関係に基づいて前記更新要求を受信した期間および／または前記更新要求を受信した回数に関する条件に適合する前記アクセス元の識別子を選定することを特徴とする請求項１７ないし２３のいずれか１項に記載の共同編集支援方法。
【請求項２５】
コンピュータを、
編集対象となるファイルを格納するファイル格納手段と、
前記ファイルの更新要求を送信するアクセス元を識別する識別子とともに前記ファイルの更新要求を受信する通信手段と、
前記更新要求に基づいて前記ファイルを更新するファイル更新手段と、
前記識別子とともに前記更新要求の履歴情報を格納する操作履歴格納手段と、
前記操作履歴格納手段に格納された履歴情報から、前記更新要求を受信した期間および／または前記更新要求を受信した回数に関する条件に適合する前記アクセス元の識別子を選定する参加者選定手段と、
して機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複数の参加者により文書等を共同で編集するのを支援する共同編集支援システム、サーバおよび方法ならびにプログラムに関する。より詳しくは、ネットワークを介して、互いに面識のない不特定多数の参加者により文書等を共同で編集する共同編集支援システムに関する。
【背景技術】
【０００２】
ネットワークを介して複数の参加者が文書等を共同で編集するためには、参加者が手軽に文書等を参照したり、文書等を更新したりできるような支援システムが有効である。このような支援システムとしては、ＷｅｂサーバをベースにしたＷｉｋｉシステムが知られている。スナップショットの機能を持つＷｉｋｉシステムの例が特許文献１に記載されている。また、活性度判定手段を持つ協調作業支援システムの例が特許文献２に記載されている。以降では、一般的なＷｉｋｉシステムを対象に説明する。
【０００３】
図８に示すように、Ｗｉｋｉシステムに代表される共同編集支援システムは、文書等をファイルとして管理するサーバ１００と、サーバ１００と通信するブラウザ２０１を備える端末２００とから構成される。サーバ１００は、ファイルを格納するファイル格納部１０１と、ファイル格納部１０１に格納されたファイルを通信部１０４を介して端末２００に表示するファイル提示部１０２と、端末２００から通信部１０４を介して受けた編集処理をファイル格納部１０１に格納されたファイルに適用するファイル更新部１０３とから構成される。Ｗｉｋｉシステムでは、ファイル提示部１０２がファイル格納部１０１に格納されたファイルを一定の方式によりＨＴＭＬ（Hyper Text Markup Language）に変換し、Ｗｅｂページとして端末２００で表示される。ファイルを編集する際は、Ｗｉｋｉ文法と呼ばれる簡単なフォーマットを用いることができ、参加者はＨＴＭＬの文法の知識を持たなくても、Ｗｅｂページを編集することができる。
【０００４】
その他、特許文献３は、ユーザの視点情報から動的にコミュニケーショングループを生成する方法が記載されている。特許文献４は、共有する情報のそれぞれに対応するアイコンを画面に表示して、その変更を受け付け、表示された位置に基づいて情報の参照状況と更新状況を把握することが記載されている。また、特許文献５は、入力された選択条件に従って、クライアントに供給すべき共有データを決定する技術が記載されている。特許文献６は、電子メールの送信者と受信者を基本メンバー候補として抽出し、協調作業場のメンバーとの比較と、メッセージ内容の比較によって、協調作業場の候補を選択することが記載されている。そして、基本メンバー候補と協調作業場の候補から、新たな協調作業場を設定する。
【０００５】
他に、設計データ管理システムとして、特許文献７は、設計の処理フローと、設計データの更新内容から、設計データの更新情報を通知する利用者を決定することが記載されている。また、サーバに新しい機能を追加する方法として、クライアントからオペレータを受信し、そのハンドラを実行して、新規機能に関連づけられた第２のオペレータのハンドラをインストールする技術がある（特許文献８）。
【特許文献１】特開２００７−１８８１４３号公報
【特許文献２】特開２０００−１０５７４９号公報
【特許文献３】特開２０００−２５０８６４号公報
【特許文献４】特開２００４−３５５４８４号公報
【特許文献５】特開２００６−２６０４７８号公報
【特許文献６】特開２００７−７２５２３号公報
【特許文献７】特開平０２−３６４３９号公報
【特許文献８】特開平１１−２７２４８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ある文書を共同で編集する際には、編集に関係する参加者間で編集内容を吟味したり、校正したりするなど、様々な調整が必要である。文書数や参加者数が少ない場合は、全員で調整を行うことは困難ではない。しかし、文書数や参加者数が極めて多くなる場合は、ある文書に関係する参加者、すなわち関係参加者を把握することが自明ではなくなり問題になる。そこで、関連する技術の共同編集支援システムでは、電子メーリングリストや電子掲示板などを用いて関係参加者と連絡を取り合いながら共同編集を行う、といった方法をとることが多かったが、次のような課題がある。
【０００７】
第１の問題点は、ある参加者Ａがある文書Ｘに関係することを参加者Ａが明示的に指示しなければならないことである。例えば、参加者の情報が電子メーリングリストで示される場合、その電子メーリングリストを購読するといった指示が必要である。参加者の情報が電子掲示板であれば、電子掲示板を定期的に確認するという作業、もしくは、定期的に確認するためのチェックリストに追加するといった指示が必要である。大規模な共同編集において、文書数が極めて多い場合には、電子メーリングリストの購読や、電子掲示板の確認を明示的に指示する件数が多くなり、参加者の手間がかかるという課題がある。
【０００８】
第２の問題点は、ファイルの部分的な編集に関して、関係参加者間で編集の調整をする方法がないことである。すなわち、関連する技術の共同編集支援システムでは、共同編集はファイル単位で行われ、関係参加者間で調整するための電子メーリングリストや電子掲示板などもファイル単位で構成するのが通常である。関連する技術の共同編集支援システムにおいて、ファイルの部分的な編集に関する共同編集についても電子メーリングリストや電子掲示板などを用意した場合、電子メーリングリストや電子掲示板の件数は爆発的に多くなってしまうという課題がある。
【０００９】
本発明は上述のような課題に鑑みてなされたものであり、その目的は、共同編集支援システムにおいて、参加者の明示的な指示なくして、共同編集の調整に関係する参加者を提示する機能を有する共同編集支援システムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明の第１の観点に係る共同編集支援システムは、
ネットワークに接続された端末から、サーバに格納されたファイルを編集するための共同編集支援システムであって、
編集対象となるファイルを格納するファイル格納手段と、
前記ファイルの更新要求を送信するアクセス元を識別する識別子とともに前記ファイルの更新要求を前記端末から受信する通信手段と、
前記更新要求に基づいて前記ファイルを更新するファイル更新手段と、
前記識別子とともに前記更新要求の履歴情報を格納する操作履歴格納手段と、
前記操作履歴格納手段に格納された履歴情報から、前記更新要求を受信した期間および／または前記更新要求を受信した回数に関する条件に適合する前記アクセス元の識別子を選定する参加者選定手段と、
を備えることを特徴とする。
【００１１】
さらに、前記通信手段は、前記更新要求に基づき更新されたファイルの実行要求を受信し、
前記実行要求に基づいて前記ファイルをプログラムとして実行するプログラム実行手段
を備えてもよい。
【００１２】
好ましくは、前記参加者選定手段は、予め定められた条件に基づいて、前記操作履歴格納手段に格納された履歴情報から、前記更新要求に関連する情報を通知すべき通知先の識別子を選定する。
【００１３】
好ましくは、前記更新要求によって前記ファイルが更新された際に、前記参加者選定手段が選定した通知先の識別子を宛先として、前記ファイルが更新されたことを通知する更新通知手段を備える。
【００１４】
好ましくは、前記通信手段は、前記ファイルの閲覧要求を送信するアクセス元を識別する識別子とともに前記ファイルの閲覧要求を前記端末から受信し、
前記閲覧要求に基づいて前記ファイルを提示するファイル提示手段を備え、
前記操作履歴格納手段はさらに、前記閲覧要求のアクセス元を識別する識別子とともに前記閲覧要求の履歴情報を格納する
ことを特徴とする。
【００１５】
好ましくは、前記操作履歴格納手段は、前記更新要求が更新を要求する前記ファイルの部分を特定する情報を含む更新要求の履歴情報を格納し、
前記参加者選定手段は、前記履歴情報およびその前記ファイルの部分を特定する情報に基づいて前記更新要求を受信した期間および／または前記更新要求を受信した回数に関する条件に適合する前記アクセス元の識別子を選定する。
【００１６】
なお、前記参加者選定手段は、前記ファイルに対する前記更新要求および前記閲覧要求の任意の組み合わせに関する所定の期間の履歴情報に基づいて、前記更新要求を受信した期間、前記更新要求を受信した回数、前記閲覧要求を受信した期間および前記閲覧要求を受信した回数の任意の組み合わせに関する条件に適合する前記アクセス元の識別子を選定してもよい。
【００１７】
また、前記参加者選定手段は、前記ファイル格納手段に格納されるファイルの関係に基づいて前記更新要求を受信した期間および／または前記更新要求を受信した回数に関する条件に適合する前記アクセス元の識別子を選定してもよい。
【００１８】
本発明の第２の観点に係る共同編集支援サーバは、
編集対象となるファイルを格納するファイル格納手段と、
前記ファイルの更新要求を送信するアクセス元を識別する識別子とともに前記ファイルの更新要求を受信する通信手段と、
前記更新要求に基づいて前記ファイルを更新するファイル更新手段と、
前記識別子とともに前記更新要求の履歴情報を格納する操作履歴格納手段と、
前記操作履歴格納手段に格納された履歴情報から、前記更新要求を受信した期間および／または前記更新要求を受信した回数に関する条件に適合する前記アクセス元の識別子を選定する参加者選定手段と、
を備えることを特徴とする。
【００１９】
さらに、前記通信手段は、前記更新要求に基づき更新されたファイルの実行要求を受信し、
前記実行要求に基づいて前記ファイルをプログラムとして実行するプログラム実行手段
を備えてもよい。
【００２０】
好ましくは、前記参加者選定手段は、予め定められた条件に基づいて、前記操作履歴格納手段に格納された履歴情報から、前記更新要求に関連する情報を通知すべき通知先の識別子を選定する。
【００２１】
好ましくは、前記更新要求によって前記ファイルが更新された際に、前記参加者選定手段が選定した通知先の識別子を宛先として、前記ファイルが更新されたことを通知する更新通知手段を備える。
【００２２】
好ましくは、前記通信手段は、前記ファイルの閲覧要求を送信するアクセス元を識別する識別子とともに前記ファイルの閲覧要求を受信し、
前記閲覧要求に基づいて前記ファイルを提示するファイル提示手段を備え、
前記操作履歴格納手段はさらに、前記閲覧要求のアクセス元を識別する識別子とともに前記閲覧要求の履歴情報を格納する。
【００２３】
好ましくは、前記操作履歴格納手段は、前記更新要求が更新を要求するファイルの部分を特定する情報を含む更新要求の履歴情報を格納し、
前記参加者選定手段は、前記履歴情報およびその前記ファイルの部分を特定する情報に基づいて前記更新要求を受信した期間および／または前記更新要求を受信した回数に関する条件に適合する前記アクセス元の識別子を選定する。
【００２４】
なお、前記参加者選定手段は、前記ファイルに対する前記更新要求および前記閲覧要求の任意の組み合わせに関する所定の期間の履歴情報に基づいて、前記更新要求を受信した期間、前記更新要求を受信した回数、前記閲覧要求を受信した期間および前記閲覧要求を受信した回数の任意の組み合わせに関する条件に適合する前記アクセス元の識別子を選定してもよい。
【００２５】
また、前記参加者選定手段は、前記ファイル格納手段に格納されるファイルの関係に基づいて前記更新要求を受信した期間および／または前記更新要求を受信した回数に関する条件に適合する前記アクセス元の識別子を選定してもよい。
【００２６】
本発明の第３の観点に係る共同編集支援方法は、
共同編集支援システムまたは共同編集支援サーバが実行する
編集対象となるファイルの更新要求を送信するアクセス元を識別する識別子とともに前記ファイルの更新要求を受信し、前記更新要求に基づいて前記ファイルを更新するファイル更新ステップと、
前記識別子とともに前記更新要求の履歴情報を格納する操作履歴格納ステップと、
前記操作履歴格納ステップで格納した履歴情報から、前記更新要求を受信した期間および／または前記更新要求を受信した回数に関する条件に適合する前記アクセス元の識別子を選定する参加者選定ステップと、
を備えることを特徴とする。
【００２７】
さらに、前記更新要求に基づき更新されたファイルの実行要求を受信し、前記実行要求に基づいて前記ファイルをプログラムとして実行するプログラム実行ステップを備えてもよい。
【００２８】
好ましくは、前記参加者選定ステップは、予め定められた条件に基づいて、前記操作履歴格納ステップで格納した履歴情報から、前記更新要求に関連する情報を通知すべき通知先の識別子を選定する。
【００２９】
好ましくは、前記更新要求によって前記ファイルが更新された際に、前記参加者選定ステップで選定した通知先の識別子を宛先として、前記ファイルが更新されたことを通知する更新通知ステップを備える。
【００３０】
好ましくは、前記ファイルの閲覧要求を送信するアクセス元を識別する識別子とともに前記ファイルの閲覧要求を受信し、前記閲覧要求に基づいて前記ファイルを提示するファイル提示ステップを備え、
前記操作履歴格納ステップはさらに、前記閲覧要求のアクセス元を識別する識別子とともに前記閲覧要求の履歴情報を格納する。
【００３１】
好ましくは、前記操作履歴格納ステップは、前記更新要求が更新を要求するファイルの部分を特定する情報を含む更新要求の履歴情報を格納し、
前記参加者選定ステップは、前記履歴情報およびその前記ファイルの部分を特定する情報に基づいて前記更新要求を受信した期間および／または前記更新要求を受信した回数に関する条件に適合する前記アクセス元の識別子を選定する。
【００３２】
なお、前記参加者選定ステップは、前記ファイルに対する前記更新要求および前記閲覧要求の任意の組み合わせに関する所定の期間の履歴情報に基づいて、前記更新要求を受信した期間、前記更新要求を受信した回数、前記閲覧要求を受信した期間および前記閲覧要求を受信した回数の任意の組み合わせに関する条件に適合する前記アクセス元の識別子を選定してもよい。
【００３３】
また、前記参加者選定ステップは、前記更新ステップで更新したファイル相互の関係に基づいて前記更新要求を受信した期間および／または前記更新要求を受信した回数に関する条件に適合する前記アクセス元の識別子を選定してもよい。
【００３４】
本発明の第４の観点に係るプログラムは、コンピュータを、
編集対象となるファイルを格納するファイル格納手段と、
前記ファイルの更新要求を送信するアクセス元を識別する識別子とともに前記ファイルの更新要求を受信する通信手段と、
前記更新要求に基づいて前記ファイルを更新するファイル更新手段と、
前記識別子とともに前記更新要求の履歴情報を格納する操作履歴格納手段と、
前記操作履歴格納手段に格納された履歴情報から、前記更新要求を受信した期間および／または前記更新要求を受信した回数に関する条件に適合する前記アクセス元の識別子を選定する参加者選定手段と、
して機能させることを特徴とする。
【発明の効果】
【００３５】
本発明の共同編集支援システムによれば、参加者の明示的な指示がなくても、共同編集の調整に関係する参加者を提示することができる。これにより例えば、電子メーリングリストへの購読や電子掲示板の確認は不要になり、参加者の手間を軽減することができる。
【発明を実施するための最良の形態】
【００３６】
（実施の形態１）
図１は、実施の形態１の、プログラム実行手段を備えない場合の共同編集支援システムの構成例を示すブロック図である。共同編集支援システムは、文書等をファイルとして管理する共同編集支援サーバ（以下、サーバということがある）１００と、サーバ１００とネットワークＮを経由して通信する端末２００とから構成される。本発明の共同編集支援システムは、共同編集支援サーバ１００を構成するファイル格納部１０１と、ファイル提示部１０２と、ファイル更新部１０３と、通信部１０４とに加え、操作履歴格納部１０５と、関係参加者提示部１０６とを備える。
【００３７】
編集の対象となるファイルには、文書、画像などを含むプレゼンテーション用文書、動画、ＭＩＤＩまたは音響信号などの楽曲、プログラムのソースファイルおよび／またはオブジェクトなどが含まれる。端末２００は、例えば、ブラウザ２０１を用いて、それらのファイルを表示し、ファイルの更新・実行などの操作要求を送信する。
【００３８】
図２は、プログラム実行手段を備える場合の、実施の形態１の共同編集支援システムの構成例を示すブロック図である。ファイル格納部１０１と、ファイル提示部１０２と、ファイル更新部１０３と、通信部１０４と、操作履歴格納部１０５と、関係参加者提示部１０６と、プログラム実行部１０７とから構成されている。図２の共同編集支援サーバ１００は、図１の構成に加えてプログラム実行部１０７を備える。
【００３９】
本発明に係る共同編集支援システム１００として、プログラム実行部１０７は構成要素として必須ではない。編集の対象であるファイルをプログラムとして実行する必要がない場合、例えば、文書として表示されるだけの場合、または、共同編集支援システムでは実行しない場合には、プログラム実行部１０７を備えなくてもよい。本実施の形態１では、ファイルをプログラムとして実行する場合を含めて、図２の共同編集支援システムについて説明する。
【００４０】
サーバ１００において、ファイル格納部１０１は、編集対象のファイルを格納する。ファイル提示部１０２は、ファイル格納部１０１に格納されたファイルを通信部１０４を介して端末２００に表示する。ファイル更新部１０３は、端末２００から通信部１０４を介して受けた編集処理を、ファイル格納部１０１に格納されたファイルに適用する。
【００４１】
操作履歴格納部１０５は、ファイルの提示、ファイルの更新、および、実行可能なファイルであるプログラムの実行に関する操作履歴を格納する。例えば、参加者ＡがファイルＸを提示操作したときに、参加者ＡとファイルＸと操作「提示」と時刻とを一つのレコードとして操作履歴格納部１０５に格納する。
【００４２】
関係参加者提示部１０６は、操作履歴格納部１０５に格納された操作履歴情報を用いて、あるファイル、もしくは、ファイルの部分に関係する参加者を絞り込み、通信部１０４を介して提示する。すなわち、操作履歴情報から所定の条件でレコードを検索し、その要求者ＩＤを（重複を除いて）絞り込む。参加者は、例えば、更新要求または実行要求のレコードの参加者ＩＤである。
【００４３】
あるファイルに関係する参加者を選定する条件は、例えば、注目しているファイルについて、過去に編集（更新）を要求した者、所定の回数以上提示要求を行った者、直近の所定の期間または過去のある期間に編集を行った者、ファイルの実行要求を行った者など、様々な条件を設定できる。所定の条件で絞り込んだ関係参加者は、例えば、ファイルが更新されたことを通知すべき参加者のリストとすることができる。
【００４４】
また、ファイルについて特定の操作を許可する基準としてもよい。例えば、ファイルの中の事例を追加した者に本文の編集を許可したり、あるいは、ファイルの実行要求を行ってバグレポートを登録した者にファイルの編集を許可する、というようにアクセス権の付与条件として用いることもできる。
【００４５】
関係参加者提示部１０６は、ファイルが操作されたときに操作されたファイルに関係する参加者のリストを、自動的に操作要求を送信した端末２００に送信してよい。または、参加者の要求によって、あるファイルに関係する参加者を検索して端末２００に送信してもよい。
【００４６】
プログラム実行部１０７はファイルが実行可能なプログラムである場合に、ファイルをファイル提示部１０２で提示するとともに、または提示に代えて、プログラムを実行し、実行結果を通信部１０４を介して出力する。プログラムファイルはプログラム実行部１０７が実行できる任意のファイルであり、実行形式のファイルだけではなく、スクリプトファイルなどのテキストファイルも含まれる。
【００４７】
このような構成を採用し、操作履歴を記録して格納し、操作履歴を利用して関係参加者を提示することで、参加者の明示的な指示なくして、共同編集の調整に関係する参加者を提示することができ、本発明の目的を達成することができる。また、操作履歴を詳細に記録することで、ファイルより小さい単位で、共同編集の調整に関係する参加者を提示することができる。
【００４８】
図３は、図１または図２に示す共同編集支援システムにおける共同編集支援サーバ１００のハードウェア構成の一例を示すブロック図である。共同編集支援サーバ１００は、図３に示すように、制御部１１、主記憶部１２、外部記憶部１３、操作部１４、表示部１５、計時部１６及び送受信部１７を備える。主記憶部１２、外部記憶部１３、操作部１４、表示部１５、計時部１６及び送受信部１７はいずれも内部バス１０を介して制御部１１に接続されている。
【００４９】
制御部１１はＣＰＵ（Central Processing Unit）等から構成され、外部記憶部１３に記憶されているプログラムに従って、後述するサーバ１００の共同編集を支援する処理を実行する。
【００５０】
主記憶部１２はＲＡＭ（Random-Access Memory）等から構成され、外部記憶部１３に記憶されているプログラムをロードし、制御部１１の作業領域として用いられる。
【００５１】
外部記憶部１３は、フラッシュメモリ、ハードディスク、ＤＶＤ−ＲＡＭ（Digital Versatile Disc Random-Access Memory）、ＤＶＤ−ＲＷ（Digital Versatile Disc ReWritable）等の不揮発性メモリから構成され、前記の処理を制御部１１に行わせるためのプログラムを予め記憶し、また、制御部１１の指示に従って、このプログラムが記憶するデータを制御部１１に供給し、制御部１１から供給されたデータを記憶する。図１または図２のファイル格納部１０１および操作履歴格納部１０５は、外部記憶部１３に構成される。
【００５２】
操作部１４はキーボード及びマウスなどのポインティングデバイス等と、キーボード及びポインティングデバイス等を内部バス１０に接続するインターフェース装置から構成されている。操作部１４を介して、参加者を絞り込む条件設定などが入力され、制御部１１に供給される。
【００５３】
表示部１５は、ＣＲＴ（Cathode Ray Tube）又はＬＣＤ（Liquid Crystal Display）などから構成され、参加者を絞り込む条件、操作履歴情報、ファイルの格納状況などを表示する。
【００５４】
計時部１６は、例えば、時計を内蔵し、制御部１１の指令で、その時刻を出力する。制御部１１は、例えば操作が要求された時刻を知ることができる。計時部１６に代えて、ネットワークＮを経由して、インターネットで供給される時刻情報を用いてもよい。
【００５５】
送受信部１７は、ネットワークＮに接続する網終端装置または無線通信装置、及びそれらと接続するシリアルインタフェース又はＬＡＮ（Local Area Network）インタフェースから構成されている。送受信部１７は、ネットワークを介して、端末２００にファイルおよび関係参加者の情報を送信し、参加者の操作要求を受信する。
【００５６】
共同編集支援システムでは、サーバ１００の各手段を異なるサーバに分散して実現してもよい。例えば、ファイル提示手段をミラーサーバとして、提示要求のあったファイルと要求したクライアントのアドレスを関係参加者提示部１０６を備えるサーバに通知してもよい。また、ファイル格納部１０１と操作履歴格納部１０５を分けて、関係参加者提示部１０６をバックエンドサーバとすることができる。同様に、プログラム実行部１０７を別のバックエンドサーバとすることも可能である。
【００５７】
サーバ１００を構成する各手段はつぎのように動作する。ファイル格納部１０１は共同編集するファイルを格納する。ファイル提示部１０２は通信部１０４からファイルもしくはファイルの一部分の提示要求を受け、ファイル格納部１０１から要求されたファイルを取得し、当該ファイルを通信部１０４に出力すると同時に、当該提示要求を操作履歴情報として操作履歴格納部１０５に格納する。
【００５８】
ファイル更新部１０３は通信部１０４からファイルもしくはファイルの一部分の更新要求を受け、更新を要求されたファイルがファイル格納部１０１に格納されている場合は当該ファイルを更新する。更新を要求されたファイルがファイル格納部１０１に格納されていない場合は、新規ファイルとしてファイル格納部１０１格納する。いずれの場合も、当該更新要求を操作履歴情報として操作履歴格納部１０５に格納する。
【００５９】
通信部１０４は端末２００とネットワークＮを経由して通信し、要求の受信や処理結果の送信を行う。また、通信部１０４は参加者を追跡するために、必要に応じて提示または更新などの要求からセッション識別子などの通信相手（参加者）を特定する識別子を抽出し、操作履歴格納部１０５に伝達する。操作履歴格納部１０５はファイル提示部１０２と、ファイル更新部１０３と、通信部１０４とから操作履歴の情報を受け取り格納する。
【００６０】
操作履歴情報は参加者識別子と、処理内容と、時刻とで構成される。参加者識別子には、予め参加者を認証した識別子か、端末２００のセッション識別子か、端末２００のＩＰ（Internet Protocol）アドレスなど用いる。処理内容は、要求がファイル提示の場合は、ファイル名などのファイルを一意に特定する識別子と、必要に応じてファイルの場所を特定するポインタを含む。ファイル更新の場合は、ファイル名などのファイルを一意に特定する識別子と、必要に応じてファイルの場所を特定するポインタに加え、更新内容を含む。要求がプログラム実行の場合は、ファイル名などのファイルを一意に特定する識別子と、必要に応じてファイルの場所を特定するポインタに加え、実行時のパラメータと、必要に応じて実行結果を含む。
【００６１】
図４は、操作履歴情報の例を示す。操作履歴情報は、例えば、操作の対象となるファイルの識別子である文書ＩＤ、操作を要求した者を示す参加者ＩＤ、操作の種別である要求種別、および操作を要求した時刻である要求日時を含む。操作履歴情報は、例えば、図４の１行を１レコードとするデータベースで格納される。操作履歴情報を、文書ＩＤ順、参加者ＩＤ順、要求種別順、要求日時順などにソートしたり、文書ＩＤと要求日時で検索して、必要なレコードだけを選択することができる。
【００６２】
参加者は、異なる端末からファイルの操作を行うことがあり得るので、参加者ＩＤは、端末２００に割り当てられた識別符号ではなく、ファイルの編集などを行う参加者に割り当てられた識別符号であることが望ましい。参加者ＩＤは、例えば、参加者のメールアドレスを含む。
【００６３】
図５は、ファイルの部分の指定を含む操作履歴情報の例を示す。図５の操作履歴情報は、図４の例に、操作が要求されたファイルの部分を示す部分ＩＤが追加されている。ファイルの部分とは、例えば、文書の章や節、プレゼンテーション用文書のスライド、プログラムソースファイルに含まれるサブルーチンや関数もしくはプロセス、楽曲（ＭＩＤＩファイルなど）の楽章、動画のマークで区切られる範囲などである。操作履歴情報にファイルの部分ＩＤを追加することによって、ファイルの部分ごとにその参加者を特定することができる。
【００６４】
関係参加者提示部１０６は、通信部１０４が処理結果を端末２００に送信する際に付随情報として、操作履歴格納部１０５に格納された操作履歴を用いて関係参加者を提示する。関係参加者提示部１０６は、要求の対象となったファイルの識別子を有する操作履歴を抽出し、その履歴に含まれる参加者識別子で特定される参加者を、関係参加者とすることができる。さらに、関係参加者を絞り込む方法としては、例えば、過去のある単位時間にある回数以上同じファイルもしくは同じファイルの同じ部分を提示もしくは更新もしくは実行した参加者とする方法がある。また、過去のある単位時間にある回数以上、同じファイルもしくは同じファイルの同じ部分と関係するファイルもしくはそのファイルの部分を、提示もしくは更新もしくは実行した参加者とする方法などがある。
【００６５】
ここで、あるファイルと別のあるファイルが関係するとは、例えば、ＸＭＬ（eXtensible Markup Language）文書であればハイパーリンクによる接続関係を挙げることができる。また、ファイルがプログラム等のソースコードの場合は、関数の参照関係があるファイルを関係するファイルとする、などの方法がある。
【００６６】
プログラム実行部１０７はプログラムの実行要求を受け、ファイル格納部１０１から要求されたプログラムに該当するファイルを取得し、当該ファイルを実行し、実行結果を通信部１０４に出力すると同時に、当該実行要求を操作履歴として操作履歴格納部１０５に格納する。
【００６７】
次に、図２及び図６のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
【００６８】
まず、通信部１０４は端末２００から要求を受信する（ステップＳ１）。次に、通信部１０４は当該要求が提示要求か調べる（ステップＳ２）。当該要求が提示要求であった場合は（ステップＳ２；ＹＥＳ）、ファイル提示部１０２は当該要求がファイル名などで指定するファイルをファイル格納部１０１から取得すると同時に当該要求を操作履歴格納部１０５に登録する（ステップＳ３）。関係参加者提示部１０６は当該要求が指定するファイルをもとに操作履歴格納部１０５に格納された操作履歴を集計し、関係参加者を絞り込む（ステップＳ４）。そして、通信部１０４は取得したファイルと絞り込まれた関係参加者を端末２００に送信する（ステップＳ５）。
【００６９】
当該要求が提示要求でなかった場合は（ステップＳ２；ＮＯ）、通信部１０４は当該要求が更新要求か調べる（ステップＳ６）。当該要求が更新要求であった場合は（ステップＳ６；ＹＥＳ）、ファイル更新部１０３は当該要求がファイル名などで指定するファイル格納部１０１に格納されているファイルを更新する。指定するファイルが格納されていなければ新規ファイルとしてファイル格納部１０１に格納する。そして、いずれの場合も同時に当該要求を操作履歴格納部１０５に登録する（ステップＳ７）。
【００７０】
関係参加者提示部１０６は当該要求が指定するファイルをもとに操作履歴格納部１０５に格納された操作履歴を集計し、関係参加者を絞り込む（ステップＳ８）。そして、通信部１０４はファイルの更新結果と絞り込まれた関係参加者を端末２００に送信する（ステップＳ９）。
【００７１】
当該要求が更新要求でなかった場合は（ステップＳ６；ＮＯ）、通信部１０４は当該要求が実行要求か調べる（ステップＳ１０）。当該要求が実行要求であった場合は（ステップＳ１０；ＹＥＳ）、プログラム実行部１０７は当該要求がファイル名などで指定するファイルをファイル格納部１０１から取得し、取得したファイルを実行すると同時に当該要求を操作履歴格納部１０５に登録する（ステップＳ１１）。関係参加者提示部１０６は当該要求が指定するファイルをもとに操作履歴格納部１０５に格納された操作履歴を集計し、関係参加者を絞り込む（ステップＳ１２）。そして、通信部１０４はファイルの実行結果と絞り込まれた関係参加者を端末２００に送信する（ステップＳ１３）。
【００７２】
当該要求が実行要求でなかった場合は（ステップＳ１０；ＮＯ）、通信部１０４はエラーメッセージを端末２００に送信する（ステップＳ１４）。
【００７３】
以上、説明したとおり、本実施の形態１に係る共同編集支援システムでは、端末２００がファイルに対して行った操作履歴を、ファイル提示部１０２と、ファイル更新部１０３と、プログラム実行部１０７とが、操作履歴格納部１０５に格納し、関係参加者提示部１０６が操作履歴格納部１０５に格納された操作履歴を集計することで、参加者は明示的な指示を行うことなくあるファイルに関係する参加者の情報を得ることができる。さらに、所定の条件で絞り込まれた関係する参加者の情報を得ることができる。
【００７４】
（実施の形態２）
図７は、実施の形態２に係る共同編集支援システムの構成例を示すブロック図である。実施の形態２では、図２に示された実施の形態１の構成に、更新通知部１０８が追加されている。
【００７５】
実施の形態２においては、通信部１０４は関係参加者の情報を、要求を行った参加者Ａに送信するのではなく、関係参加者に参加者Ａの操作履歴を送信する。参加者Ａがファイル提示、ファイル更新もしくはプログラム実行の要求を行ったときに、更新通知部１０８が関係参加者提示部１０６より関係参加者を取得し、通信部１０４を介してそれぞれの関係参加者に対して参加者Ａの操作履歴を送信する。
【００７６】
実施の形態１では、参加者Ａは端末２００において関係参加者を取得し、取得した関係参加者に、例えば、電子メールやＩＭ（Instant Messenger）を用いるなど、何らかの方法で連絡する必要がある。実施の形態２では、自動的にサーバ１００が関係参加者に連絡するので、参加者Ａの端末２００の負担が軽減されるという効果がある。
【００７７】
次に、具体的な構成の例を用いて本発明を実施するための最良の形態の動作を説明する。
本発明の第一の具体例を説明する。第一の具体例では、図２に示す構成において、通信部１０４としてＡｐａｃｈｅなどのＨＴＴＰ（Hyper Text Transfer Protocol）サーバを用い、ファイル格納部１０１としてＳｕｂｖｅｒｓｉｏｎなどのバージョン管理リポジトリを用い、操作履歴格納部１０５としてＳＱＬｉｔｅなどのリレーショナルデータベースを用いる。また、プログラム実行部１０７の処理機能としてはＳｃｈｅｍｅインタプリターなどのプログラミング言語実行処理系を利用する。ファイル提示部１０２と、ファイル更新部１０３と、関係参加者提示部１０６と、プログラム実行部１０７は、ＣＧＩ（Common Gateway Interface）プログラムやＳｅｒｖｌｅｔとして実装され、通信部１０４と連携する。
【００７８】
ファイル格納部１０１に格納されるファイルは任意であり、端末２００としてＷｅｂブラウザを想定すると、ＨＴＭＬファイル、ＣＳＳ（Cascading Style Sheets）ファイル、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔファイル、画像ファイルに加え、任意のデータファイルがあり得る。データファイルとしてはＪａｖａ（登録商標）Ｓｃｒｉｐｔとの親和性を考えると、ＸＭＬファイルや、ＪＳＯＮ（Java（登録商標） Script Object Notation）ファイル、ＣＳＶ（Comma Separated Values）ファイルなどが便利である。
【００７９】
プログラム実行部１０７の処理機能としてＳｃｈｅｍｅインタプリターを使う場合には、プログラムとしてファイル格納部１０１に格納されるのはＳｃｈｅｍｅのソースコードになる。ただし、プログラム実行部１０７の実行処理系が複数存在する場合もあり、その場合はファイル格納部１０１に格納されるプログラムも多様である。
【００８０】
ファイル格納部１０１に格納されるファイルは、階層構造のファイル名すなわちパス名で識別され、Ｓｕｂｖｅｒｓｉｏｎを用いるとリビジョン番号を使うことで、過去のファイルも指定することができる。
【００８１】
操作履歴格納部１０５に格納される操作履歴は、リレーショナルデータベースのテーブル「ＬＯＧＳ」として格納され、ＳＩＤ、ＴＹＰＥ、ＮＡＭＥ、ＡＲＧＳ、ＤＡＴＥの５つのフィールドで構成される。ＳＩＤはセッション識別子で、Ｗｅｂブラウザのクッキーに格納されるものでＷｅｂブラウザを特定できる。ＳＩＤとしては、他の方法で認証したユーザ名や、WebブラウザのＩＰアドレスを使う場合もある。ＴＹＰＥは操作タイプで、「ＳＨＯＷ」（提示）、「ＵＰＤＡＴＥ」（更新）、「ＲＵＮ」（実行）のいずれかである。ＮＡＭＥはファイル名で、ファイル格納部１０１が階層構造を有する場合は、ファイルのパス名になる。ＡＲＧＳは引数であり、ＴＹＰＥ＝ＵＰＤＡＴＥの場合は更新内容、ＴＹＰＥ＝ＲＵＮの場合はプログラムの入力、となる。
【００８２】
ＴＹＰＥ＝ＵＰＤＡＴＥの場合の更新内容は、新ファイルの全コンテンツで指定する以外にも、構造化文書、例えばＸＭＬ文書、においては、ＸＵｐｄａｔｅ言語を使うこともできる。ＴＹＰＥ＝ＲＵＮの場合のプログラムの入力は、プログラムの標準入力に与えるデータを指定する。あるいは、プログラム起動時に与えるオプションや環境変数を指定することもできる。ＤＡＴＥは操作日時で、通信部１０４が要求を受けた日時を指定するか、もしくは、リレーショナルデータベースにレコードが追加された日時を指定する。
【００８３】
ファイルの提示は次のように行われる。まず、通信部１０４が端末２００からＨＴＴＰのＧＥＴ要求を受ける、もしくは、ＳＨＯＷコマンドを含むＨＴＴＰのＰＯＳＴ要求を受ける。ＨＴＴＰのＰＯＳＴ要求にコマンドを含めるには、ｘ−ｆｏｒｍ−ｕｒｌｅｎｃｏｄｅｄタイプのデータを使う方法、ＸＭＬメッセージを使う方法、ＪＳＯＮメッセージを使う方法、などがある。この要求にはファイルのパス名「／ａａａ／ｂｂｂ．ｔｘｔ」が指定され、そのパス名を用いて、ファイル提示部１０２はファイル格納部１０１からファイルを取得する。また、ファイル提示部１０２は操作履歴格納部１０５に次のようなＳＱＬ文で操作履歴を一件追加する。
ＩＮＳＥＲＴ  ＩＮＴＯ  ＬＯＧＳ  （ＳＩＤ，ＴＹＰＥ，ＮＡＭＥ，ＡＲＧＳ，ＤＡＴＥ）  ＶＡＬＵＥＳ  （”０１２３４５”，”ＳＨＯＷ”，” ／ａａａ／ｂｂｂ．ｔｘｔ”，ＮＵＬＬ，ＳＹＳＤＡＴＥ（））；
【００８４】
さらに、ファイル提示部１０２は関係参加者提示部１０６からファイル「／ａａａ／ｂｂｂ．ｔｘｔ」の関係参加者を取得し、ファイル格納部１０１と取得したファイルとあわせて、通信部１０４を介して、端末２００に返信する。
【００８５】
ＨＴＴＰの返答に複数のパートを含めるには、ＨＴＴＰのマルチパートを使う方法、ＸＭＬメッセージとして１つの文書にまとめる方法、ＪＳＯＮメッセージとして１つの文書にまとめる方法、などの方法がある。
【００８６】
ファイルの更新は次のように行われる。まず、通信部１０４が端末２００からＨＴＴＰのＰＵＴ要求を受ける、もしくは、ＵＰＤＡＴＥコマンドを含むＨＴＴＰのＰＯＳＴ要求を受ける。この要求にはファイルのパス名「／ａａａ／ｂｂｂ．ｔｘｔ」およびファイルの内容「Ｔｈｉｓ  ｉｓ  ａ  ｐｅｎ．」が指定され、そのパス名および内容を用いて、ファイル更新部１０３はファイル格納部１０１のファイルを更新する。
【００８７】
また、ファイル更新部１０３は操作履歴格納部１０５に次のようなＳＱＬ文で操作履歴を一件追加する。
ＩＮＳＥＲＴ  ＩＮＴＯ  ＬＯＧＳ  （ＳＩＤ，ＴＹＰＥ，ＮＡＭＥ，ＡＲＧＳ，ＤＡＴＥ）  ＶＡＬＵＥＳ  （”０１２３４５”，”ＵＰＤＡＴＥ”，” ／ａａａ／ｂｂｂ．ｔｘｔ”，”Ｔｈｉｓ  ｉｓ  ａ  ｐｅｎ．”，ＳＹＳＤＡＴＥ（））；
さらに、ファイル更新部１０３は関係参加者提示部１０６からファイル「／ａａａ／ｂｂｂ．ｔｘｔ」の関係参加者を取得し、ファイル格納部１０１と取得したファイルとあわせて、通信部１０４を介して、端末２００に返信する。
【００８８】
ファイルの実行は次のように行われる。まず、通信部１０４が端末２００からＲＵＮコマンドを含むＨＴＴＰのＰＯＳＴ要求を受ける。この要求にはファイルのパス名「／ａａａ／ｃａｔａｌｏｇ．ｓｃｍ」およびプログラムの引数「ｉｎｐｕｔ＝ｃａｔ」が指定され、そのパス名を用いて、プログラム実行部１０７はファイル格納部１０１からファイルを取得し、そのファイルをＳｃｈｅｍｅインタプリタに読み込ませ、プログラムの引数を与えて実行し、実行結果を取得する。これは次のようなＳｃｈｅｍｅコマンドによって実現される。
（（ｗｉｔｈ−ｉｎｐｕｔ−ｆｒｏｍ−ｆｉｌｅ  ”／ａａａ／ｃａｔａｌｏｇ．ｓｃｍ”  ｒｅａｄ）  ”ｉｎｐｕｔ＝ｃａｔ”）
【００８９】
また、ファイル更新部１０３は操作履歴格納部１０５に次のようなＳＱＬ文で操作履歴を一件追加する。
ＩＮＳＥＲＴ  ＩＮＴＯ  ＬＯＧＳ  （ＳＩＤ，ＴＹＰＥ，ＮＡＭＥ，ＡＲＧＳ，ＤＡＴＥ）  ＶＡＬＵＥＳ  （”０１２３４５”，”ＲＵＮ”，” ／ａａａ／ｃａｔａｌｏｇ．ｔｘｔ”，”ｉｎｐｕｔ＝ｃａｔ”，ＳＹＳＤＡＴＥ（））；
【００９０】
さらに、ファイル更新部１０３は関係参加者提示部１０６からファイル「／ａａａ／ｂｂｂ．ｔｘｔ」の関係参加者を取得し、実行結果とあわせて、通信部１０４を介して、端末２００に返信する。関係参加者提示部１０６の関係者参加の絞り込みは、例えば、最近１時間に１回以上ファイル「／ａａａ／ｂｂｂ．ｔｘｔ」を提示もしくは更新した参加者のうち、より最近提示もしくは更新した参加者１０人を取得するには次のようなＳＱＬ文を使う。
ＳＥＬＥＣＴ  ＳＩＤ  ＦＲＯＭ  ＬＯＧＳ  ＷＨＥＲＥ  （ＴＹＰＥ＝”ＳＨＯＷ”  ＯＲ  ＴＹＰＥ＝”ＵＰＤＡＴＥ”）  ＡＮＤ  ＮＡＭＥ＝” ／ａａａ／ｂｂｂ．ｔｘｔ”  ＡＮＤ  ＡＤＤ＿ＨＯＵＲＳ（ＤＡＴＥ，１）  ＞  ＳＹＳＤＡＴＥ（）  ＯＲＤＥＲ  ＢＹ  ＤＡＴＥ  ＤＥＳＣ  ＯＦＦＳＥＴ  ０  ＬＩＭＩＴ  １０；
【００９１】
また、例えば、同じ階層にあるファイルは関連があるとみなし、最近１分に１回以上ファイル「／ａａａ／ｂｂｂ．ｔｘｔ」と関連あるファイルを提示、更新、もしくは、実行した参加者を取得するには、次のようなＳＱＬ文を使う。
ＳＥＬＥＣＴ  ＳＩＤ  ＦＲＯＭ  ＬＯＧＳ  ＷＨＥＲＥ  ＳＴＲＰＯＳ（ＮＡＭＥ，”／ａａａ／”）＝１  ＡＮＤ  ＡＤＤ＿ＭＩＮＵＴＥＳ（ＤＡＴＥ，１）  ＞  ＳＹＳＤＡＴＥ（）；
【００９２】
本発明の第二の具体例を説明する。第一の具体例との構成の違いは、更新通知部１０８がファイル更新の際に関係参加者に更新通知を行うことである。参加者Ａのファイル更新部１０３が通信部１０４を介してファイル「／ａａａ／ｂｂｂ．ｔｘｔ」の更新要求を受けた際には、更新通知部１０８は関係参加者提示部１０６で絞り込んだ関係参加者Ｂ，Ｃ，Ｄに通信部１０４を介して直接、「参加者Ａがファイル／ａａａ／ｂｂｂ．ｔｘｔを更新しました」という通知を送る。
【００９３】
更新通知を送る際は、ＩＭなどで自動通知してもよいが、端末２００としてＷｅｂブラウザのみを用いる場合は、Ｊａｖａ（登録商標）ＳｃｒｉｐｔによるＰＵＳＨ型の非同期通信を使うことができる。本具体例における通知は、更新要求に限定することなく、提示要求や実行要求の通知にも使用できる。これらを通知することで、参加者は他の参加者がどのような活動をしているのか知ることができる。
【００９４】
本発明の第三の具体例を説明する。第一の具体例および第二の具体例では、ファイル名（パス名）でファイルの指定ををしていたが、第三の具体例では、ファイル名（パス名）だけではなく、ＸＰａｔｈ（ＸＭＬ  Ｐａｔｈ  Ｌａｎｇｕａｇｅ）も指定する。これにより、ファイルの部分単位での提示、更新の操作履歴が取得でき、関係参加者をより詳細に絞り込むことができる。
【００９５】
本発明の第四の具体例を説明する。第一の具体例および第二の具体例および第三の具体例では、通信部１０４で要求の振り分けを行う。本発明の第四の具体例では、通信部１０４は要求の振り分けをすることなく、ファイル提示部１０２とファイル更新部１０３とプログラム実行部１０７がそれぞれ当該要求を処理することができるか判断し、それにより処理を振り分けるという方式をとる。例えば、実行→更新→提示の順に処理できるか試み、処理ができればその結果を通信部１０４が返答する。これにより、通信部１０４が受ける要求はコマンドを含む必要がなくなり、単一の要求方式、例えば、ＰＯＳＴ要求のみで全ての機能が実現できる。
【００９６】
以上説明したように、本発明の共同編集支援システムによる第１の効果は、参加者の明示的な指示なくして、共同編集の調整に関係する参加者を提示することができることにある。これにより例えば、電子メーリングリストへの購読や電子掲示板の確認は不要になり、参加者の手間を軽減することができる。その理由は、参加者の操作履歴をもとに参加者の絞り込み、参加者の明示的な指示を必要としないためである。
【００９７】
第２の効果は、ファイルより小さい単位で、共同編集の調整に関係する参加者を提示することができることにある。これにより例えば、大きなファイルを編集する場合でも、そのファイルの部分で関係参加者を絞り込めるようになり、他の部分の関係のない参加者と無駄な連絡をとる必要がなくなる。その理由は、参加者の操作履歴を細かく記録し、ファイルの部分についてその参加者を絞り込むためである。
【００９８】
その他、前記のハードウエア構成やフローチャートは一例であり、任意に変更及び修正が可能である。
【００９９】
制御部１１、主記憶部１２、外部記憶部１３、送受信部１７、内部バス１０などから構成される共同編集支援処理を行う中心となる部分は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。たとえば、前記の動作を実行するためのコンピュータプログラムを、コンピュータが読み取り可能な記録媒体（フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等）に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、前記の処理を実行する共同編集支援サーバ１００を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロード等することで共同編集支援サーバ１００を構成してもよい。
【０１００】
また、共同編集支援サーバ１００の機能を、ＯＳ（オペレーティングシステム）とアプリケーションプログラムの分担、またはＯＳとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
【０１０１】
また、搬送波にコンピュータプログラムを重畳し、通信ネットワークを介して配信することも可能である。たとえば、通信ネットワーク上の掲示板(BBS, Bulletin Board System)に前記コンピュータプログラムを掲示し、ネットワークを介して前記コンピュータプログラムを配信してもよい。そして、このコンピュータプログラムを起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行できるように構成してもよい。
【産業上の利用可能性】
【０１０２】
本発明によれば、ネットワーク上で複数人が参加して文書などの編集環境を提供するといった用途に適用できる。また、操作履歴を分析して参加者の動向を調べるといった用途にも適用可能である。
【図面の簡単な説明】
【０１０３】
【図１】プログラム実行手段を備えない場合の共同編集支援システムの構成例を示すブロック図である。
【図２】本発明の実施の形態１に係る共同編集支援システムの構成例を示すブロック図である。
【図３】共同編集支援システムの物理的構成の例を示すブロック図である。
【図４】操作履歴情報の例を示す図である。
【図５】ファイルの部分の指定を含む操作履歴情報の例を示す図である。
【図６】本発明の実施の形態１に係る共同編集支援システムの動作の一例を示すフローチャートである。
【図７】本発明の実施の形態２に係る共同編集支援システムの構成例を示すブロック図である。
【図８】従来の共同編集支援システムの例を示すブロック図である。
【符号の説明】
【０１０４】
１００  サーバ
１０１  ファイル格納部
１０２  ファイル提示部
１０３  ファイル更新部
１０４  通信部
１０５  操作履歴格納部
１０６  関係参加者提示部
１０７  プログラム実行部
１０８  更新通知部
２００  端末
【図１】
0005098538.tif 000002
【図２】
0005098538.tif 000003
【図３】
0005098538.tif 000004
【図４】
0005098538.tif 000005
【図５】
0005098538.tif 000006
【図６】
0005098538.tif 000007
【図７】
0005098538.tif 000008
【図８】
0005098538.tif 000009