(57)【要約】  仮想プライベート・ネットワーク（１０）システムは、コンピュータサーバ（１１）上で動く。複数のエンドユーザ（１２）がインターネット（１４）上の仮想プライベート・ネットワークにアクセスすることができる。ユーザは、複数のウェブページディスプレー（７２）、（１００）、（４０８）を通じて、アプリケーション（２６）にアクセスすることができる。クライアントリクエスト（４０２）は、ページオブジェクト（４０６）を作り出すことを可能にする。ページオブジェクトは、プレースホルダ（２５８）を用いてテンプレート（４４）を検索する。データベース（３８）からデータが得られ、プレースホルダ（２５８）への記入が行われる。プレースホルダ（２５８）は、仮想オペレーティング・システム（７６）タイプのユーザインターフェースを有する。他のユーザに対して表示されるフォルダ（７８）及びファイル（８０）の配列及び存在を変化させることなく、各ユーザ（１２）はあたかも仮想オペレーティング・システムを完全に管理しているかのように、フォルダ（７８）及びファイル（８０）を取り扱うことができる。【選択図】  図１
2007535281.tif 000002
【特許請求の範囲】
【請求項１】
公衆のインターネット上に仮想プライベート・ネットワークを提供し、ユーザが他のユーザと通信を可能とするコンピュータ・システムであって、該コンピュータ・システムが、
インターネットとの接続手段を備えるサーバ・コンピュータと、
内部に格納されたデータを備えるデータ格納メディアと、
データ及びコードを処理する処理ユニットと、
前記データ及び前記コードを格納するメモリ・デバイスからなり、
前記コードが、仮想プライベート・ネットワーク・アダプタを備え、
該仮想プライベート・ネットワーク・アダプタが通信用ユーザ・インターフェースのウェブページ表示を作り出すことを特徴とするコンピュータ・システム。
【請求項２】
前記ウェブページが仮想オペレーティング・システムを含み、ドキュメントが前記仮想オペレーティング・システム内で格納されることを特徴とする請求項１記載のコンピュータ・システム。
【請求項３】
前記ドキュメントが、ユーザにより選択的にフォルダ内に移動されること並びにフォルダから出されることが可能であるとともに、このドキュメントの移動によっても、他のユーザのドキュメントの位置に影響を生じないことを特徴とする請求項２記載のコンピュータ・システム。
【請求項４】
コンピュータ上に格納されたドキュメントと、
前記ドキュメントとファイルネームを関連付ける索引手段と、
前記ファイルネームを備えるファイルの表示を生じさせるページ作成手段を備えることを特徴とする仮想オペレーティング・システム。
【請求項５】
前記ファイルを開くことにより、ドキュメントの表示が視認可能となることを特徴とする請求項４記載の仮想オペレーティング・システム。
【請求項６】
前記索引手段が、データ・フィールドを備え、
該データ・フィールドが特定のユーザを表示し、
前記ファイルネームが前記特定のユーザに関連付けられることを特徴とする請求項４記載の仮想オペレーティング・システム。
【請求項７】
ユーザネームに関連付けられたユーザリクエストを受信する段階と、
プレースホルダを内部に備えるテンプレートを検索する段階と、
仮想ファイリング・システムの要素に、少なくともいくつかの前記プレースホルダを投入する段階と、
前記仮想ファイリング・システムが少なくとも１つのフォルダを備え、該フォルダが前記ユーザネームに関連付けられる段階を備えることを特徴とするデータ検索方法。
【請求項８】
前記フォルダが、少なくとも１つのドキュメントに関連付けられることを特徴とする請求項７記載のデータ検索方法。
【請求項９】
内部に埋設されたコードを備えるとともに、該コードが電子機器に請求項７記載の方法を実行させることを特徴とするコンピュータ可読式メディア。
【請求項１０】
ユーザ用の表示を作成する格納データを使用する方法であって、該方法は、
特定のユーザネームに関連付けられた複数のフォルダネームを見つける段階と、
前記フォルダネームを階層状に配置する段階と、
少なくともいくつかの前記フォルダネームのグラフィック表示を作り出し、前記階層状の配列にしたがって、前記フォルダネームが配列されることを特徴とする方法。
【請求項１１】
前記フォルダネームのうち少なくとも１つに関連付けられた複数のドキュメントネームを見つける段階と、
前記ドキュメントネームにより識別される複数のドキュメントのうち少なくともいくつかを表示する段階を備えることを特徴とする請求項１０記載の方法。
【請求項１２】
表示される前記ドキュメントが、開状態のフォルダに関連付けられることを特徴とする請求項１１記載の方法。
【請求項１３】
少なくとも１つのドキュメント識別子を備えるユーザネームに関連付けられた情報を内部に備える第１のテーブルと、
前記ユーザネームを少なくとも１つのフォルダ識別子に関連付ける第２のテーブルと、
ドキュメントに関連する情報を内部に備える第３のテーブルを備えることを特徴とするコンピュータ・データベース。
【請求項１４】
前記第１のテーブルが、第１のフィールドを備え、
該第１のフィールドが、前記ドキュメント識別子をフォルダ識別子に関連付けることを特徴とする請求項１３記載のコンピュータ・データベース。
【請求項１５】
前記第２のテーブルが、第１のフィールドを備え、
該第１のフィールドが、フォルダネームを前記フォルダ識別子に関連付けることを特徴とする請求項１３記載のコンピュータ・データベース。
【請求項１６】
親フォルダを識別する第２のフィールドを備えることを特徴とする請求項１５記載のコンピュータ・データベース。
【請求項１７】
前記第３のテーブルが、ドキュメント・コンテントを格納するフィールドを備えることを特徴とする請求項１３記載のコンピュータ・データベース。
【請求項１８】
前記第３のテーブルが、フィールドを備え、
該フィールドが、ドキュメント識別子をドキュメントネームに関連付けることを特徴とする請求項１３記載のコンピュータ・データベース。
【請求項１９】
前記第３のテーブルがフィールドを備え、
該フィールドが、ドキュメントの作成に参加した少なくとも１名のユーザを識別することを特徴とする請求項１３記載のコンピュータ・データベース。
【請求項２０】
前記第３のテーブルは、フィールドを備え、
該フィールドが、前記ドキュメントが修正された最新の日付を指し示すことを特徴とする請求項１３記載のコンピュータ・データベース。
【請求項２１】
コンピュータ・ドキュメントを格納する方法であって、該方法は、
クライアントからデータ一式を受信する段階と、
前記データを複数のデータ・フィールドに分割する段階と、
データ格納メディア内に前記データ・フィールドを格納する段階を備え、
前記データ・フィールドが、ユーザ識別子、フォルダ識別子及びドキュメント識別子を備えることを特徴とする方法。
【請求項２２】
前記データ・フィールドが、テーブル内に格納され、
フォルダ及びドキュメントのグラフィック表示が、関連するユーザ識別子にしたがって特徴付けられることを特徴とする請求項２１記載の方法。
【請求項２３】
内部に埋設されたコードを備えるとともに、該コードが電子機器に請求項２１記載の方法を実行させることを特徴とするコンピュータ可読式メディア。
【請求項２４】
コンピュータ可読式コードが埋め込まれたコンピュータに利用可能なメディアを備えるコンピュータプログラム製品であって、前記コンピュータ可読式コードは、コンピュータ上で操作可能に構築され、前記コンピュータプログラム製品は、
各個別ユーザに対して、フォルダ階層表示を作り出すように、模擬フォルダを作成する第１のルーティンと、
前記模擬フォルダのうち少なくとも１つを、前記模擬フォルダに関連付けられた少なくとも１つのドキュメントネームに投入する第２のルーティンを備えることを特徴とするコンピュータプログラム製品。
【請求項２５】
前記模擬フォルダが、特定のユーザに表示されると、前記少なくとも１つのドキュメントネームが前記模擬フォルダに関連付けられることを特徴とする請求項２４記載のコンピュータプログラム製品。
【請求項２６】
内部に格納されたデータ構造を備えるコンピュータ可読式メディアであって、該コンピュータ可読式メディアは、少なくとも１名のユーザを少なくとも１つの仮想フォルダに関連付けるデータを含む第１のテーブルと、
少なくとも１つのドキュメントを前記仮想フォルダに関連付けるデータを含む第２のテーブルを備えることを特徴とするコンピュータ可読式メディア。
【請求項２７】
前記第１のテーブルは、フォルダ識別フィールド、ユーザネーム・フィールド及びフォルダネーム・フィールドを備えることを特徴とする請求項２６記載のコンピュータ可読式メディア。
【請求項２８】
前記第１のテーブルが更に、親識別フィールドを備え、各フォルダが必要に応じて親フォルダに関連付けられることを特徴とする請求項２７記載のコンピュータ可読式メディア。
【請求項２９】
各フォルダが、必要に応じて、一の及び単一の親フォルダに関連付けられることを特徴とする請求項２８記載のコンピュータ可読式メディア。
【請求項３０】
カスタマテーブルを更に備え、
該カスタマテーブルは、データ・フィールドを備え、
該データ・フィールドが、データ構造にアクセス可能な複数のカスタマのうち１名のカスタマを識別することを特徴とする請求項２６記載のコンピュータ可読式メディア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にコンピュータ・ネットワーク構築の方法及び装置の分野に関する。さらに詳しくは、仮想プライベート・ネットワーク・システムに関する。仮想プライベート・ネットワーク・システムは、複数のユーザのグループが容易に利用することができる。さらに仮想プライベート・ネットワーク・システムは、独自の仮想オペレーティング・システム形式であるユーザインターフェースを特徴とする。
【背景技術】
【０００２】
プライベート・ネットワークに対する必要性は当該技術分野で周知である。多くのビジネスにおいて成功し、安全性を確保するために、一般的なインターネット電子メールサービス及びそれに類するものよりも高い秘密性及び安全性を有する手段による伝達手段が不可欠である。長距離間をまたぐ完全専用物理ネットワークの構築には、費用が伴う。このため、「仮想」プライベート・ネットワークが構築されている。「仮想」プライベート・ネットワークはプライバシー及び安全性を備える。このプライバシー及び安全性は、一般的にプライベート物理ネットワークが有するのと同程度のプライバシー及び安全性である。仮想プライベート・ネットワークは、既存のインターネットを伝送メディアとして使用している。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明開示より以前において、仮想プライベート・ネットワークを用いるために、ユーザはプライベートサーバを保守する必要があった。プライベートサーバとは、仮想プライベート・ネットワーク上のすべての通信が通過するサーバである。このサーバはファイアウォール及び他の安全手段により保護されている。他の安全手段とは、安全手段を通る通信に必要とされる程度の安全性を提供するものである。また、先行技術において仮想プライベート・ネットワークは、一般的に安全な情報通信手段を備えてきた。その一方で仮想プライベート・ネットワークは、ソフトウェアを備えてこなかった。このソフトウェアとは、この種のネットワークを通して行われる所望の通信を達成することを目的とするソフトウェアである。したがって、ユーザたちは、各コンピュータに互換性のあるソフトウェアパッケージを入手し、インストールする必要があった。この互換性のあるソフトウェアパッケージは、仮想プライベート・ネットワークへのアクセスに用いられる。
【０００４】
仮想プライベート・ネットワークであって、ユーザ側が多大な設備投資をする必要の無いように簡単に設定可能な仮想プライベート・ネットワークを備えることが好ましい。さらに独自の通信用ソフトウェアを備える仮想プライベート・ネットワークであって、特別なソフトウェア又は特別なタイプのソフトウェアを用いての使用を必要としない仮想プライベート・ネットワークを備えることが好ましい。これによりユーザは、インターネットに基本的に接続可能なあらゆるコンピュータから、仮想プライベート・ネットワークにアクセスすることが望ましい。しかしながら、本願発明者の知る限り、先行技術において、これらいずれの機能も利用不可能である。
【課題を解決するための手段】
【０００５】
本発明の目的は、クライアントが、実質的な初期投資することなしに仮想プライベート・ネットワークを有することを可能とすることである。
本発明の他の目的は、クライアントが、必要なハードウェア及び／又はソフトウェアを維持することに対し、高額な費用を支払うことや問題を生ずることなく、仮想プライベート・ネットワークを有することを可能とすることである。
本発明の他の目的は、インターネットを利用可能なコンピュータからのアクセスが可能な仮想プライベート・ネットワークを提供することである。
本発明の更なる他の目的は、簡単且つ直感的に利用可能な仮想プライベート・ネットワークのユーザインターフェースを提供することである。
本発明の更なる他の目的は、開発されたアプリケーションを仮想プライベート・ネットワークに付加することである。
【０００６】
本発明は、仮想プライベート・ネットワークに係るシステム及び方法を提供することにより、従来技術に関連する問題点を解決する。本発明の仮想プライベート・ネットワークは、ハードウェアやアプリケーション・ソフトウェアいずれに対しても実質的な初期投資を要することなく、組織及びグループがアクセス及び使用することが可能である。
本発明によれば、仮想プライベート・ネットワークは、サーバ上に提供される。そして、多数のクライアントが、仮想プライベート・ネットワーク・システムを使用することができる。クライアントは、インターネット上のサービスに申し込むことが可能であり、申し込み（サインアップ）を行うとすぐに当該サービスの使用開始がなされる。当該サービスは、仮想プライベート・ネットワークを提供する。そして、当該サービスのプロバイダ・サーバにサインアップした人であって、クライアントが当該クライアントにメールを送信することを許可した人のみからのメールを受信可能となる。
ドキュメント・インターフェースは、仮想オペレーティング・システムの形態で提供される。そして、ドキュメント、フォルダ及びこれらに類するものが、見慣れたフォーマットでユーザに表示される。追加のＥメール用ソフトウェアや他の通信用ソフトウェアが要求されないため、クライアントは、インターネット接続手段及びインターネットにアクセスするためのブラウザを備えるインターネットを利用可能なコンピュータから仮想プライベート・ネットワークにアクセス可能となる。仮想オペレーティング・システムのインターフェースの種類は、エンドユーザの要求に応じて適切なフォルダ及びファイル配列を作り出す特徴的な方法により作り出すことが可能となる。本発明の進歩性を有する仮想プライベート・ネットワークは、特徴的な仮想プライベート・ネットワーク・アダプタを用いて実装されるので、追加のアプリケーションが、仮想プライベート・ネットワークのユーザに対するサービスとして付加される。
【０００７】
これらの目的及び他の目的更には本発明の有意な点は、本発明を実行する形態の説明の中で本技術分野の当業者には明らかになる。また、本発明の産業上の利用可能性についても、本明細書中で説明されるとともにいくつかの図面において示されている。本明細書中に示される目的や優位な点は、本発明の全ての潜在的優位点を網羅するものではない。更には、１若しくはそれ以上の意図した目的及び／又は有利な点を欠落している場合や使用形態において要求するものでなくとも本発明を実用化することは可能である。
【０００８】
更には、本技術分野の当業者は、本発明の様々な実施形態が１若しくはそれ以上の説明された目的及び／又は有利な点を達成するが、全ての目的及び／又は有利な点を達成する必要がないことは、当業者に理解されるべきものである。したがって、本明細書中において説明された目的及び／又は有利な点は、本発明の必要不可欠な事項であると解されるべきものでなく、本発明を限定するものとして解釈すべきでない。
【発明を実施するための最良の形態】
【０００９】
以下、本発明について、図面を参照しつつ説明するが、その中において同様の番号は同一の要素又は類似の要素を示している。本発明は、本発明の目的を達成するための形態に関して述べている。発明の変更形態が、本発明の精神及び範囲から逸脱することなく、これらの技術を考慮して達成されてもよいことを当業者は認識する。本明細書及び／又は図面において示されている本発明による実施形態及び変更形態は、例を表すためだけのものであって、本発明による範囲をなんら限定するものではない。特別な記述がなされていない限り、本発明による特定の特徴及び要素は省略又は変更されてもよい。さらに、本発明による特定の特徴及び要素は、既知の同等物と代替されてもよく、また将来的に開発される未知の代替物又は将来的に受け入れ可能と判明する代替物と代替されてもよい。本発明内で請求されている精神及び範囲内であるなら、本発明はまた、本出願の多様な形態に合わせて変更されてもよい。なぜなら、本発明の潜在用途の範囲は広く、さらに本発明は多くの変更形態に適合可能となることを目的としているからである。
たとえば、本発明は、ソフトウェア、ファームウェア及びハードウェアをあらゆる組み合わせでプログラミングしたコンピュータを用いて実行されてもよい。本発明を実行又は本発明による装置を構築するための準備段階として、通常、本発明によるコンピュータ・プログラミング・コード（ソフトウェア又はハードウェアのいずれか）を、一つ又はそれ以上の機械可読の記憶装置（たとえば固定（ハード）ドライブ、ディスケット、光ディスク、磁気テープ、ROM・PROM等の半導体メモリ）内において記憶させる。その結果、本発明に基づいた製造品が作られることになる。コンピュータ・プログラミング・コードを有する製造品は、記憶装置から得たコードを直接実行することにより使用されるか、記憶装置から得たコードを別の記憶装置（たとえばRAM等のハードディスク）にコピーすることにより使用されるか又はコードをネットワーク上に送信して遠隔実行することにより使用される。
本発明による方法形態は、一つ又はそれ以上の機械可読の記憶装置を組み合わせることにより実行されてもよい。この機械可読の記憶装置は、適切な標準的コンピュータハードウェアを用いた本発明によるコードを有するとともに、その内部に入っているコードを実行する。本発明を実行するための装置は、一つ又はそれ以上のコンピュータ及び一つ又はそれ以上の記憶システムであってもよい。これらのコンピュータ及び記憶システムは、ネットワーク・アクセスを含む又は有する。このネットワーク・アクセスは、本発明に従ってコード化されたコンピュータプログラムにアクセスする機能を有する。
【００１０】
図１において、本発明による仮想プライベート・ネットワークを例示する実施形態を、示す。その中において本発明による仮想プライベート・ネットワークは、符号（１０）を用いて表されている。仮想プライベート・ネットワーク（VPN：バーチャル・プライベート・ネットワーク）（１０）は、エンドユーザ（１２）が、インターネット（１４）を経由してVPNサーバ（１１）と通信することを可能にする。この通信は、インターネット（１４）経由で、セキュアコネクション（１８）を用いてファイアウォールを（１６）を通過し、セキュア・ソケット・レイヤー（２０）を通る。図１の簡略化した例において、３人のエンドユーザ（１２）が示されている。実際には多数のエンドユーザ（１２）が、インターネット（１４）を経由してVPN（１０）にアクセスするものとする。
【００１１】
一般的に利用可能なジャバ・サーブレット・コンプライアント・コンテナ（Java Servlet Compliant Container）（２２）（本実施例においてはバージョン２．３を使用する）は、エンジンを備えており、このエンジンはジャバ・サーブレットを動かす。ジャバ・サーブレットは、本発明を動作可能にする。またジャバ・サーブレットについては、以下でさらに詳述する。拡張可能な仮想プライベート・ネットワーク（EVA Extensible Virtual Private Network）（２４）モジュールは、ジャバで書かれているプログラミングである。ジャバは、エンドユーザ（１２）から得たデータを一つまたはそれ以上のVPNアプリケーション（２６）に解釈かつ伝送する。EVA（２４）はまた、VPNアプリケーション（２６）から得られたデータを用いてhttpページを構築し、エンドユーザ（１２）に表示する。このことは、以下で詳述する。図１の例において、３つのVPNアプリケーションが示されている。本願発明者は、このようなVPNアプリケーションが、専用のアプリケーション（たとえばプロジェクト・マネージメント・アプリケーション（２６a）及びカレンダリング・アプリケーション（２６ｂ））を備えることを予想している。しかしながら、このようなアプリケーションはまだ開発されていない。本実施例で示される実施形態は、「ユーザ専用VPN」すなわちアプリケーション（２６ｃ）を備える。アプリケーション（２６ｃ）は、本明細書中でこれより先で述べる部分を除いては、従来の安全な電子メールアプリケーションに極めて類似している機能を果たす。すなわち、ユーザ専用VPN（２６ｃ）は、エンドユーザ（１２）が、ファイルを送信、受信、追加、添付しかつさらに他の特定のエンドユーザ（１２）から受信したメッセージ及び他の特定のエンドユーザ（１２）に送信したメッセージを操作することを可能にする。
【００１２】
図１に示すように、ユーザ専用VPN（２６ｃ）は、リーダ／エディタ・モジュール（２８）、ドキュメント・モジュール（３０）、アタッチメントモジュール（３２）、セッションデータ・モジュール（３３）及び本実施例においてレガシーアダプタ・モジュール（３４）を備える。データは、一つ又はそれ以上の記憶装置（３６）に格納するものとする。このデータは、図１の例に示すように、SQLデータベース（３８）、ファイルデータ部（４０）及びレガシーシステム（４２）データ部を有する。SQLデータベース（３８）については、その詳細は本明細書中において後述する。ファイルデータ部（４０）は、その内部においてユーザファイルが格納される部分である。ユーザファイルとは、ユーザ間で共有可能な及び／又はメッセージに「添付」可能なファイルである。レガシーシステム（４２）データ部は、レガシーシステムに関係するデータを格納する部分である。本明細書で用いられる「レガシーシステム」という語は、エンドユーザ（１２）がユーザ専用VPNとともに使用したいと考えているビジネスアプリケーションを意味する語である。現時点では、レガシーアダプタ（３４）は本発明用には開発されておらず、レガシーシステム（４２）のデータも格納されない。しかしながら本願発明者は、ユーザ（１２）が、これらレガシーアダプタ及びレガシーシステムを必要とすることになる、と予想している。さらに、本願発明者は、これらレガシーアダプタ及びレガシーシステムは、エンドユーザ（１２）の要求に応じてカスタムベースで開発されることになる、と予想している。テンプレート（４４）データ部は、ハイパーテキスト・マークアップ言語（HTML）テンプレートファイルの形式のテンプレートを有する。ハイパーテキスト・マークアップ言語（HTML）テンプレートファイルの使用に関しては後に詳述する。
【００１３】
エディタ／リーダ・モジュール（２８）は、電子メールプログラム又は単純な文書処理プログラムのような機能を有する。これにより、ユーザが、元のメッセージ及びVPNシステム（１０）上に投稿された他の許可されたメッセージを閲覧かつ編集することが可能になる。ドキュメントモジュール（３０）は、データベース（３８）に対してデータを送ったり又はデータベース（３８）からデータを受け取ったりする。このデータは、テキスト形式のメッセージであって、VPN（１０）システムを使用しているユーザ間で投稿されたものである。さらに、後に詳述するが、これらのテキスト形式のメッセージは、表示されるとともにエディタ／リーダ・モジュール（２８）を用いて編集されてもよい。
【００１４】
アタッチメントモジュール（３２）は、ファイルデータ（４０）を格納するとともに検索する機能を備える。ファイルデータ（４９）のデータは、添付書類を有する。エンドユーザ（１２）は、この添付書類を、必要に応じてメッセージに付加することができ及び／又は他のユーザに送信することができる。
【００１５】
通常コンピュータに備わっているが、サーバ（１１）は、リムーバブル・メディア・リーダ（４５）を備えている。プログラムファイル（本明細書中において詳述する内容に含まれる）は、CDROM又はそれに類するもの等のリムーバブル・メディア（４６）からリムーバブル・メディア・リーダ（４５）を通り、サーバ（１１）内に読み込まれる。
【００１６】
図２は、SQLデータベース（３８）のコンテンツの一例を示すブロック・ダイアグラムである。図２の例において、データベース（３８）は、複数のテーブルを有する。このテーブルは、表題を付けられた「User」（５０）、「User_Documents」（５２）、「Domain」（５４）、「User Folder」（５６）、「Documents」（５８）、「Customer」（６０）及び「Payment」（６２）である。データテーブル（５０）乃至データテーブル（６２）の各データは、複数のデータフィールド（６４）を有する。データテーブル（５０）が有するこれらデータフィールド（６４）の一部のコンテンツは、一般的には当業者においては自明である。しかし、より明確にするために、「User」テーブル（５０）、「User_Documents」テーブル（５２）、「Domain」テーブル（５４）、「User Folder」テーブル（５６）及び「Documents」テーブル（５８）が有するそれぞれのフィールドについて以下に簡単に詳述する。図２のダイアグラムは、データベース（３８）中に実際に存在するフィールドのすべてを描写している。しかしながら、すべてのデータフィールド（６４）が、本発明の請求の範囲に関連するわけではない。さらに、本発明の特許請求の範囲の実施に際して、すべてのデータフィールド（６４）を実際に用いているわけではない。本発明の実施に直接的に関連するデータフィールド（６４）の使用法については、本明細書中で後に詳述する。
【００１７】
「Domain」（５４）テーブルは、一般的にレコードを有し、このレコードは、プライベートドメインを表す。「Domain」（５４）テーブルは、以下の項目を含む。
2007535281.tif 000003
【００１８】
「User」（５０）テーブルはレコードを有し、このレコードはユーザを表す。
2007535281.tif 000004
【００１９】
「user_folder」（５６）テーブルは、レコードを有しており、このレコードはユーザが所有するフォルダを表す。
2007535281.tif 000005
【００２０】
「user_documents」（５２）テーブルは規定のユーザに対する特定のドキュメントインフォメーションを表すレコードを有する。
2007535281.tif 000006
【００２１】
「Documents」（５８）テーブルは、コンテンツ及びアトリビュートを表すレコードを有する。コンテンツ及びアトリビュートは、ドキュメント内で参加者らにより共有されている。
2007535281.tif 000007
【００２２】
「Customer」（６０）テーブル及び「Payment」（６２）テーブルは、特定の顧客に関するデータを有する。本発明によると、複数の顧客がVPN（１０）のプロバイダから仮想プライベート・ネットワーク・サービスを購入することができる。「Customer」（６０）テーブル及び「Payment」（６２）テーブルは、このような顧客に関するデータを有する。このようなデータは、本発明の特許請求の範囲の記載には直接的には関係しない。
【００２３】
図３は、グリーティング表示画面（７０）の一例を示す図表示である。グリーティング表示画面（７０）は、ユーザ（１２）が本発明によるVPN（１０）システムにサインインした後、コンピュータモニター（７１）上のユーザ（１２）に対して表示される画面である。もちろんグリーティング表示画面（７０）に至るために、ユーザ（１２）はページにおいてサインイン過程を完了しなければならない（図示せず）。そのページにおいて、ユーザはユーザ名及びパスワードを入力する必要がある。ページ上での署名は、先行技術及び一般的用法において既知となっているページ上の署名と比較して、それほど異なるものではない。図３のグリーティング表示画面（７０）のダイアグラムにおいて、グリーティング表示画面（７２）が示されている。このグリーティング表示画面（７２）は、基本的には一般的に利用可能なあらゆるウェブブラウザを用いて表示される。ウェブブラウザ画面（７４）エリアは、ヘッダエリアの典型例である。このヘッダエリアは、一般的に利用可能なあらゆるウェブブラウザを用いて表示されるものである。さらに、グリーティング表示画面（７０）中のウェブブラウザ画面（７４）部の詳細については、図３から省略している。省略した理由は、ウェブブラウザ画面（７４）部の詳細は、使用される特定のブラウザに特徴付けられるため、本発明に関するものではないためである。
【００２４】
グリーティングディスプレー（７２）内において、ユーザインターフェース部を確認することができる。ユーザインターフェース部は、仮想オペレーティング・システム（７６）画面である。仮想オペレーティング・システム画面（７６）については、フォルダ（７８）及びドキュメント（８０）と同じように表示されていることが容易に認識できる。一般的にフォルダ（７８）及びドキュメント（８０）は、グラフィカル・ユーザ・インターフェイス（GUI）タイプのオペレーティング・システムを用いて、表示される。このGUIは従来の技術分野において使用されている。しかしながら、本明細書中でさらに詳述されるが、本発明による仮想オペレーティング・システム（７６）は、先行技術の「現実の」オペレーティング・システムとは大きく異なる。この相違点は、仮想オペレーティング・システム（７６）は先行技術のオペレーティング・システムによる方法で体系的に格納するフォルダ及びドキュメントを備えていない点である。むしろ、仮想フォルダ（７８）及び仮想ドキュメント（８０）のコンテンツ及び配列は、ユーザ（１２）及び他の状況的要因に応じて変動する。したがって、仮想フォルダ（７８）及び仮想ドキュメント（８０）の関係及びコンテンツは、以下に述べる本発明による方法に従って構築するものとする。
【００２５】
グリーティングディスプレー（７２）は、ユーザボタン（８２）を有する。ユーザ（１２）は、このユーザボタン（８２）をクリックすることで、他の利用可能なユーザ（１２）を表示するページに至ることができる。さらにグリーティングディスプレー（７２）はオプションボタン（８４）を有する。ユーザ（１２）は、このオプションボタン（８４）をクリックし、ユーザ（１２）が自身のパスワード又はそれに類するものを変更することができるページに至ることができる。ヘルプボタン（８６）については、ユーザ（１２）は、このヘルプボタン（８６）をクリックし、ヘルプページに至ることができる。このヘルプページ内においては、ユーザ専用VPN（２６ｃ）の操作に関する詳細な説明が表示されている。ログアウトボタン（８８）については、ユーザ（１２）は、このログアウトボタン（８８）をクリックし、仮想プライベート・ネットワーク（１０）システムからサインアウトすることができる。サーチボタン（９０）については、ユーザは、このサーチボタン（９０）をクリックし、ユーザ（１２）が利用可能なすべてのドキュメント（８０）のコンテンツを検索することができる。エンプティートラッシュボタン（９２）については、ユーザ（１２）はエンプティートラッシュボタン（９２）をクリックし、特定のユーザ（１２）が使用しているごみ箱フォルダ（７８ａ）のコンテンツを削除することができる。従来のオペレーティング・システムとは異なる点は以下の点である。複数のユーザ（１２）がドキュメント（１２）を利用することができるため、ドキュメント（８０）から特定のフォルダ（７８）（これを含むがごみ箱フォルダ（７８ａ）に限定されない）への移動は、特定のドキュメント（８０）がいかに特定のユーザ（１２）（特定のドキュメントを特定のフォルダに格納しているユーザ）に表示されるか、ということにしか影響を及ぼさない。さらに各ユーザは、ドキュメント（８０）及び／又はフォルダ（７８）をごみ箱フォルダ（７８ａ）に頻繁に移動させてもよい。これにより、従来のオペレーティング・システムにおいては移動していたアイテムを事実上消去することができる。しかしながら従来のオペレーティング・システムにおいても同様に、ごみ箱フォルダ（７８ａ）が空の状態になるまで、その中にあるアイテムをごみ箱フォルダ（７８ａ）から取り出して移動させることにより、このアイテムを元に戻すことが可能となる。アイテムを空のごみ箱フォルダ（７８ａ）に移動させ、エンプティートラッシュボタン（９２）をクリックすると、これら複数のドキュメント（８０）の間から、単にドキュメント（８０）が消去されるだけとなる。これら複数のドキュメント（８０）は、ユーザ（１２）に対して表示されているものである。ドキュメント（８０）は、その後も他の複数ユーザ（１２）によって使用可能状態のままである。
【００２６】
ユーザ（１２）は、新しいフォルダボタン（９４）をクリックし、新しいフォルダ（７８）をグリーティングディスプレイ（７２）に追加することができるページに至ることができる。ユーザ（１２）は、新しいコンタクトボタン（９５）をクリックし、許可された新しいユーザが加わることができるページに至ることができる。ユーザ（１２）は、新しいアタッチメントボタン（９６）をクリックし、ファイルを読み込むことができるページであって、必要に応じてファイルをドキュメント（８０）に添付することができるページに至ることができる。ユーザ（１２）は、新しいドキュメントボタン（９７）をクリックし、新しいドキュメント（８０）が始まるページに至ることができる。新しいドキュメントボタン（９７）によりアクセスされたページは、ユーザがドキュメントを送る相手を選ぶことを可能にするとともに、ドキュメントメッセージのコンテンツに入ることを可能にする。ドキュメントアイコン（９８）は、ドキュメント（８０）の名前のグリーティングディスプレー（７２）上の場所を示す。アタッチメントアイコン（９９）は、添付ファイルがドキュメント（８０）に属している（添付している）ことを示す。ドキュメント（８０）は、アタッチメントアイコン（９９）の横にある。
【００２７】
図４は、ドキュメントディスプレー（１００）の一例を示す図表示である。ドキュメントディスプレー（１００）は、多くのウェブページの一つを例示するものである。ウェブページは、グリーティングディスプレー（７２）に関して先述した相互関係に基づいて構築されている。この例については述べると、まず図３中の「DocTwo」から表題を付けられたドキュメント（８０）をクリックする。これにより、図４に示されるようなウェブページの例が表示される。図４の例から分かるように、一つまたはそれ以上のエントリ（１０２）が「DocTwo」内に存在する。ドキュメント（８０）が作成されると、１番目のエントリ（１０２ａ）がドキュメント（８０）内にできる。ドキュメント（８０）が「順に使用され」、新たなユーザ（１２）（又はこの例における送信する側のユーザ（１２））が、コメントを追加するのに伴い、次のエントリ（１０２ａ）及び（１０２ｂ）が加わる。２番目のエントリ（１０２ｂ）の近くにあるアタッチメントアイコン（９９）を見ると分かるように、このエントリ（１０２ｂ）は添付ファイルを有する。結果としてアタッチメントアイコンは「DocTwo」に添付されることになる。ドキュメントディスプレー（１００）の返信部（１０４）は、応答順にあるユーザ（１２）に、ドキュメント（８０）にメッセージを追加し、ドキュメント（８０）を関係のあるユーザ（１２）に再び回覧する機会を与える。
【００２８】
上述したように、本発明による仮想オペレーティング・システム（７６）は、仮想フォルダ（７８）及び仮想ドキュメント（８０）を備える。上記で簡単に説明したように、いくつかの重要な特徴において、仮想フォルダ（７８）と先行技術のフォルダとを区別することができる。仮想フォルダ（７８）の一部の特徴は、仮想フォルダ（７８）が、非仮想オペレーティング・システムにおいて用いられるディレクトリシステムを再現しているものである。たとえば、仮想フォルダ（７８）は、複数の「子フォルダ」又はサブフォルダ（７８ｂ）（従来のオペレーティング・システムと同様に）を必要に応じて有してもよい。さらに仮想フォルダ（７８）は、一つの親フォルダ（７８ｂ）又はスーパーフォルダ（これもまた従来のオペレーティング・システムと同様に）を有してもよい。しかしながら、仮想フォルダ（７８）は、サーバ（１１）上に物理的に存在するわけではない。むしろ、仮想フォルダ（７８）は、アプリケーションのデータベース（３８）内において、抽象的なものとして存在する。したがって、仮想フォルダ（７８）は、各ユーザ（１２）により、様々な配置がなされるのである。
【００２９】
本発明によると、ドキュメント（８０）は、共同作成可能なドキュメントである。共同作成可能なドキュメントとは、様々なユーザ（１２）が多くのドキュメント（８０）に書き込みをすることができるドキュメントである。このことを達成するために、各ユーザ（１２）は、あたかも「現実の」オペレーティング・システムにおいて、一般的に存在するかのように、ドキュメント（８０）の一つ一つを自由にファイル、格納、消去又は処理することができる。その一方で、ドキュメント（８０）は、それぞれ特定の情報と関連している。仮想ドキュメント（８０）は、各参加者（ユーザ（１２））の別々のドキュメントインフォメーションと関連するものとする。このドキュメントインフォメーションは、ユーザが最新のフォームでドキュメントを見たかどうかに関わらず（trueの場合、図２の「user documents」（５２）テーブル内の「is_read」（２００）レコードのドキュメント名がディスプレー内で反転表示される）、ユーザ（１２）のドキュメント（８０）の格納場所であるフォルダの識別子（「folder_id」（２０２））を含む。各ユーザ（８０）は、ドキュメント（８０）を選択し、ごみ箱フォルダ（７８ａ）等に移動させるのと同様に、ドキュメント（８０）を保存することができる。このドキュメント（８０）の保存は、他のユーザ（１２）が、同じドキュメント（８０）を使用している最中及び／又はこのドキュメント（８０）に対するアクセスを有する場合においても、可能である。
これが行われる方法については、後に詳述する。
【００３０】
ドキュメント（８０）を、本発明による仮想オペレーティング・システム（７６）において有用なものとするために、次のことが必要とされる。ドキュメント（８０）を、参加者(ユーザ（１２）)のリストと関連付けることを必要とする。参加者は、ドキュメント（８０）を閲覧し、編集してもよい（ドキュメントテーブル（５８）の参加者フィールド（２０４））。またドキュメント（８０）の種類を示し、その結果どのようにドキュメント（８０）が作成されるのかを表す表示と関連付けることを必要とする（「doc」フィールド（２０８））。さらには、ドキュメント（８０）を、ドキュメント（８０）のコンテンツを構成するアイテムのリストと関連付けることを必要とする（「doc」フィールド（２１０））。「doc」フィールド（２１０）は、ドキュメントの種類に応じて、メッセージエントリのリスト、コンタクトエントリのリスト又はそれに類するものを必要に応じて有する。ドキュメント（８０）は、仮想空間での共同制作が望まれているドキュメントであって、ドキュメント（８０）のモデルは、あらゆる種類のドキュメント（８０）を基本的に表示可能な程度に汎用性を有するものとする。
【００３１】
図５は、本発明による図３のグリーティングディスプレー（７２）を作り出す方法の一例を示したフローチャートである。このフローチャートは、仮想オペレーティング・システム（７６）の１回のイタレーションを示している。グリーティングディスプレー方法（２５０）によると、「リクエスト受信」工程（２５２）において、サーバ（１１）はユニフォーム・リソース・ロケータ（URL Uniform Resource Locator）形式でリクエストを受け取る。当業者は、このUＲＬがサーバ（１１）のアドレスを有するとともに追加ポインタも有することができることを理解するものとする。この場合、UＲＬはポインタを有し、このポインタは、ユーザ（１２）が必要としているページの種類を示す。「テンプレート識別」工程（２５４）においては、単一テーブル内のUＲＬからテンプレートポインタを検索することにより、必須の特定テンプレートが決定される。「フェッチテンプレート」工程（２５６）においては、テンプレート（４４）（図１）は、データ格納（３６）メディアから検索されたものである。
【００３２】
図６はテンプレート（４４）のグラフィック描写である。当然のことであるが、テンプレート（４４）は、ＨＴＭＬ文書形式であって、実際に図６に示される形式で表示されるわけではない。しかしながら、図６の描写は、テンプレート（４４）が、複数のプレースホルダ（２５８）を有することを示している。さらに、プレースホルダ（２５８）は、その中においてデータを検索するとともに挿入可能な場所を確保している。図６は、テンプレート（４４ａ）のグリーティングページの一例である。
【００３３】
「プレースホルダ記入」工程（２６０）において、特定のプレースホルダ（２５８）が以下のように記入される。どのフォルダ（８０）が開いている状態であるかの識別が行われる時、受け取っていたＵＲＬから現在のユーザの名前が分かる。「デスクトップ」フォルダ（７８ｄ）は、各フォルダの中で最上位の親フォルダである。デスクトップフォルダ（７８ｄ）は、ユーザ（１２）がグリーティングディスプレー（７２）ページへ初めにアクセス時に、最初から開いた状態で表示されるフォルダ（７８）である。
【００３４】
「デスクトップフォルダ投入」工程（２８０）において、フォルダ（７８）はグリーティングディスプレー（７２）ページ上に表示可能なように作成される。「user_folder」（５６）内でフィールド（６４）を使用することで、正確な「user_name」フィールド（２６２）及び「folder_name」フィールド（２６４）を有するすべてのフォルダが、仮想オペレーティング・システム（７６）ディスプレーを投入するのに用いられる。「parent_id」フォルダ（２６６）は、仮想オペレーティング・システム（７６）におけるフォルダ（７８）のそれぞれの正確な位置を決定する。これによりフォルダ（７８）は、対応する「parent_id」フィールド（２６６）内で識別された親フォルダ（７８ｃ）のサブフォルダ（７８ｂ）として表示される。「開いているフォルダへのドキュメント投入」工程（２９０）では、開いているフォルダ（７８）（図３の例ではデスクトップフォルダ（７８ｄ））内にあるすべてのドキュメント（８０）が、図３に示されるように行われるとともにリスト化される。図３の例においては、ドキュメント（８０）（ドキュメント名を「DocTwo」とする）のみが示されている。データベース（３８）内のドキュメント（８０）であって、適切な「user_name」フィールド（２６２）及び「folder_id」フィールド（２０２）と関連しているドキュメント（８０）はすべて、リスト化されている。「is_read」フィールド（２００）は、ドキュメントアイコン（９８）が、記入されているどうかを決定する。
【００３５】
図７は、ドキュメントディスプレー方法（３００）のダイアグラムである。図８は、図６の表示と同様にグラフィック描写であって、ドキュメントディスプレー・テンプレート（４４ｂ）を描写している。ドキュメントディスプレー方法（３００）における、リクエスト受信工程（２５２ａ）、テンプレート識別工程（２５４ａ）、フェッチテンプレート工程（２５６ａ）及びプレースホルダ記入工程（２６０ａ）は、すべて前述した工程（２５２）から工程（２６０）と同様の工程で行われる。ただし、データが特定の種類のリクエストに特徴付けられる場合を除く。サーバ（１１）が、ドキュメントディスプレーに対するリクエストをＵＲＬ形式で受信する場合において、「doc_id」（３０２）フィールドが読み込まれる。「doc_ID」（３０２）は無作為に生成した番号である。この番号は、サーバ（１１）に格納されている各ドキュメント（８０）特有のものである。「document_name」フィールド（３０４）及び「participants」（２０４）フィールドは、関連するプレースホルダ（２５８）をドキュメントディスプレー（４４ｂ）内に投入する（ポピュレートする）ために用いられる。「ドキュメント投入」工程（３０６）において、ドキュメントのコンテンツが、ドキュメントテンプレート（４４ｂ）内にもたらされる。「doc」フィールド（２１０）は、ドキュメント内のエントリを順序付けたリストである。「date_modified」フィールド（３１０）は、ドキュメント（８０）に対して新規追加が行われた日付を有する。
【００３６】
図９は、ブロック図表示であって、クライアントリクエストに対してＥＶＡが果たす機能に関する別の観点を示している。図９の図から分かるように、ページ翻訳プロセス（４００）において、ＥＶＡ（２４）内のページサーバ（４０４）ソフトウェア部分でクライアントリクエスト（４０２）（これは上述のとおりUＲＬ形式である）を受け取る。次にＥＶＡは、適切なジャバページオブジェクト（４０６）を作り出す。さらに詳しくは、本発明の例に示されるように、ＨＴＭＬテンプレートはコンパイルされ、規定のページオブジェクトが作成される。そしてＨＴＭＬテンプレートは、静的要素で構成される文字列オブジェクト及びユーザリクエストに特徴付けられたデータで構成されるメソッドオブジェクトのリストになる。テンプレート中のプレースホルダの文字列は、実際のメソッドオブジェクトに一致するページオブジェクトと置き換えられる。このページオブジェクトは、ユーザリクエストに特徴付けられたデータがテンプレートの静的要素と効率よく結びつくことを可能にしている。
【００３７】
ページオブジェクト（４０６）には適切なテンプレート（４４）が備わっている。さらにページオブジェクト（４０６）は、データベース（３８）から得たドキュメント及びフォルダにテンプレート（４４）を投入する（アタッチメントファイル（４０）が存在する場合にはアタッチメントファイル（４０）も投入する）。次いでページオブジェクト（４０６）は、完全なＨＴＭＬページを作り出す。このＨＴＭＬページは、ユーザプレゼンテーション（４０８）として、ユーザ（１２）へ送られる。ユーザプレゼンテーション（４０８）の例としては、グリーティングディスプレー（７２）及びドキュメントディスプレー（１００）などがあり、これらについては本明細書中で前述している。ユーザ（１２）からＨＴＭＬページ形式で送られたデータは、データベース（３８）内の適切なフィールドにおいて解析されるとともに記録される。データベース（３８）には、本明細書中で述べた方法に従って、仮想オペレーティング・システム（７６）ディスプレーを構築するための利用可能なデータが存在する。
【００３８】
図１０は、本発明によるデータ格納方法（５００）を示したフローチャートである。当業者は、本発明による独自の態様が、データベース（３８）のデータ配列を備えることを理解するものとする。また当業者は、このデータを用いて本発明による仮想オペレーティング・システム（７６）を構築する方法並びに本明細書中で図示され及び／又は述べられているディスプレーの残りの部分を構築する方法について理解するものとする。ひとたび当業者がそのデータの配置方法及び使用法を理解したならば、記載した配置でデータを格納することが、比較的単純な工程であることを理解するものとする。「ページ受信」工程（５０２）において、サーバ（１２）のＥＶＡモジュール（２４）でデータを受信する。さらに「データ検索」工程（５０４）において、関連性のあるデータが分離され格納される。「データ格納」工程（５０６）において、本明細書中で前述したようにフィールド及びテーブルのデータベース（３８）内で、データが格納される。
【００３９】
前述の開示を特に考慮して、例示した特定の実施例から逸脱することは、当業者には明らかである。実際的に、本明細書中で示された例は、比較的単純なものになるように意図したものである。これは、ソフトウェアプログラマー及びデータベースプログラマーにとって周知の詳細を用いることで発明の説明を分かりにくくすることを防ぐためである。
【００４０】
さらに当業者は、本発明が様々な新規の態様を有することを理解するものとする。これら新規の態様は、個別に用いることで発明的となるとともに個々を組み合わせて用いることでも発明的となる。したがって、本発明によるいかなる態様も本発明において不可欠であると考えられるべきではない。多様な特定の実施例において、他の発明的特徴を保持する限り、本発明による一つ又はそれ以上の特徴が省略されてもよいものとする。
【図面の簡単な説明】
【００４１】
【図１】インターネットに関する本発明による仮想プライベート・ネットワークのいくつかの基本構成を描写した構成図である。
【図２】本発明と連動して用いられるようなデータベースのダイアグラムである。
【図３】グリーティング表示画面の一例を示す図表示である。グリーティング表示画面とは、ユーザが本発明による仮想プライベート・ネットワーク・システムにサインインした後に、別のユーザに表示される画面のことである。
【図４】メッセージ表示画面の一例を示す図表示である。
【図５】仮想オペレーティング・システムを実行するための仮想ファイルの配置を作り出すプロセスを描写したフローチャートである。
【図６】グリーティングページのテンプレートのグラフィック描写である。
【図７】仮想のドキュメントを提出する過程を示すフローチャートである。
【図８】ドキュメントのページテンプレートのグラフィック描写である。
【図９】本発明による拡張型仮想オペレーティング・システム・アダプタの操作を描写したブロック・ダイアグラムである。
【図１０】本発明によるデータ格納方法を示したフローチャートである。
【図１】
2007535281.tif 000008
【図２】
2007535281.tif 000009
【図３】
2007535281.tif 000010
【図４】
2007535281.tif 000011
【図５】
2007535281.tif 000012
【図６】
2007535281.tif 000013
【図７】
2007535281.tif 000014
【図８】
2007535281.tif 000015
【図９】
2007535281.tif 000016
【図１０】
2007535281.tif 000017
【国際調査報告】
2007535281.tif 000018