JP2007172586A - コンピュータ間でコンピュータ・データを共有するための方法、装置、およびコンピュータ・プログラム - Google Patents

コンピュータ間でコンピュータ・データを共有するための方法、装置、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP2007172586A
JP2007172586A JP2006303846A JP2006303846A JP2007172586A JP 2007172586 A JP2007172586 A JP 2007172586A JP 2006303846 A JP2006303846 A JP 2006303846A JP 2006303846 A JP2006303846 A JP 2006303846A JP 2007172586 A JP2007172586 A JP 2007172586A
Authority
JP
Japan
Prior art keywords
computer
file system
shared
shared file
size
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.)
Pending
Application number
JP2006303846A
Other languages
English (en)
Inventor
Eric R Kern
エリック・アール・カーン
Shane M Lardinois
シェーン・エム・ラーディノイズ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007172586A publication Critical patent/JP2007172586A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】 コンピュータ間でコンピュータ・データを共有するための方法、装置、およびコンピュータ・プログラムを提供する。
【解決手段】 方法は、ユーザにより、第1のコンピュータ上のユーザ・インターフェースを通じて、第2のコンピュータを通じて共有されるファイルシステムの少なくとも1つのオブジェクトを識別するステップと、第1のコンピュータ上の共有ファイルシステム生成器により、共有ファイルシステムを作成するステップと、共有ファイルシステム生成器により、共有されるオブジェクトを共有ファイルシステムにインストールするステップと、共有されるオブジェクトを、第1のコンピュータと第2のコンピュータとの間のユニバーサル・シリアル・バス(「USB」)接続を通じて共有ファイルシステムから第2のコンピュータに公開するステップを含む。
【選択図】図1

Description

本発明は、データ処理に関する。より具体的には、本発明は、コンピュータ間でコンピュータ・データを共有するための方法、装置、およびコンピュータ・プログラムに関する。
1948年のEDVACコンピュータ・システムの開発は、コンピュータ時代の始まりとしてよく引用される。そのとき以来、コンピュータ・システムは、非常に複雑な装置へと発展してきた。今日のコンピュータは、EDVACのような初期のシステムよりも遥かに高性能である。コンピュータ・システムは、典型的には、ハードウェアおよびソフトウェア要素の組み合わせであり、アプリケーション・プログラム、オペレーティング・システム、プロセッサ、バス、メモリ、入出力装置などを含む。半導体プロセスおよびコンピュータ・アーキテクチャにおける進歩によって、コンピュータの性能がますます高度になるにつれて、ハードウェアのより高度な性能を利用するために、より高性能のコンピュータ・ソフトウェアが発展している。その結果、今日のコンピュータ・システムは、数年前よりも遥かに高性能なものとなっている。
コンピュータ間でコンピュータ・データを共有することがコンピュータ技術の分野の一つとして急速に発展してきている。例えば、コンピュータが、ディスケット・ドライブをリモートに搭載すること、メモリ内のディスケット・ドライブ・イメージをリモートに搭載すること、またはCD−ROMドライブをサーバにリモートに搭載することができる技術が存在する。この技術は、共有されるファイルがリモートに搭載されるドライブと同一の媒体のファイルであれば正しく動作する。この技術は、ドライブを搭載するには比較的良好に動作するが、単一のファイル、ディレクトリ、またはフォルダをリモートにインストールする有用なやり方が現在のところ存在していない。さらに、ファイルまたはディレクトリがそれを搭載することになるリモート・ドライブとは異なる種類である場合に、ファイルまたはディレクトリをリモートにインストールする有用なやり方が現在のところ存在していない。
コンピュータ間でコンピュータ・データを共有するための方法、装置、およびコンピュータ・プログラムが開示される。方法は、ユーザにより、第1のコンピュータ上のユーザ・インターフェースを通じて、第2のコンピュータを通じて共有されるファイルシステムの少なくとも1つのオブジェクトを識別するステップと、第1のコンピュータ上の共有ファイルシステム生成器により、共有ファイルシステムを作成するステップと、共有ファイルシステム生成器により、共有されるオブジェクトを共有ファイルシステムにインストールするステップと、共有されるオブジェクトを、第1のコンピュータと第2のコンピュータとの間のユニバーサル・シリアル・バス(「USB」)接続を通じて共有ファイルシステムから第2のコンピュータに公開するステップを含む。
本発明の上記および他の目的、特徴、および利点は、添付図面に示すような本発明の実施形態例の以下のより詳細な説明から明らかになるだろう。図面において、同様の参照番号は、一般的に、本発明の実施形態例の同様の部分を表す。
本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するための方法、装置、およびコンピュータ・プログラムの例を、図1で始まる添付図面を参照して説明する。図1は、本発明の実施形態に係る、コンピュータ間でコンピュータ・データを共有するためのシステムの一例を示すネットワーク図を示す。図1のシステムは、第1のコンピュータ(400)上において、第2のコンピュータ(401)を通じて共有されるファイルシステム(404)の少なくとも1つのオブジェクト(122,124)を識別するステップと、第1のコンピュータ上において、共有ファイルシステム(414)を作成するステップと、共有ファイルシステム生成器により、共有されるオブジェクトを共有ファイルシステム(414)にインストールするステップ(418)と、共有されるオブジェクトを、第1のコンピュータと第2のコンピュータとの間のユニバーサル・シリアル・バス(「USB」)接続(222)を通じて共有ファイルシステムから第2のコンピュータに公開するステップとによって、本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するために一般的に動作する。共有されるオブジェクトは、例えば、ファイル、ディレクトリ、サブディレクトリ、フォルダなどのファイルシステムの任意の構成とすることができる。
図1のシステムは、第1のコンピュータ(400)と、USBデバイス(112)と、USB接続(222)とを含み、第1のコンピュータは、ネットワーク(102)を通じて第2のコンピュータ(401)に接続されている。本実施例の第1のコンピュータ(400)は、プログラム可能な汎用コンピュータであって、本発明の実施形態に係るコンピュータ間で共有しうるオブジェクト(122,124)を包含するファイルシステム(404)を含む。また、第1のコンピュータ(400)は、ファイルシステム(404)からのオブジェクト(122,124)をインストールして本発明の実施形態に係るコンピュータ間で共有しうる共有ファイルシステム(414)を含む。
図示のネットワーク(102)は、ルータ(104,106)からなる。ルータは、例えばインターネット・プロトコル(「IP」)などのデータ通信プロトコル・スタック内でネットワーク層を実現すると通常みなされている、データ通信装置である。しかし、ネットワーク(102)をルータと共に図示したのは、説明のためにすぎず、本発明を限定するためのものではない。実際問題として、本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するシステム内の第1のコンピュータとUSBデバイスとの間のデータ通信は、当業者が想起するような任意のデータ通信手段によって行われてもよく、例えば、有線のイーサネット・リンク層、無線リンク層、伝送制御プロトコル(「TCP」)、ハイパーテキスト転送プロトコル(「HTTP」)、公衆交換電話網(「PSTN」)、無線電話ネットワーク、ならびにこれらおよび他の組み合わせであってもよい。
USBデバイス(112)は、USBインプリメンターズ・フォーラムによって公表されたようなユニバーサル・シリアル・バス規格に準拠するデータ通信装置である。USBインプリメンターズ・フォーラムは、ユニバーサル・シリアル・バス規格を開発した企業群によって設立された非営利団体である。企業群には、アップル・コンピュータ社、ヒューレット・パッカード社、NEC社、マイクロソフト社、インテル社、アギレ社、ルーセント社、およびフィリップス社が含まれる。USBネットワークは、非対称的なデザインを有し、ホスト・コントローラと、ホスト・コントローラからツリー状に接続された複数の装置とからなる。USBネットワークにおいて、コントローラ毎の分岐数には制約がある。現代のコンピュータは、数個のホスト・コントローラを有することが予想されるので、接続された装置の有用な総数は非常に大きい。どのUSBバス上にも、SPI−SCSIなどで必要な終端装置は必要ない。USBのデザインは、コンピュータのISAまたはPCIバスに別個の拡張カードを加える必要性を減らし、コンピュータを再起動せずに装置をホット・スワップまたは追加することができるようにすることによって、プラグ・アンド・プレイ機能を改善することが意図されている。新たなUSBデバイスを最初にプラグ・インする場合、ホストは、それを登録して、それを動作させるためにデバイス・ドライバをロードする。USBは、マウス、キーボード、ゲームパッドおよびジョイスティック、スキャナ、デジタル・カメラ、プリンタ、ハードディスク、ならびにネットワーキング構成要素などの周辺装置を接続することができる。スキャナ、およびデジタル・カメラなどのマルチメディア装置については、USBは、標準的な接続方法となっている。プリンタについても、USBは、ますます普及しており、パラレル・ポートに取って代わり始めている。なぜなら、USBは、1つ以上のプリンタをコンピュータに追加するのが容易になるからである。2004年時点で、世界中に約10億個のUSBデバイスがあった。2005年時点で、USBを使用できない周辺装置(USBが提供できるよりも高速のデータ・レートが必要なので)の主な種類は、ディスプレイおよびモニタ、ならびに高品質デジタル・ビデオ構成要素だけである。
USBデバイス(112)は、ファイルシステムコマンドをUSB接続(222)を通じて受領して、これらのコマンドをネットワーク(102)を通じて第1のコンピュータ(400)へ転送することができるコンピュータ・ハードウェアおよびソフトウェアを含む。このように、USBデバイスは、ユーザ・インターフェースまたは第2のコンピュータ(401)上のアプリケーション・プログラムにとって、従来のフラッシュ・ドライブのようなディスクドライブのように見える。第2のコンピュータは、そのように実施されたディスクドライブが、実際は、USB接続(222)を通じて第1のコンピュータから公開されたデータを含むことを知らない。本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するための典型的なシステムにおいて、USBデバイスは、フラッシュ・ドライブと同様な形式要素を有するものとされ、すなわち、長さ約1〜2インチ(2.52〜5・04cm)、幅1インチ(2.52cm)以下、および厚さ1インチ(2.54cm)未満とされる。
本実施例におけるUSB接続(222)は、RJ−45コネクタ(110)を含む。RJ−45コネクタ(110)は、データ通信のためのネットワーク(102)へのイーサネット接続(108)に典型的に使用される種類のものである。本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するためのシステムにおいて、RJ−45コネクタ(110)は、第1のコンピュータ(400)に対するデータ通信接続を表し、共有されるオブジェクトを表しかつ備えるデータがそのような第1のコンピュータから第2のコンピュータへUSB接続(222)を通じて通信される。本実施例におけるRJ−45コネクタの使用は、本発明の第1のコンピュータとUSBデバイスとの間のデータ通信を説明するためのものに過ぎず、本発明を限定するためのものではない。当業者が想起するような、第1のコンピュータ(400)とUSBデバイス(112)との間の任意のデータ通信手段を使用することは、本発明の範囲に当然包含されるものである。
本実施例におけるUSB接続(222)は、第2のコンピュータ(401)をUSBバス・ケーブル(116)を介して接続するUSBコネクタ(114)を含む。USBバス・ケーブル(116)は、USBバスを第2のコンピュータ(401)からUSBデバイス(112)へUSBコネクタ(114)を通じて伸張し、USB電力および信号線を第2のコンピュータからUSBデバイスへ提供する。第2のコンピュータにおけるUSBバスは、第2のコンピュータ内のUSBホスト・コントローラに接続する。図示のようなUSBアーキテクチャは、本発明の範囲内であり、例えば、USBコネクタを第2のコンピュータ上のUSBコネクタに直接プラグ接続すること、USBデバイスをより大きなUSBツリー・ネットワークを通じて第2のコンピュータに接続すること、および当業者が想起するような他のUSB接続アーキテクチャを含む。
図1に示すシステムの例を構成するコンピュータおよび他の装置の配置は、説明のために過ぎず、本発明の範囲を限定するためのものではない。本発明の様々な実施形態に係るコンピュータ間でコンピュータ・データを共有するために有用なデータ処理システムは、図1には示されていないが、当業者が想起するようなサーバ、ルータ、他の装置、ピア・ツー・ピア・アーキテクチャをさらに含んでもよい。そのようなデータ処理システムにおけるネットワークは、例えば、TCP(伝送制御プロトコル)、IP(インターネット・プロトコル)、HTTP(ハイパーテキスト転送プロトコル)、WAP(無線アクセス・プロトコル)、HDTP(ハンドヘルド装置伝送プロトコル)、および当業者が想起するような他のプロトコルを含む、数多くのデータ通信プロトコルをサポートしてもよい。本発明の様々な実施形態は、図1に示されるものに加えて、様々なハードウェア・プラットフォーム上で実施されてもよい。
さらに説明するために、図2は、本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するために適用されたUSBデバイス(112)の機能ブロック図を示す。図2のUSBデバイスは、RJ−45コネクタ(110)と、USBコネクタ(114)と、マイクロコントローラ(130)とを含む。RJ−45コネクタ(110)は、データ通信のためのネットワークへのイーサネット接続に典型的に使用される種類のものである。本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するためのシステムにおいて、RJ−45コネクタ(110)は、第1のコンピュータに対する接続を表し、共有されるオブジェクトを表しかつ備えるデータがそのような第1のコンピュータから第2のコンピュータへUSBコネクタ(114)を通じて通信される。USBコネクタ(114)は、例えば、USB接続を第2のコンピュータに対して直接、USBバス・ケーブルを通じて、またはUSBネットワークを通じて提供することによって、本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するために使用される、USB規格に従った標準的なUSBコネクタである。
本実施例におけるマイクロコントローラ(130)は、マイクロプロセッサ(126)と、1つ以上の入出力ポート(127)と、ランダム・アクセス・メモリ(「RAM」)(136)とを提供するエンベデッド・システムであり、これらはすべて、システム・バス(128)を通じてデータ通信用に結合されている。マイクロコントローラ(130)は、RAM(136)内に記憶されたコンピュータ・プログラム命令によってマイクロプロセッサ(126)が発明の実施形態に係るコンピュータ間でコンピュータ・データを共有することを行うようにプログラムされている、エンベデッド・システムを実施する。コンピュータ間でコンピュータ・データを共有する過程で、USBデバイス(112)は少なくとも2つのコンピュータ、すなわち、第1のコンピュータおよび第2のコンピュータ間のデータ通信を行うので、マイクロコントローラ(130)は、1つ以上の入出力ポート(127)を有して構成するのが有用であろう。電力は、USBコネクタ(114)を通じてUSBデバイス(112)に対して供給され、USBコネクタ(114)は、いつでもプラグ接続が解除されて、マイクロコントローラに対して電力を遮断して、揮発性RAMに記憶されたコンピュータ・プログラム命令および他のデータを削除してもよい。したがって、少なくともある実施形態においては、例えば電気的消去可能プログラム可能読み出し専用メモリ(EEPROMまたは「フラッシュ・メモリ」)のような不揮発性メモリとして有用に実施されてもよい。
RAM(136)にインストールされているのは、USBバス・インターフェース(214)であり、USBコネクタ(114)を通じて第2のコンピュータ(401)から受信し、かつそこへ送出されるUSB通信を管理するコンピュータ・プログラム命令のモジュールである。USBバス・インターフェース(214)は、USBコネクタ(114)を通じてシリアル・データを受信し、シリアル・データをパラレルであるUSBフレーム化データに変換し、USBフレーム化データをUSB論理デバイス(134)へ渡す。
USB物理デバイスは、さらなる機能をホストに対して提供する。USBの観点からは、第2のコンピュータ(401)は「ホスト」である。USBデバイスによって提供される機能の種類は、多種多様である。しかし、すべてのUSB論理デバイスは、「論理デバイス」と称される機能を通じて、同一の基本インターフェースをホストに提示する。これにより、ホストは、異なるUSBデバイスのUSB関連の側面を同じように管理することができる。USBデバイスを識別および構成する際にホストをサポートするために、各装置は、構成関連情報を保持かつ報告する。報告される情報のいくつかは、すべての論理装置間で共通である。他の情報は、装置によって提供される機能に固有である。USB論理デバイス(134)は、USB規格に従って標準的なUSBデバイス機能を提供するコンピュータ・プログラム命令のモジュールであり、例えば以下のものを含む。
「ホスト」または「第2のコンピュータ」に対する、またはそこからの動的な装着および撤去。USBデバイスは、いつでも装着および撤去されてもよい。装着ポイントまたはポートを提供するハブは、ポートの状態の変化を報告する役割を担う。USBデバイスは、USB[ハブ」上のUSB「ポート」を通じて、USBホストに接続される。ホストは、装着が検出されると、装置が装着されるハブ・ポートをイネーブルする。装置がハブ・ポートから撤去されると、ハブは、装置が装着されていたポートをディスエーブルして、ホストに対して撤去を通知する。
アドレス割り当て。USBデバイスが装着されると、ホストは、固有のUSBアドレスを装置に対して割り当てる役割を担う。
構成。USBデバイスは、その機能が使用されるであろう前に構成されなければならない。ホストは、USBデバイスを構成する役割を担う。ホストは、典型的には、装置の能力を判断するために、USBデバイスから構成情報を要求する。
データ転送。データは、USBデバイスとホストとの間でいくつかのやり方で転送されてもよく、例えば、コマンド転送、等時性転送、および大量転送が含まれる。
電力管理。USBデバイスの電力管理には、電力予算管理およびリモート目覚ましのための機能が含まれる。
要求処理。USBは、ポールされたバスである。ホストが、すべてのデータ転送を開始する。USBデバイスは、一般的に、装置がセットアップを完了するやいなや、データ転送に対するホストの要求処理を開始してもよい。
この例において、USB論理デバイスは、大量転送用のUSBデバイスを構成し、ホストまたは第2のコンピュータ(401)からの処理要求をUSB大量転送で実行することによって、コンピュータ間でコンピュータ・データを共有することをサポートし、これにより、第1のコンピュータ(400)上の共有ファイルシステムと第2のコンピュータ(401)との間のデータ転送を可能にする。
本実施例におけるRAM(136)にインストールされているのは、仮想化エンジン(212)およびデータ通信エンジン(210)であって、これらは合わせて、USB規格が意味するところのUSB「機能」(132)を構成する。USB機能(132)は、USBデバイス(112)によってホストに提供された追加の機能を表わす。本実施例において、表わされる追加の機能は、本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有することである。この追加の機能は、仮想化エンジン(212)およびデータ通信エンジン(210)を通じて提供される。仮想化エンジン(212)は、コンピュータ・プログラム命令のモジュールであって、ディスクドライブ・コマンドおよび第1のコンピュータから読み出されるかまたはそこへ書き込まれ、USBデータとしてフレーム化される他のコンピュータ・データをUSB論理デバイス(134)を通じて第2のコンピュータ(401)から受信し、ディスクドライブ・コマンドおよび他のデータをUSBフレームから抽出し、ディスクドライブ・コマンドおよび他のデータをデータ通信エンジン(210)を通じて第1のコンピュータ(400)へおよびそこから通信するように実施される。
本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するために有用なディスクドライブ・コマンドの例には、SCSI(小型コンピュータ・システム・インターフェース)コマンドおよびATA(Advanced Technology Attachment)コマンドが含まれる。SCSIは、内部および外部両方のコンピュータ・バス上の装置間でデータを転送するための標準的なインターフェースおよびコマンドセットである。SCSIは、ハードディスクおよびテープ記憶装置用に最も一般的に使用されるが、スキャナ、CD−ROMドライブ、CDレコーダ、およびDVDドライブを含む広範囲の他の装置も接続する。実際、全SCSI標準規格は、装置の独立性を奨励しており、これは、理論的にはすべてがSCSIにできるという意味であり、SCSIプリンタも製造されてきている。ATAは、コンピュータ内のハードディスクドライブおよびCD−ROMドライブのような記憶装置を接続するための標準的なインターフェースである。ATAに関する用語および同義語は数多くあり、IDE(Integrated Drive Electronics)およびUDMA(Ultra Direct Memory Access)などの省略形が含まれる。ATAドライブ・インターフェースは、通常、内部コンピュータ記憶インターフェースとして現れ、本発明の実施形態にとって最も一般的かつ最も廉価なインターフェースを提供する。本明細書は、一般的に、SCSIまたはATAの観点から、コンピュータ間でコンピュータ・データを共有することを説明しているが、ドライブ・インターフェースにSCSIまたはATAを使用することは、本発明を限定するものではなく、本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有することは、当業者が想起するような任意のドライブ・インターフェースによって行われてもよい。
データ通信エンジン(210)は、データ通信のためのコンピュータ・プログラム命令のモジュールである。データ通信エンジン(210)は、例えば、伝送制御プロトコル、インターネット・プロトコル、およびイーサネット・プロトコルをデータ通信プロトコル・スタックの伝送層、ネットワーク層、およびリンク層としてそれぞれ実施する、TCP/IPイーサネット・エンジンとして構成されてもよい。そのような例において、データ通信エンジン(210)は、例えば、ソケット・インターフェースなどのTCPインターフェースを、TCPインターフェースに呼び出しを発行する仮想化エンジン(212)に公開して、USBデバイス(112)と第1のコンピュータ(400)との間のデータ通信接続を確立する。データ通信エンジン(210)は、USBデバイス(112)と第1のコンピュータ(400)との間のデータ通信のためのネットワーク・アドレスおよび/またはポート番号と共に、予め構成されていてもよく、製造時であってもよい。仮想化エンジン(212)は、ディスクドライブ・コマンドまたは他のデータをUSB論理デバイス(134)から受信されたUSBフレームから抽出しており、その後、TCP接続を通じて、第1のコンピュータ(400)へコマンドを送信し、データをそこへ送信またはそこから受信する。しかし、上述のように、TCP/IP/イーサネットの例は、一例に過ぎず、USBデバイス(112)と第1のコンピュータ(400)との間のデータ通信機能は、当業者が想起するような任意のデータ通信手段によって行われてもよい。
さらなる説明のために、図3に、本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するためのシステムの機能ブロック図を示す。図3のシステムは、第1のコンピュータ(400)と、USBデバイス(112)と、USB接続(222)とを含み、第1のコンピュータは、データを共有する目的で、ネットワーク(102)を通じて第2のコンピュータ(401)に接続されている。ネットワーク(102)は、図1を参照して上述したようなデータ通信プロトコルを使用することによって、コンピュータ間のデータ通信を提供するルータのデータ通信ネットワークであってもよい。USBデバイス(112)は、図2を参照して上述したようなホストに追加の機能を提供するエンベデッド装置としてのマイクロコントローラで実施されてもよい。USBデバイス(112)は、データ通信エンジン(210)と、仮想化エンジン(212)と、USB論理デバイス(134)と、USBバス・インターフェース(214)とを含み、これらはすべて、図2を参照して上述したように動作するコンピュータ・ソフトウェア命令のモジュールとして実施されてもよい。
第1のコンピュータ(400)は、一般的には、オペレーティング・システム(154)を含むプログラム可能なコンピュータである。オペレーティング・システムは、共有ファイルシステム(414)と、仮想ドライバ(204)と、共有ファイルシステム生成器(202)と、ユーザ・インターフェース(206)と、ファイルシステム(404)と、共有されるオブジェクト(406)とを含む。共有ファイルシステム(414)は、例えば、ディスクドライブをエミュレートするようにトラック、セクタ、およびクラスタに構成されたRAMで実施された仮想ディスクドライブ(415)、または、ファイルシステム(404)を通じて開かれたファイル内に実施され、かつディスクドライブをエミュレートするようにトラック、セクタ、およびクラスタに構成された仮想ディスクドライブ(415)のエミュレーションを含む。エミュレートされたドライブの種類は、SCSIドライブ、ATAドライブ、または当業者が想起するような任意の他の種類のドライブであってもよい。共有ファイルシステムの仮想ディスクドライブ(415)が任意の種類であってもよいのと同様に、共有ファイルシステム自体も、当業者が想起するような任意の種類のファイルシステムをエミュレートしてもよく、そのエミュレートされたドライブ・メモリに、共有ファイルシステムのオブジェクト、典型的にはディレクトリおよびファイルをあらわすデータ構造を記憶する。共有ファイルシステムのオブジェクトを表すデータ構造の種類は、共有ファイルシステム(414)によって表されるファイルシステムの種類に依存する。共有ファイルシステム(414)がUnix(登録商標)型のシステムとして実施される場合には、仮想ディスクドライブ(415)に記憶されるデータ構造は、マスタ・ブロックと、iノードとを含む。共有ファイルシステムがMS−DOSとして実施される場合には、仮想ディスクドライブ(415)に記憶されるデータ構造は、ファイル・アクセス・テーブル(「FAT」)と、ディレクトリ・テーブルとを含む。その他、共有ファイルシステム(414)によって実施されるファイルシステムの種類に従う。
仮想ドライバ(204)は、仮想ディスクドライバというコンピュータ・ソフトウェア命令のモジュールであって、仮想ディスクドライブ(415)を駆動することからそのように称される。仮想ディスクドライブ(415)がSCSIドライブとして実施される場合には、仮想ドライバ(204)は、SCSIドライバとして構成される。仮想ディスクドライブ(415)がATAドライブとして実施される場合には、仮想ドライバ(204)は、ATAドライバとして構成される。その他、仮想ディスクドライブ(415)によってエミュレートされるディスクドライブの種類に従う。仮想ドライバ(204)は、ユーザの指令で、共有ファイルシステム生成器(202)によって提供される。仮想ドライバ(204)は、仮想ディスクドライブ(415)のトラック、セクタ、およびクラスタからデータを読み出しまたはそこへ書き込むためのディスクドライブ・コマンドを、ファイルシステム(404)から受領する。コマンドは、ユーザ・インターフェース(206)を通じて第1のコンピュータ(400)のユーザ(100)によって開始されることが多い。ユーザ・インターフェースは、GUI(グラフィカル・ユーザ・インターフェース)またはCLI(コマンド・ライン・インターフェース)であってもよい。
加えて、仮想ドライバ(204)は、データ通信エンジン(208)のデータ通信クライアントとして機能するように構成される。データ通信エンジン(210)は、データ通信のためのコンピュータ・プログラム命令のモジュールである。データ通信エンジン(208)は、データ通信エンジン(210)と同様のやり方で構成されてもよく、例えば、伝送制御プロトコル、インターネット・プロトコル、およびイーサネット・プロトコルをデータ通信プロトコル・スタックの伝送層、ネットワーク層、およびリンク層としてそれぞれ実施する、TCP/IP/イーサネット・エンジンとして構成されてもよい。そのような例の場合、データ通信エンジン(208)は、例えば、ソケット・インターフェースなどのTCPインターフェースを、TCPインターフェースに呼び出しを発行する仮想ドライバ(204)に公開して、USBデバイス(112)と第1のコンピュータ(400)との間のデータ通信接続を確立する。そして、仮想ドライバ(204)は、TCP接続を通じて、USBデバイス(112)へディスクドライブ・コマンドを送信し、データをそこへ送信またはそこから受信する。しかし、上述のように、TCP/IP/イーサネットの例は、一例に過ぎず、USBデバイス(112)と第1のコンピュータ(400)との間のデータ通信機能は、当業者が想起するような任意のデータ通信手段によって行われてもよい。
共有ファイルシステム生成器(202)は、コンピュータ・プログラム命令のモジュールであって、第1のコンピュータ(400)上のユーザ・インターフェース(206)を通じて、第2のコンピュータ(401)を通じて共有されるファイルシステム(404)の少なくとも1つのオブジェクト(406)の識別子をユーザ(100)から受信し、共有ファイルシステム(414)を第1のコンピュータ(400)上に作成し、共有されるオブジェクト(406)を共有ファイルシステム(414)にインストールするモジュールである。また、共有ファイルシステム生成器(202)は、USB大容量記憶装置として分類されるUSBデバイス(112)をUSBホストである第2のコンピュータ(401)に接続するための命令を、データ通信エンジン(208)からUSB論理デバイス(134)通じて送信することによって、共有されるオブジェクトを、第1のコンピュータと第2のコンピュータとの間のユニバーサル・シリアル・バス(「USB」)接続を通じて共有ファイルシステムから第2のコンピュータ(401)に公開するように機能する。
USBデバイスは、ハブ(236)として知られる特殊なUSBデバイス上のポート(234)を通じてUSBコントローラ(224)に装着する。ハブは、そのポートのうちの1つにUSBデバイスが装着(attachment)または撤去(removal)されたことを報告するために使用されるステータス・ビットを有する。ホスト・コントローラ(224)は、これらのビットを取り出すためにハブに問い合わせる。装着の場合、ホストは、ポートをイネーブルして、デフォルトのアドレスにおける装置の制御パイプを通じてUSBデバイスをアドレス指定する。ホスト・コントローラは、固有のUSBアドレスをUSBデバイスに対して割り当てて、その後、新しく装着されたUSBデバイスがハブかまたは機能かを判断する。ホストは、割り当てられたUSBアドレスとエンドポイント番号0とを使用して、USBデバイスのために、制御パイプのその一端を確立する。装着されたUSBデバイスがハブであり、USBデバイスがそのポートに装着される場合には、装着された各USBデバイスについて上記の手順が採用される。装着されたUSBデバイスが機能の場合には、当該機能に適切なホスト・ソフトウェアによって、装着通知が処理されることになる。
装着が生じると、USB論理デバイス(134)内の構成データが、USBコントローラ(224)に対して、XT、Unix(登録商標)、i5OS(IBM社の登録商標)などかどうかといった、共有ファイルシステム(414)の種類およびバージョンを通知するとともに、SCSI、ATAなどといったエミュレートされた仮想ディスクドライブ(415)の種類も通知する。その後、USBコントローラは、第1のコンピュータ(400)上の共有ファイルシステム(414)を第2のコンピュータ(401)上に表すために、ファイルシステム(226)を作成して、共有されるオブジェクトを表す共有ファイルシステム(414)のデータ構造の内容をファイルシステム(226)に記録する。共有されるオブジェクトは、共有ファイルシステム(414)がUnix(登録商標)ファイルシステムである場合にはiノード・データであり、共有ファイルシステム(414)がMS−DOSファイルシステムである場合にはファイル・アクセス・テーブル・データである、といった具合である。オペレーティング・システム(154)は、第1のコンピュータ(400)の共有ファイルシステム(414)を第2のコンピュータ(401)上で表すファイルシステム(226)を、ファイルシステム動作部(230)およびユーザ・インターフェイス(232)を通じてユーザへのインターフェースを通じて、アプリケーション・プログラムに公開する。
共有ファイルシステム生成器(202)は、共有されるオブジェクトのサイズを決定して、共有ファイルシステム(414)のサイズを少なくとも1つの共有されるオブジェクトよりも大きいUSBフラッシュ・ドライブ・サイズに設定することによって、共有されるオブジェクト(406)について共有ファイルシステム(414)を作成するコンピュータ・プログラム命令を含んでもよい。USBフラッシュ・ドライブは、基本的には、小型かつ軽量の着脱可能なコンピュータ・データ記憶装置として使用される、USBインターフェースを実装するNAND型フラッシュ・メモリである。このホット・スワップ可能な不揮発性固体装置は、USBをサポートするコンピュータ・システムであればほとんどどれとでも互換性がある。USBフラッシュ・メモリ・ドライブは、ペン・ドライブ、サム・ドライブ、USBキー、その他様々な名称でも知られている。フラッシュ・ドライブは、頑丈なプラスチックまたは金属製のケーシングに入れられた小さなプリント回路基板からなり、これによって、ドライブは、キー・フォブとしてポケットに入れたり、または紐につけて持ち運ぶのに十分なほど頑丈なものとなっている。USBコネクタだけがこの保護体から突き出ており、USBコネクタは、着脱可能なキャップで覆われることが多い。
共有ファイルシステム生成器(202)が、共有されるオブジェクトを、第1のコンピュータと第2のコンピュータとの間のユニバーサル・シリアル・バス(「USB」)接続を通じて共有ファイルシステム生成器から第2のコンピュータに公開する場合に、共有ファイルシステム生成器(202)は、USB論理デバイス(134)に対して、USBホストの観点から見た場合に第2のコンピュータ(401)となるフラッシュ・ドライブをエミュレートするように、実際上指示する。すなわち、共有ファイルシステム生成器(202)は、仮想ドライバ(204)と、共有ファイルシステム(414)と、仮想ディスクドライブ(415)と、仮想化エンジン(212)と協働して動作して、USBデバイス(112)が、第2のコンピュータ(401)にとってフラッシュ・ドライブとなるようにする。特に、USBデバイス(112)は、標準的なフラッシュ・ドライブ・サイズと同一のサイズまたは最大容量を有するファイルシステムをエミュレートするフラッシュ・ドライブを提供するように見える。標準的なフラッシュ・ドライブ・サイズは、8,16,32,64,128,256,および512メガバイト、ならびに1,2,4,および8ギガバイトである。
共有されるオブジェクトのサイズを判断して、共有ファイルシステム(414)のサイズを少なくとも1つの共有されるオブジェクトのサイズよりも大きいUSBフラッシュ・ドライブ・サイズに設定することは、以下のように行われてもよい。共有されるオブジェクトがファイルの場合には、オブジェクトのサイズは、オブジェクトを表すオペレーティング・システムのデータ構造、Unix(登録商標)ではそのiノード、MS−DOSではそのディレクトリ・テーブル・エントリなどから読み出されてもよい。共有されるオブジェクトがディレクトリの場合には、そのサイズは、ディレクトリ内に含まれるあらゆるファイルのサイズの合計としてもよい。したがって、例えば、サイズが4メガバイトのファイルが共有されるオブジェクトの場合には、共有ファイルシステム生成器(202)は、共有ファイルシステム(414)を作成する際に、共有ファイルシステムのサイズを、次に最も大きな標準的なUSBフラッシュ・ドライブ・サイズ、すなわち、8メガバイトに設定してもよい。共有されるオブジェクトが、合算サイズが2.5ギガバイトのファイルを含むディレクトリである場合には、共有ファイルシステム生成器(202)は、共有ファイルシステム(414)を作成する際に、共有ファイルシステムのサイズを、次に最も大きな標準的なUSBフラッシュ・ドライブ・サイズ、すなわち、4メガバイトに設定してもよい、といった具合である。
共有ファイルシステム生成器が共有されるオブジェクト(406)を共有ファイルシステム(414)にインストールすることは、典型的には、共有されるオブジェクトを第1のコンピュータのファイルシステムから第1のコンピュータの共有ファイルシステムにコピーすることによって行われる。これには、オブジェクトと、当該ファイルシステム内のオブジェクトを表すオペレーティング・システムのデータ構造の内容とを備えるデータをコピーすることが含まれる。共有ファイルシステム(414)がファイルシステム(404)と同じ種類のファイルシステムである必要はない。共有ファイルシステム(414)が他の種類またはバージョンのファイルシステムである場合には、共有されるオブジェクトを共有ファイルシステムにインストールすることには、その構造を変換することが含まれてもよい。すなわち、ファイルシステム(404)がUnix(登録商標)型のファイルシステムで、共有ファイルシステム(414)がMS−DOS型のファイルシステムである場合には、共有されるオブジェクトの構造を変換することには、オブジェクトを表すデータをUnix(登録商標)のiノードにおけるエントリからMS−DOSのファイル・アクセス・テーブルおよびディレクトリ・テーブルにおけるエントリに変換することが含まれてもよい。
第1のコンピュータのユーザが、共有されるオブジェクトを識別して、共有ファイルシステム生成器に対して共有するためのオブジェクトを共有ファイルシステムにインストールするように指示してもよい回数に制限はない。したがって、ユーザが共有される追加のオブジェクトを識別したときに、追加的に識別されたオブジェクトが大きすぎて、共有ファイルシステム上に記憶するのに現在利用可能な空間に入らない場合がある。すなわち、共有ファイルシステムに以前にインストールされたオブジェクトのサイズに追加された追加のオブジェクトのサイズが、共有ファイルシステムのサイズを超える場合がある。そのような場合には、共有ファイルシステム生成器(202)は、USB接続(222)を解除して、第1のコンピュータ(400)上の共有ファイルシステム(414)のサイズを増加して、追加のオブジェクトを共有ファイルシステムにインストールして、USB接続(222)を再接続することによって、追加のオブジェクトを共有ファイルシステムにインストールしてもよい。
第2のコンピュータ(401)は、ファイルシステム(226)と、USBドライバ(228)と、ファイルシステム動作部(230)と、ユーザ・インターフェース(232)とを含むオペレーティング・システム(156)を含む。オペレーティング・システムは、MS−DOS、Unix(登録商標)、i5OS(IBM社の登録商標)、AIXなど、当業者が想起するような任意のオペレーティング・システムであってもよい。ファイルシステムは、当業者が想起するような任意のファイルシステムであってもよい。ファイルシステム動作部は、ファイルシステムのオブジェクトを操作するためのアプリケーションおよびオペレーティング・システム構成要素に公開された機能であり、例えば、ファイルまたはディレクトリを作成するための機能、ファイルまたはディレクトリを削除するための機能、ファイルまたはディレクトリの名前をするための機能、ファイルを開くための機能、データをファイルから読み出すための機能、データをファイルに書き込むための機能、ファイルまたはディレクトリのセキュリティ許可を変更するための機能などを含む。これらのファイルシステムコマンドの中には、第2のコンピュータ上で実行されると、第1のコンピュータ上の共有ファイルシステムにインストールされた共有されるオブジェクトに、影響を与えるものもある。USBドライバ(228)は、第1のコンピュータ上の共有ファイルシステムにインストールされた共有されるオブジェクトに影響を与える、ファイルシステム動作部からのディスクドライブ・コマンドを受領する。ディスクドライブ・コマンドには、例えば、共有されるオブジェクトにデータを書き込む命令が含まれる。USBドライバ(228)は、そのようなコマンドをUSBデータ・フレームにカプセル化して、USBデータ・フレームをUSB接続(222)を通じてUSBデバイス(112)へ送信して、さらに第1のコンピュータ(400)上の仮想ドライバ(240)へ転送することによって動作する。仮想ドライバ(204)は、そのようなディスクドライブ・コマンドに従って共有ファイルシステム(414)上の共有されたオブジェクトの変更を生じさせる。
本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有することは、一般的には、コンピュータ、すなわち自動計算機械によって実施される。例えば、図1のシステムにおいて、ネットワーク、ルータ、USBデバイス、第1のコンピュータ、および第2のコンピュータはすべて、少なくともコンピュータとしてある程度実施される。したがって、さらに説明するために、図4は、本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するのに有用なコンピュータ(152)の例を備える自動計算機械のブロック図を示す。特に、図4の例は、本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するための第1のコンピュータまたは第2のコンピュータとして適応されてもよい。
図4のコンピュータ(152)は、少なくとも1つのコンピュータ・プロセッサ(156)、言い換えれば「CPU」と、ランダム・アクセス・メモリ(168)(「RAM」)とを含み、RAMは、システム・バス(160)を通じて、プロセッサ(156)と、コンピュータの他の構成要素とに接続されている。RAM(168)に記憶されているのは、オペレーティング・システム(154)である。本発明の実施形態に係るコンピュータにおいて有用なオペレーティング・システムには、Unix(登録商標)、Linux(登録商標)、MicrosoftXT(登録商標)、IBM社のAIX(登録商標)、IBM社のi5/OS(登録商標)、および当業者が想起するような他のものが含まれる。また、RAM(168)には、ユーザ・インターフェース(206)が記憶されており、これは、ユーザによるシステム制御のためのコンピュータ・プログラム命令のモジュールである。ユーザ・インターフェース(206)は、GUIまたはCLIであってもよい。また、RAM(168)には、ファイルシステム(404)が記憶されており、これは、ディスクドライブ上のデータをファイルおよびディレクトリのようなオブジェクトに組織化することを表すデータ構造を含むソフトウェア・モジュールである。ファイルシステム(404)は、ファイルシステムのオブジェクトを操作するための機能も提供し、これには、例えば、ファイルおよびディレクトリを作成および削除する機能、ファイルおよびディレクトリを開くおよび閉じる機能、ファイルおよびディレクトリへおよびそこからデータを読み出しおよび書き込む機能、ファイルおよびディレクトリの名前を変更する機能などが含まれる。
また、RAM(168)には、共有ファイルシステム生成器(202)が記憶される。共有ファイルシステム生成器(202)は、コンピュータ・プログラム命令のモジュールであって、第2のコンピュータを通じて共有されるファイルシステム(404)の少なくとも1つのオブジェクト(406)の識別子を、ユーザ・インターフェース(206)を通じてユーザから受信し、共有ファイルシステム(414)を第1のコンピュータ上に作成し、共有されるオブジェクト(416)を共有ファイルシステム(414)にインストールするモジュールである。また、共有ファイルシステム生成器(202)は、共有されるオブジェクトを、第1のコンピュータと第2のコンピュータとの間のUSB接続を通じて共有ファイルシステムから第2のコンピュータに公開するように機能する。
また、RAMには、仮想ドライバ(204)が記憶される。仮想ドライバ(204)は、仮想ディスクドライバというコンピュータ・ソフトウェア命令のモジュールであって、仮想ディスクドライブ(415)を駆動することからそのように称される。本実施例においては、仮想ディスクドライブ(415)は、RAMドライブとして図示されている。しかし、読者は気づくだろうが、仮想ディスクドライブ(415)は、ファイルシステム(404)を通じて開かれるファイル内で実施されてもよく、ディスクドライブをエミュレートするようにトラック、セクタ、およびクラスタに構成されてもよい。仮想ドライバ(204)は、ディスクドライブ・コマンドを実行して、仮想ディスクドライブ(415)のトラック、セクタ、およびクラスタからデータを読み出しまたはそこへ書き込む。加えて、仮想ドライバ(204)は、データ通信エンジン(208)のデータ通信クライアントとして機能するように構成される。データ通信エンジン(208)は、データ通信のためのコンピュータ・プログラム命令のモジュールである。データ通信エンジン(208)は、例えばTCP/IP/イーサネット・エンジンとして構成されてもよい。そして、仮想ドライバ(204)は、データ通信エンジン(208)を使用することによって生じたTCP接続を通じて、USBデバイス(112)へディスクドライブ・コマンドを送信し、データをそこへ送信またはそこから受信してもよい。
図2の例のオペレーティング・システム(154)、ユーザ・インターフェース(206)、ファイルシステム(404)、共有ファイルシステム生成器(202)、仮想ドライバ(204)、仮想ディスクドライブ(415),共有ファイルシステム(414)、およびデータ通信エンジン(208)が、RAM(168)内に示されている。そのようなソフトウェアの数多くの構成要素は、典型的には不揮発性メモリ(166)にも記憶される。
図4のコンピュータ(152)は、システム・バス(160)を通じてプロセッサ(156)およびコンピュータ(152)の他の構成要素に結合される不揮発性コンピュータ・メモリ(166)を含む。不揮発性コンピュータ・メモリ(166)は、ハードディスクドライブ(170)、光ディスクドライブ(172)、電気的消去可能プログラム可能読み出し専用メモリ空間(いわゆる「EEPROM」または「フラッシュ」メモリ)(174)、RAMドライブ、または当業者が想起するような任意の他の種類のコンピュータ・メモリとして実施されてもよい。
また、図4のコンピュータの例は、1つ以上の入出力インターフェース・アダプタ(178)を含む。コンピュータ内の入出力インターフェース・アダプタは、例えば、コンピュータ・ディスプレイ画面のような表示装置(180)への出力、およびキーボードおよびマウスなどのユーザ入力装置(181)からのユーザ入力を制御するためのソフトウェア・ドライバおよびコンピュータ・ハードウェアを通じて、ユーザ入出力を実施する。
図4のコンピュータの例(152)は、他のコンピュータ(182)とのデータ通信(184)を実施するための通信アダプタ(167)を含む。そのようなデータ通信は、RS−232接続、USBなどの外部バス、およびIP/イーサネット・ネットワークなどのデータ通信ネットワークを通じて、当業者が想起するような他の方法によって、シリアルに行われてもよい。通信アダプタは、1つのコンピュータが他のコンピュータへデータ通信を直接またはネットワークを通じて送る、ハードウェア・レベルのデータ通信を実施する。本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するために有用な通信アダプタの例には、有線のダイアル・アップ通信用のモデム、有線ネットワーク通信用のイーサネット(IEEE802.3)アダプタ、および無線ネットワーク通信用の802.11bアダプタが含まれる。
さらに説明するために、図5に、本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するための方法の一例を示すフロー・チャートを示す。当該方法は、ユーザ(100)により、第1のコンピュータ(400)上のユーザ・インターフェースを通じて、第2のコンピュータ(401)を通じて共有されるファイルシステム(404)の少なくとも1つのオブジェクト(406)を識別するステップ(402)を含む。ユーザは、識別コマンド(identifying command)をCLIを通じて、例えば、以下のようにタイピングすることによって、共有されるオブジェクトを識別してもよい。

USBshare c:\myHomeDirectory\myAddressList.doc
そのような識別コマンドは、第1のコンピュータの共有ファイルシステム生成器(202)内のUSBshareという名の機能を呼び出す。この機能は、パラメータとして、第2のコンピュータと共有されるファイルまたはディレクトリのパスネームを取る。この識別コマンドにおいて、共有するために識別されたオブジェクトは、「c:\myHomeDirectory\myAddressList.doc」というパスネームのファイルである。CLIコマンドを使用する代わりに、ユーザは、図7に示すようなGUIを通じて右マウスをクリックすることでオブジェクトを選択することによって、共有されるオブジェクトを識別してもよい。
また、図5の方法は、第1のコンピュータ上の共有ファイルシステム生成器(202)により、共有ファイルシステム(414)を作成するステップ(408)を含む。図5の方法において、第1のコンピュータ上に、共有されるオブジェクトについての共有ファイルシステム(414)を作成するステップ(408)は、共有されるオブジェクト(406)のサイズを決定するステップ(410)と、共有ファイルシステム(414)のサイズを、少なくとも1つの共有されるオブジェクトのサイズよりも大きいUSBフラッシュ・ドライブ・サイズに設定するステップ(412)とを含む。
また、図5の方法において、第1のコンピュータ上の共有ファイルシステム生成器(202)により、共有されるオブジェクトについての共有ファイルシステムを作成するステップ(408)は、第1のコンピュータ上の仮想ディスクドライバ(204)を提供するステップ(444)を含む。そのような仮想ディスクドライバは、典型的には、第1のコンピュータのオペレーティング・システムを通じて第1のコンピュータ上でアクセス可能なように提供され、仮想ディスクドライバは、典型的には、USB接続(426)を通じて第2のコンピュータ(401)からもアクセス可能である。
図5の方法において、第1のコンピュータ上の共有ファイルシステム生成器(202)により、共有されるオブジェクトについての共有ファイルシステムを作成するステップ(408)は、コンピュータ・メモリを共有ファイルシステムに割り当てるステップ(446)を含み、コンピュータ・メモリは、ファイルシステムをエミュレートするように構成される。この例において、コンピュータ・メモリを共有ファイルシステムに割り当てるステップ(446)は、仮想ディスクドライブ(415)を提供することによって行われる。仮想ディスクドライブ(415)は、例えば、ディスクドライブをエミュレートするようにトラック、セクタ、およびクラスタに構成されたRAMで実施されてもよい。または、仮想ディスクドライブ(415)は、ファイルシステム(404)を通じて開かれたファイル内に実施され、共有ファイルシステム(414)のディスクドライブをエミュレートするようにトラック、セクタ、およびクラスタに構成されてもよい。
また、図5の方法は、共有ファイルシステム生成器(202)により、共有されるオブジェクト(416)を共有ファイルシステム(414)にインストールするステップ(418)を含む。図5の方法において、共有されるオブジェクトをインストールするステップ(418)は、オブジェクト(406)を第1のコンピュータのファイルシステム(404)から共有ファイルシステム(414)にコピーすることによって行われてもよい。共有ファイルシステム(414)が、オブジェクトがコピーされるファイルシステム(404)と異なる種類である場合には、この方法は、共有されるオブジェクトの構成を変換することを含む。
また、図5の方法は、共有されるオブジェクト(416)を、第1のコンピュータと第2のコンピュータとの間のユニバーサル・シリアル・バス(「USB」)接続を通じて共有ファイルシステム(414)から第2のコンピュータ(401)に公開するステップ(420)を含む。図5の方法において、共有されるオブジェクト(416)をUSB接続を通じて共有ファイルシステムから第2のコンピュータに公開するステップ(420)は、USB大容量記憶装置に接続するために、USBインターフェースを通じて第2のコンピュータを信号接続するステップ(422)を含む。
また、図5の方法において、共有されるオブジェクトをUSB接続を通じて共有ファイルシステムから第2のコンピュータに公開するステップ(420)は、第1のコンピュータ上のデータ通信モジュールからネットワークを通じて第2のコンピュータのデータ通信モジュールへ、共有されるオブジェクトを表す共有ファイルシステムのデータを少なくとも送信するステップ(424)を含む。これが有用なのは、第2のコンピュータ、または少なくとも第2のコンピュータ上のUSBコントローラは、第1のコンピュータ上の共有ファイルシステムを表すために、第2のコンピュータのオペレーティング・システムに対して、第2のコンピュータ上にファイルシステムを作成させることになり、それによって、USBフラッシュ・ドライブをエミュレートするからである。第2のコンピュータは、共有されたオブジェクトに対してまたはそこからデータを実際に読み出しまたは書き出してもよいし、そうしなくてもよい。しかし、第2のコンピュータのオペレーティング・システムは、典型的には、オブジェクトを、ファイル名またはディレクトリ名およびオブジェクトの他の特徴を参照してユーザとアプリケーション・プログラムとによって操作することができるようにすることになる。したがって、第2のコンピュータ上のオペレーティング・システムは、そのような情報に対するアクセス、共有ファイルシステムがMS−DOS型のファイルシステム場合にはファイル・アクセス・テーブルおよびディレクトリ・テーブルに対するアクセス、共有ファイルシステムがUnix(登録商標)型のファイルシステム場合にはiノード・データに対するアクセスなどが必要である。そのような情報は、仮想ディスクドライブ(415)の所定のトラックおよびセクタに記憶され、少なくとも共有されるオブジェクトを表す共有ファイルシステムのデータとして送信されるのが、この情報である。
また、図5の方法は、第1のコンピュータ(400)上の共有ファイルシステム(414)にインストールされる共有されるオブジェクト(416)に影響を与えるファイルシステムコマンドを第2のコンピュータ(401)上で実行するステップ(428)を含む。共有ファイルシステム(414)は、ここでは、ユーザおよび第2のコンピュータ(401)上のアプリケーション・プログラムにとって、第2のコンピュータ(401)上のファイルシステム、ディスクドライブ、1つ以上のディレクトリまたはフォルダ、1つ以上のファイルなどのように見える。したがって、共有ファイルシステムのファイルおよびディレクトリは、まるで実際に第2のコンピュータ自体に実際に記憶されたファイルおよびディレクトリのように、アプリケーション・プログラム、ユーザ、および第2のコンピュータ上のオペレーティング・システムの要素によって操作されてもよい。これらが、時には仮想ファイルシステムと呼ばれる特徴であり、第1のコンピュータ(400)上の共有ファイルシステム(414)は、ここでは、ユーザおよび第2のコンピュータ(401)上のアプリケーション・プログラムにとって、第2のコンピュータ(401)上のファイルシステムのように見える。共有されたオブジェクトを表すファイル・アクセス・テーブル、ディレクトリ・テーブル、iノード、およびその他のデータ構造は、第2のコンピュータ上のオペレーティング・システムの構成要素としてインストールされるので、共有されたファイルを開く、共有されたファイルを閉じるなどのファイルシステム動作は、共有されるオブジェクトに影響を与えない、すなわち、共有ファイルシステムにおいて共有するためにインストールされるようなオブジェクトの内容に影響を与えない。しかし、オブジェクトに対してデータを書き込むコマンドは、第1のコンピュータ上の共有ファイルシステムにインストールされるような共有されるオブジェクトに影響を与える。なぜならば、そのようなコマンドは、オブジェクトを表すまたは記述するデータ構造の内容に単に影響を与えるのではなく、オブジェクトの実際のデータ内容を変更するからである。
さらに説明するために、図6に、本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するための方法のさらなる一例を示すフロー・チャートを示す。図6の方法は、図5の方法と同様である。図6の方法は、共有されるオブジェクト(406)を識別するステップ(402)と、共有ファイルシステム(414)を作成するステップ(408)と、共有されるオブジェクト(416)を共有ファイルシステム(414)にインストールするステップ(418)と、共有されるオブジェクト(416)をUSB接続(426)を通じて第2のコンピュータに公開するステップ(420)とを含み。図6の方法のすべてのステップは、図5の方法について上述したのと同様に動作する。
しかし、図6の方法は、ユーザ(100)により、第1のコンピュータ(400)上で、第2のコンピュータと共有される少なくとも1つの追加のオブジェクト(432)を識別するステップ(430)も含む。ユーザは、識別コマンドをCLIを通じて、例えば、以下のようにタイピングすることによって、共有される追加のオブジェクトを識別してもよい。

USBshare c:\myHomeDirectory\additionalFile.doc
そのような識別コマンドは、第1のコンピュータの共有ファイルシステム生成器(202)内のUSBshareという名の機能を呼び出す。この機能は、パラメータとして、第2のコンピュータと共有される追加のファイルまたはディレクトリのパスネームを取る。この識別コマンドにおいて、共有するために識別された追加のオブジェクト(432)は、「c:\myHomeDirectory\additionalFile.doc」というパスネームのファイルである。CLIコマンドを使用する代わりに、ユーザは、図7に示すようなGUIを通じて右マウスをクリックすることでオブジェクトを選択することによって、共有される追加のオブジェクトを識別してもよい。
図6の方法において、共有ファイルシステムに以前にインストールされたオブジェクト(416)のサイズに追加された追加のオブジェクト(432)のサイズが、共有ファイルシステムのサイズを超える。すなわち、追加のオブジェクト(432)が大きすぎて(433,435)、共有ファイルシステムに現在残っている記憶空間に入らない。追加のオブジェクトは共有ファイルシステムには現在大きすぎるので、図6の方法は、また、USB接続(426)を解除するステップ(434)と、第1のコンピュータ上の共有ファイルシステムのサイズを拡大するステップ(436)と、追加のオブジェクト(440)を共有ファイルシステム(414)にインストールするステップ(438)と、第1のコンピュータと第2のコンピュータとの間のUSB接続(426)を再接続するステップ(442)とを含む。これらは上述したが、さらに詳細を以下に示す。
共有ファイルシステム(414)のサイズを変更することをサポートして、図6の方法は、共有ファイルシステム生成器(202)により、USB接続(426)を解除するステップ(434)を含む。上述のように、USBデバイスは、USB「ハブ」上のUSB「ポート」を通じてUSBホストに接続される。USBホスト、本実施例においては第2のコンピュータ(401)は、装着が検出されると、装置が装着されるハブ・ポートをイネーブルする。装置がハブ・ポートから撤去されると、ハブは、装置が装着されていたポートをディスエーブルして、ホストに対して撤去を通知する。共有ファイルシステム生成器(202)は、USBデバイス(図3の112)を第2のコンピュータに接続される際の媒介となるUSBポート(図3の234)から取り外すための命令を、データ通信エンジン(例えば、図3の208)を通じてUSB論理デバイス(図3の234)に送信することによって、USB接続(426)を解除する(434)。USBデバイスは、ハブ(図3の236)として知られる特殊なUSBデバイス上のポート(図3の234)を通じてUSBコントローラ(図3の224)に装着する。ハブは、そのポートのうちの1つにUSBデバイスが装着または撤去されたことを報告するために使用されるステータス・ビットを有する。ホスト・コントローラ(図3の224)は、これらのビットを取り出すためにハブに問い合わせる。撤去の場合には、ホストはポートをディスエーブルして、撤去をそのUSBコントローラに報告する。
また、図6の方法は、共有ファイルシステム生成器(202)により、第1のコンピュータ上の共有ファイルシステムのサイズを拡大するステップ(436)を含む。この例において、共有ファイルシステムのサイズは、RAMまたはディスク空間として仮想ディスクドライブ(415)に割り当てられたメモリ量である。したがって、共有ファイルシステムのサイズを拡大することは、より多くのメモリ、RAM、またはディスク空間を仮想ディスクドライブ(415)に割り当てることよって行われる。USBフラッシュ・ドライブのエミュレーションをサポートするために、共有ファイルシステムのサイズを拡大することは、典型的には、共有ファイルシステムの新たなサイズを標準的なUSBフラッシュ・ドライブ・サイズに設定することを含む。標準的なフラッシュ・ドライブ・サイズは、8,16,32,64,128,256,および512メガバイト、ならびに1,2,4,および8ギガバイトである。例えば、共有ファイルシステムに先にインストールされたオブジェクトの総サイズに追加された追加のオブジェクト(432)が60メガバイトである場合、共有ファイルシステムのサイズを拡大することは、共有ファイルシステムのサイズを64メガバイトに拡大することによって行われてもよい。共有ファイルシステムに先にインストールされたオブジェクトの総サイズに追加された追加のオブジェクトが600メガバイトである場合、共有ファイルシステムのサイズを拡大することは、共有ファイルシステムのサイズを1ギガバイトに拡大することによって行われてもよい、といった具合である。
また、図6の方法は、共有ファイルシステム生成器(202)により、追加されるオブジェクト(432,440)を共有ファイルシステム(414)にインストールするステップ(438)を含む。共有される追加されるオブジェクトを共有ファイルシステム(414)にインストールすること(438)は、第1のコンピュータのファイルシステム(404)から第1のコンピュータ上の共有ファイルシステム(414)へ追加のオブジェクトをコピーすることによって行われてもよく、追加のオブジェクトを備えるデータと共に、当該ファイルシステム内の追加のオブジェクト(432)を表すファイルシステム(404)のデータ構造の内容をコピーすることを含む。共有ファイルシステム(414)がファイルシステム(404)と同じ種類のファイルシステムである必要はない。共有ファイルシステム(414)が他の種類またはバージョンのファイルシステムである場合には、共有されるオブジェクトを共有ファイルシステムにインストールすることには、その構造を変換することが含まれてもよい。例えば、ファイルシステム(404)がUnix(登録商標)型のファイルシステムで、共有ファイルシステム(414)がMS−DOS型のファイルシステムである場合には、共有されるオブジェクトの構造を変換することには、オブジェクトを表すデータをUnix(登録商標)のiノードにおけるエントリからMS−DOSのファイル・アクセス・テーブルおよびディレクトリ・テーブルにおけるエントリに変換することが含まれてもよい。
また、図6の方法は、第1のコンピュータと第2のコンピュータとの間のUSB接続(426)を再接続するステップ(442)を含む。共有ファイルシステム生成器(202)は、USBデバイス(図3の112)を第2のコンピュータ(401)装着する命令をUSB論理デバイス(図3の134)に送信することによって、第1のコンピュータと第2のコンピュータとの間のUSB接続を再接続してもよい。装着が生じると、USB論理デバイス内の構成データが、第2のコンピュータ(401)内のUSBコントローラ(図3の224)に対して、共有ファイルシステム(414)の種類、バージョン、およびサイズを通知する。通知される共有ファイルシステムのサイズは、確立されたばかりに新規のサイズであり、本実施例においては、標準的なUSBフラッシュ・ドライブ・サイズである。
図7は、ファイルシステム、本実施例においてはファイルおよびディレクトリのオブジェクト内をナビゲートし、かつそれらを操作するためのファイルシステム・ツールを備えるグラフィカル・ユーザ・インターフェースの一例の線図を示す。本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するために改良されるようなそのようなツールの周知の例は、マイクロソフト社のウィンドウズ・エクスプローラ(登録商標)である。図7のファイルシステム・ツールは、ファイル、編集、表示、お気に入り、ツール、およびヘルプと称されたメニュー・アイテムを含むファイルシステムコマンドを表すメニュー・アイテムを含む水平メニュー(602)を含む。図7のファイルシステム・ツールは、戻る機能、進む機能、更新機能、および削除機能のためのアイコンを有するツールバー(604)を含む。また、ツールバー(604)は、ファイルシステムのファイルおよびディレクトリのオブジェクト内をナビゲートするのを助けるアドレス・ボックス(600)を含む。また、図7のファイルシステム・ツールは、フレキシブル・ディスク[A:]、ローカル・ディスク[C:]などのファイルシステムのリストを内部に示すテキスト・ボックス(610)を含む。図7のファイルシステム・ツールは、アドレス・ボックス(600)内に「C:\」があり、かつテキスト・ボックス(610)内の「ローカル・ディスク[C:]」が強調表示されていることによって示すように、C:ドライブであるローカル・ディスク[C:]のルート・ディレクトリをポイントするようにナビゲートされている。図7のファイルシステム・ツールは、C:ドライブのルート・ディレクトリにおけるサブディレクトリおよびファイルのリストを示すテキスト・ボックス(608)を含む。
C:ドライブのルート・ディレクトリ内のファイルのリストにおいて、「マイ・ファイル1」という名のファイル(606)は、選択されたものとして強調表示されている。マイ・ファイル1は、右マウスがクリックされており、これにより、ポップ・アップ・メニュー(607)の表示が行われ、そのエントリは、ファイルに関して典型的には有用なファイルシステムコマンドを表し、開く、印刷、切り取り、コピー、削除、名前の変更、などがある。また、ポップ・アップ・メニュー(607)は、「USB共有」という名のエントリを含む。マイ・ファイル1を選択した状態でUSB共有をマウスクリックで呼び出すことによって、共有ファイルシステム生成器に対して、マイ・ファイル1が共有されるファイルであると識別する。その後、共有ファイルシステム生成器は、第1のコンピュータ(すなわち、ファイルシステム・ツールが動作しているコンピュータ)上に、共有ファイルシステムを作成し、マイ・ファイル1のコピーを共有ファイルシステムにインストールし、共有されるマイ・ファイル1を、第1のコンピュータと第2のコンピュータとの間のUSB接続を通じて共有ファイルシステムから第2のコンピュータに公開することによって、本発明の実施形態に従ってファイルを共有する。
図8は、ファイルシステム、本実施例においてはファイルおよびディレクトリのオブジェクト内をナビゲートし、かつそれらを操作するためのファイルシステム・ツールを備える、グラフィカル・ユーザ・インターフェースのさらなる例の線図を示す。図8のファイルシステム・ツールは、上述の図7のファイルシステム・ツールと非常に類似しており、同様に、ファイルシステムコマンドの水平メニュー(602)と、ツールバー(604)と、アドレス・ボックス(600)とを有する。しかし、図8のファイルシステム・ツールは、第2のコンピュータ上にインストールされて動作しており、このコンピュータを使用して、「マイ・ファイル1」という名のファイルは、図7のファイルシステム・ツールが動作するコンピュータから、本発明の実施形態に従って共有されている。「USB共有ディスク[E:]」が強調表示されているテキスト・ボックス(611)と、「E:\」を表示するアドレス・ボックス(600)は、図8のファイルシステム・ツールが、そのE:ドライブのルート・ディレクトリをポイントするようにナビゲーとしたことを示す。テキスト・ボックス(609)は、E:ドライブのルート・ディレクトリは、「マイ・ファイル1」という名前の1つのファイル(612)を含むことを示す。本実施例において、E:ドライブは、本発明の実施形態に従って改良されたUSB大容量記憶装置を第2のコンピュータへ装着して、図8のファイルシステム・ツールが動作しているコンピュータ(「第1のコンピュータ」)と、図7のファイルシステム・ツールが動作しているコンピュータ(「第2のコンピュータ」)との間でディスクドライブ・コマンドを通信するように構成された仮想エンジンを含んだことに応じて、第2のコンピュータのオペレーティング・システムによって作成されたファイルシステムである。第2のコンピュータの観点から見ると、E:ドライブは、標準のUSBフラッシュ・ドライブのように見え、マイ・ファイル1は、USBフラッシュ・ドライブ上のディレクトリにある、第2のコンピュータのファイルシステムの標準的なオブジェクトのように見える。これで、第2のコンピュータのユーザは、あたかもマイ・ファイル1が第2のコンピュータ上にあるように、マイ・ファイル1を開く、編集する、変更を保存する、印刷する、または削除することを行ってもよい。
本発明の実施形態の例を、コンピュータ間でコンピュータ・データを共有するための完全に機能するコンピュータ・システムの場合を主として説明している。しかし、当業者は、本発明は、任意の適切なデータ処理システムと共に使用する信号を載せた媒体上に配置されたコンピュータ・プログラム製品において実施されてもよいことを理解するであろう。そのような信号を載せた媒体は、機械読み取り可能な情報用の伝送媒体または記録可能媒体であってもよく、磁気媒体、光学媒体、または他の適切な媒体であってもよい。記録可能媒体の例には、ハード・ドライブまたはディスケット内の磁気ディスク、光学ドライブ用のコンパクト・ディスク、磁気テープ、および当業者が想起するような他のものが含まれる。伝送媒体の例には、音声通信用の電話ネットワーク、ならびに、例えばイーサネット(登録商標)およびインターネット・プロトコルおよびワールド・ワイド・ウェブと通信するネットワークのようなデジタル・データ通信ネットワークが含まれる。適切なプログラミング手段を有する任意のコンピュータ・システムが、プログラム製品において実施されるような本発明の方法のステップを実行することができることを、当業者はすぐに認識するだろう。本明細書において説明した実施形態の例の中には、コンピュータ・ハードウェア上にインストールされて実行するソフトウェアに向けられているものもあるが、それにもかかわらず、ファームウェアまたはハードウェアとして実施された代替実施形態も十分に本発明の範囲内にあることを、当業者はすぐに認識するだろう。
上述の説明から、修正および変更が、本発明の真の精神から逸脱することなく本発明の様々な実施形態に対して行われてもよいことが理解されるだろう。本明細書における説明は、例示の目的だけであり、限定的な意味に解釈されるべきではない。本発明の範囲は、添付のクレームの言語によってのみ限定される。
本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するためのシステムの一例を示すネットワーク図を示す。 本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するために適用されたUSBデバイスの機能ブロック図を示す。 本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するためのシステムの機能ブロック図を示す。 本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するのに有用なある種類のコンピュータの例を備える自動計算機械のブロック図を示す。 本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するための方法の一例を示すフロー・チャートを示す。 本発明の実施形態に係るコンピュータ間でコンピュータ・データを共有するための方法のさらなる一例を示すフロー・チャートを示す。 ファイルシステムのオブジェクト内をナビゲートし、かつそれらを操作するためのファイルシステム・ツールを備えるグラフィカル・ユーザ・インターフェースの一例の線図を示す。 ファイルシステムのオブジェクト内をナビゲートし、かつそれらを操作するためのファイルシステム・ツールを備える、グラフィカル・ユーザ・インターフェースのさらなる例の線図を示す。
符号の説明
100 ユーザ
101 ユーザ
102 ネットワーク
104 ルータ
106 ルータ
108 イーサネット・ケーブル
110 RJ−45コネクタ
112 USBデバイス
114 USBコネクタ
116 USBバス・ケーブル
122 ファイル
124 ディレクトリ
222 USB接続
400 第1のコンピュータ
401 第2のコンピュータ
404 ファイルシステム
414 共有ファイルシステム

Claims (18)

  1. コンピュータ間でコンピュータ・データを共有するための方法であって、
    ユーザにより、第1のコンピュータ上のユーザ・インターフェースを通じて、第2のコンピュータを通じて共有されるファイルシステムのオブジェクトを識別するステップと、
    前記第1のコンピュータ上の共有ファイルシステム生成器により、共有ファイルシステムを生成するステップと、
    前記共有されるオブジェクトを前記共有ファイルシステムにインストールするステップと、
    前記共有されるオブジェクトを、前記第1のコンピュータと前記第2のコンピュータとの間のユニバーサル・シリアル・バス接続を通じて前記共有ファイルシステムから第2のコンピュータに公開するステップと、
    を含む、方法。
  2. 前記第1のコンピュータ上の共有ファイルシステムにインストールされる共有されるオブジェクトに影響を与えるファイルシステムコマンドを前記第2のコンピュータ上で実行するステップをさらに含む、請求項1に記載の方法。
  3. 前記共有されるファイルのために共有ファイルシステムを前記第1のコンピュータ上に生成するステップは、
    前記少なくとも1つの共有されるオブジェクトのサイズを決定するステップと、
    前記共有ファイルシステムのサイズを、前記少なくとも1つの共有されるオブジェクトのサイズよりも大きいUSBフラッシュ・ドライブのサイズに設定するステップと
    をさらに含む、請求項1に記載の方法。
  4. 前記第1のコンピュータ上の共有ファイルシステム生成器により、前記共有されるファイルのためにファイルシステムを生成するステップは、コンピュータ・メモリを前記共有ファイルシステムに割り当てるステップをさらに含み、前記コンピュータ・メモリは、前記ファイルシステムのストレージをエミュレートするように構成される、請求項1に記載の方法。
  5. 前記第1のコンピュータ上の共有ファイルシステム生成器により、前記共有されるファイルのためにファイルシステムを生成するステップは、仮想ディスクドライバを第1のコンピュータ上に提供するステップをさらに含み、前記仮想ディスクドライバは、前記第2のコンピュータのオペレーティング・システムを通じて前記第1のコンピュータ上でアクセス可能であり、前記仮想ディスクドライバは、前記ユニバーサル・シリアル・バス接続を通じて前記第2のコンピュータからもアクセス可能である、請求項1に記載の方法。
  6. ユーザにより、前記第1のコンピュータ上で、第2のコンピュータと共有される少なくとも1つの追加のオブジェクトを識別するステップであって、前記共有ファイルシステムに以前にインストールされたオブジェクトのサイズに追加された前記追加のオブジェクトのサイズが、前記共有ファイルシステムの前記サイズを超えており、
    前記共有ファイルシステムにより、前記ユニバーサル・シリアル・バス接続を解除するステップと、
    前記共有ファイルシステム生成器により、前記第1のコンピュータ上の前記共有ファイルシステムの前記サイズを拡大するステップと、
    前記共有ファイルシステム生成器により、前記追加のオブジェクトを前記共有ファイルシステムにインストールするステップと、
    前記ユニバーサル・シリアル・バス接続を再接続するステップと、
    をさらに含む、請求項1に記載の方法。
  7. コンピュータ間でコンピュータ・データを共有するための装置であって、前記装置は、コンピュータ・プロセッサと、前記コンピュータ・プロセッサに動作するように結合されるコンピュータ・メモリとを備え、前記コンピュータ・メモリは、
    ユーザにより、第1のコンピュータ上のユーザ・インターフェースを通じて、第2のコンピュータを通じて共有されるファイルシステムの少なくとも1つのオブジェクトを識別するステップと、
    前記第1のコンピュータ上の共有ファイルシステム生成器により、共有ファイルシステムを生成するステップと、
    前記共有ファイルシステム生成器により、前記共有されるオブジェクトを前記共有ファイルシステムにインストールするステップと、
    前記共有されるオブジェクトを、前記第1のコンピュータと前記第2のコンピュータとの間のユニバーサル・シリアル・バス接続を通じて前記共有ファイルシステムから第2のコンピュータに公開するステップと、
    を実行させるコンピュータ・プログラムを含む、装置。
  8. 前記第1のコンピュータ上の前記共有ファイルシステムにインストールされる前記共有されるオブジェクトに影響を与えるファイルシステムコマンドを前記第2のコンピュータ上で実行するステップをさらに前記コンピュータ・プログラムが実行させる、請求項7に記載の装置。
  9. 前記共有されるファイルのために共有ファイルシステムを前記第1のコンピュータ上に生成するステップは、
    前記少なくとも1つの共有されるオブジェクトのサイズを決定するステップと、
    前記共有ファイルシステムのサイズを、前記少なくとも1つの共有されるオブジェクトのサイズよりも大きいUSBフラッシュ・ドライブのサイズに設定するステップと、
    をさらに前記コンピュータ・プログラムが実行させる、請求項7に記載の装置。
  10. 前記第1のコンピュータ上の共有ファイルシステム生成器により、前記共有されるファイルのためにファイルシステムを生成するステップは、コンピュータ・メモリを前記共有ファイルシステムに割り当てるステップをさらに含み、前記コンピュータ・メモリは、前記ファイルシステムのストレージをエミュレートするように構成される、請求項7に記載の装置。
  11. 前記第1のコンピュータ上の共有ファイルシステム生成器により、前記共有されるファイルのためにファイルシステムを生成するステップは、仮想ディスクドライバを第1のコンピュータ上に提供するステップをさらに含み、前記仮想ディスクドライバは、前記第2のコンピュータのオペレーティング・システムを通じて前記第1のコンピュータ上でアクセス可能であり、前記仮想ディスクドライバは、前記ユニバーサル・シリアル・バス接続を通じて前記第2のコンピュータからもアクセス可能である、請求項7に記載の装置。
  12. ユーザにより、前記第1のコンピュータ上で、第2のコンピュータと共有される少なくとも1つの追加のオブジェクトを識別するステップであって、前記共有ファイルシステムに以前にインストールされたオブジェクトのサイズに追加された前記追加のオブジェクトのサイズが、前記共有ファイルシステムの前記サイズを超えており、
    前記共有ファイルシステムにより、前記ユニバーサル・シリアル・バス接続を解除するステップと、
    前記共有ファイルシステム生成器により、前記第1のコンピュータ上の前記共有ファイルシステムの前記サイズを拡大するステップと、
    前記共有ファイルシステム生成器により、前記追加のオブジェクトを前記共有ファイルシステムにインストールするステップと、
    前記ユニバーサル・シリアル・バス接続を再接続するステップと、
    をさらに前記コンピュータ・プログラムが実行させる、請求項7に記載の装置。
  13. コンピュータ間でコンピュータ・データを共有するためのコンピュータ・プログラムであって、
    ユーザにより、第1のコンピュータ上のユーザ・インターフェースを通じて、第2のコンピュータを通じて共有されるファイルシステムの少なくとも1つのオブジェクトを識別するステップと、
    前記第1のコンピュータ上の共有ファイルシステム生成器により、共有ファイルシステムを生成するステップと、
    前記共有ファイルシステム生成器により、前記共有されるオブジェクトを前記共有ファイルシステムにインストールするステップと、
    前記共有されるオブジェクトを、前記第1のコンピュータと前記第2のコンピュータとの間のユニバーサル・シリアル・バス接続を通じて前記共有ファイルシステムから第2のコンピュータに公開するステップと、
    を実行させる、コンピュータ・プログラム。
  14. 前記第1のコンピュータ上の前記共有ファイルシステムにインストールされる前記共有されるオブジェクトに影響を与えるファイルシステムコマンドを前記第2のコンピュータ上で実行するステップをさらに実行させる、請求項13に記載のコンピュータ・プログラム。
  15. 前記共有されるファイルのために共有ファイルシステムを前記第1のコンピュータ上に生成するステップは、
    前記少なくとも1つの共有されるオブジェクトのサイズを決定するステップと、
    前記共有ファイルシステムのサイズを、前記少なくとも1つの共有されるオブジェクトのサイズよりも大きいUSBフラッシュ・ドライブのサイズに設定するステップと、
    をさらに含む、請求項13に記載のコンピュータ・プログラム。
  16. 前記第1のコンピュータ上の共有ファイルシステム生成器により、前記共有されるファイルのためにファイルシステムを生成するステップは、コンピュータ・メモリを前記共有ファイルシステムに割り当てるステップをさらに含み、前記コンピュータ・メモリは、前記ファイルシステムのストレージをエミュレートするように構成される、請求項13に記載のコンピュータ・プログラム。
  17. 前記第1のコンピュータ上の共有ファイルシステム生成器により、前記共有されるファイルのためにファイルシステムを生成するステップは、仮想ディスクドライバを第1のコンピュータ上に提供するステップをさらに含み、前記仮想ディスクドライバは、前記第2のコンピュータのオペレーティング・システムを通じて前記第1のコンピュータ上でアクセス可能であり、前記仮想ディスクドライバは、前記ユニバーサル・シリアル・バス接続を通じて前記第2のコンピュータからもアクセス可能である、請求項13に記載のコンピュータ・プログラム。
  18. ユーザにより、前記第1のコンピュータ上で、第2のコンピュータと共有される少なくとも1つの追加のオブジェクトを識別するステップであって、前記共有ファイルシステムに以前にインストールされたオブジェクトのサイズに追加された前記追加のオブジェクトのサイズが、前記共有ファイルシステムの前記サイズを超えており、
    前記共有ファイルシステムにより、前記ユニバーサル・シリアル・バス接続を解除するステップと、
    前記共有ファイルシステム生成器により、前記第1のコンピュータ上の前記共有ファイルシステムの前記サイズを拡大するステップと、
    前記共有ファイルシステム生成器により、前記追加のオブジェクトを前記共有ファイルシステムにインストールするステップと、
    前記ユニバーサル・シリアル・バス接続を再接続するステップと
    をさらに実行させる、請求項13に記載のコンピュータ・プログラム。
JP2006303846A 2005-12-19 2006-11-09 コンピュータ間でコンピュータ・データを共有するための方法、装置、およびコンピュータ・プログラム Pending JP2007172586A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/312,961 US8868628B2 (en) 2005-12-19 2005-12-19 Sharing computer data among computers

Publications (1)

Publication Number Publication Date
JP2007172586A true JP2007172586A (ja) 2007-07-05

Family

ID=38184656

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006303846A Pending JP2007172586A (ja) 2005-12-19 2006-11-09 コンピュータ間でコンピュータ・データを共有するための方法、装置、およびコンピュータ・プログラム

Country Status (4)

Country Link
US (1) US8868628B2 (ja)
JP (1) JP2007172586A (ja)
CN (1) CN100478952C (ja)
TW (1) TW200810478A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009246906A (ja) * 2008-03-31 2009-10-22 Olympus Imaging Corp デジタルカメラ
JP2016517070A (ja) * 2013-03-15 2016-06-09 アメリカン メガトレンズ インコーポレイテッド ウェブベースの仮想媒体リダイレクトのシステムおよび方法

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7925681B2 (en) * 2006-04-28 2011-04-12 Microsoft Corporation Bypass of the namespace hierarchy to open files
US20080126980A1 (en) * 2006-11-29 2008-05-29 Sap Ag Central display floor plan for displaying a plurality of data objects
WO2008106269A1 (en) * 2007-02-28 2008-09-04 Ty Joseph Caswell Personal information communication device and method
US20090088088A1 (en) * 2007-02-28 2009-04-02 Crick Information Technologies Personal Information Communication Device and Method
US20080222312A1 (en) * 2007-03-09 2008-09-11 Westell Technologies, Inc. Apparatus and method for optimizing use of a modem jack
JP2009134601A (ja) * 2007-11-30 2009-06-18 Fujitsu Ltd ディスクアクセス方式切替装置
US20090222804A1 (en) * 2008-02-29 2009-09-03 Illinois Tool Works, Inc. Embedded firmware updating system and method
US20090327904A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Presenting dynamic folders
US8473941B2 (en) * 2008-07-08 2013-06-25 Sandisk Il Ltd. Dynamic file system restriction for portable storage devices
US8737264B2 (en) * 2008-09-02 2014-05-27 Koninklijke Philips N.V. Proxy mechanism for mesh-type networks
US8516079B2 (en) * 2008-09-25 2013-08-20 Aten International Co., Ltd. Remote desktop control system using USB interface and method thereof
US8521926B2 (en) * 2008-09-25 2013-08-27 Aten International Co., Ltd. Remote desktop control system using USB interface and method thereof
FR2936628B1 (fr) * 2008-09-26 2011-04-01 Vincent Garnier Plate-forme de reseau informatique
US8983938B1 (en) * 2009-02-06 2015-03-17 Hewlett-Packard Development Company, L.P. Selecting a command file
US20100205154A1 (en) * 2009-02-08 2010-08-12 Gregory Beliczynski System and Method for Storing and Retrieving Deleted Files
US8914477B2 (en) * 2009-02-25 2014-12-16 Blackberry Limited System and method for using a portable electronic device as a secure virtual mass storage device over a network
US8255476B2 (en) * 2009-03-30 2012-08-28 International Business Machines Corporation Automated tape drive sharing in a heterogeneous server and application environment
US8954390B1 (en) * 2009-04-29 2015-02-10 Netapp, Inc. Method and system for replication in storage systems
US8615594B2 (en) * 2009-07-15 2013-12-24 Aten International Co., Ltd. Virtual media with folder-mount function
US9237186B2 (en) 2009-07-15 2016-01-12 Aten International Co., Ltd. Virtual media with folder-mount function and graphical user interface for mounting one or more files or folders
US9235583B2 (en) * 2009-07-15 2016-01-12 Aten International Co., Ltd. Virtual media with folder-mount function
TWI418990B (zh) * 2009-11-11 2013-12-11 Ind Tech Res Inst 資訊切換模組及相關之檔案傳送方法
US20110161428A1 (en) * 2009-12-28 2011-06-30 Ezpnp Technologies Corp. Two-way data and resources sharing method
US20110202625A1 (en) * 2010-02-18 2011-08-18 Walton Advanced Engineering Inc. Storage device, system and method for data share
CN101944107B (zh) * 2010-08-31 2012-02-08 南京赛孚科技有限公司 一种文件管理的方法
CN102479168A (zh) * 2010-11-30 2012-05-30 北京大学 一种数据处理系统和数据处理方法
TW201235858A (en) * 2011-02-18 2012-09-01 Walton Advanced Eng Inc Storage device, system and method for data sharing
TW201322003A (zh) * 2011-11-24 2013-06-01 Pantheon Co Ltd 雲端作業之檔案資料傳遞系統及其操作方法
KR101236554B1 (ko) * 2012-03-23 2013-02-22 유비시스테크놀러지 주식회사 Usb의 대용량 저장장치 기능을 이용한 범용 스트림 전송장치 및 방법
WO2014171797A1 (ko) * 2013-04-18 2014-10-23 주식회사 페이스콘 파일 보안 방법 및 이를 위한 장치
US20150188988A1 (en) * 2013-12-27 2015-07-02 Htc Corporation Electronic devices, and file sharing methods thereof
CN105183533B (zh) * 2014-05-26 2018-09-28 华为技术有限公司 一种总线虚拟化的方法、装置及系统
WO2016003454A1 (en) 2014-07-02 2016-01-07 Hewlett-Packard Development Company, L.P. Managing port connections
US20170251083A1 (en) * 2014-09-05 2017-08-31 Hewlett Packard Enterprise Development Lp Data storage over fibre channel
CN104639553B (zh) * 2015-02-13 2018-03-27 福州瑞芯微电子股份有限公司 数据交互方法、装置及系统
US9471236B1 (en) * 2015-03-24 2016-10-18 International Business Machines Corporation Security for memory module data
US9804906B1 (en) 2016-11-17 2017-10-31 Mastercard International Incorporated Systems and methods for filesystem-based computer application communication
US20180300259A1 (en) * 2017-04-12 2018-10-18 Quanta Computer Inc. Local disks erasing mechanism for pooled physical resources
CN107172082B (zh) * 2017-06-29 2020-10-23 苏州浪潮智能科技有限公司 一种文件共享方法及系统
GB2571705A (en) * 2018-02-23 2019-09-11 Universal Music Operations Ltd File serving
CN115114214A (zh) * 2021-03-18 2022-09-27 广州视源电子科技股份有限公司 多系统一体机、文件共享方法和存储介质
CN117591489A (zh) * 2024-01-16 2024-02-23 麒麟软件有限公司 基于多系统隔离的虚拟文件共享系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005267599A (ja) * 2004-03-18 2005-09-29 Hitachi Ltd ストレージエリアネットワークとネットワークアタチドストレージの混在環境でのデータの書き込み保護

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991829A (en) 1994-03-29 1999-11-23 The United States Of America As Represented By The Secretary Of The Navy Method of sensing target status in a local area network
US5752249A (en) * 1996-11-14 1998-05-12 Macon, Jr.; Charles E. System and method for instantiating a sharable, presistent parameterized collection class and real time process control system embodying the same
US6192448B1 (en) 1998-08-18 2001-02-20 International Business Machines Corporation Structure and method for disk drive sizing using a disk drive controller coupled to a computer system
KR100294889B1 (ko) * 1999-06-19 2001-07-12 윤종용 슬레이브 장치 및 데이터 공유방법
US6477624B1 (en) 1999-11-08 2002-11-05 Ondotek, Inc. Data image management via emulation of non-volatile storage device
US6636929B1 (en) 2000-04-06 2003-10-21 Hewlett-Packard Development Company, L.P. USB virtual devices
JP2002182858A (ja) 2000-12-19 2002-06-28 Nec Gumma Ltd 擬似usbフロッピー(登録商標)ディスク
US20020078161A1 (en) 2000-12-19 2002-06-20 Philips Electronics North America Corporation UPnP enabling device for heterogeneous networks of slave devices
US20020144024A1 (en) 2001-03-30 2002-10-03 Kumpf David A. Method and system for assigning peripheral devices to logical ports of a network peripheral server
US6785744B2 (en) 2001-08-08 2004-08-31 International Business Machines Corporation Mapping SCSI medium changer commands to mainframe-compatible perform library function commands
US20030079055A1 (en) 2001-10-18 2003-04-24 Inventec Corporation, Taiwan, R.O.C. Shared input/output network management system
US20030120676A1 (en) 2001-12-21 2003-06-26 Sanrise Group, Inc. Methods and apparatus for pass-through data block movement with virtual storage appliances
US20030151885A1 (en) 2002-02-13 2003-08-14 Ben Chang Control system for peripheral devices of a high-density server
US6857057B2 (en) * 2002-10-03 2005-02-15 Hewlett-Packard Development Company, L.P. Virtual storage systems and virtual storage system operational methods
US8203731B2 (en) * 2003-06-10 2012-06-19 Hewlett-Packard Development Company, L.P. Hard imaging devices, and hard imaging device file system accessing and sharing method
US7567987B2 (en) * 2003-10-24 2009-07-28 Microsoft Corporation File sharing in P2P group shared spaces
US20050091595A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Group shared spaces
US7421562B2 (en) * 2004-03-01 2008-09-02 Sybase, Inc. Database system providing methodology for extended memory support
US7689800B2 (en) * 2005-05-12 2010-03-30 Microsoft Corporation Partition bus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005267599A (ja) * 2004-03-18 2005-09-29 Hitachi Ltd ストレージエリアネットワークとネットワークアタチドストレージの混在環境でのデータの書き込み保護

Non-Patent Citations (13)

* Cited by examiner, † Cited by third party
Title
CSND199900088022; 伊藤 雅俊: 'AT互換機ユーザーのためのPC UNIX入門 第22回' Hello!PC 第5巻 第4号, 19980308, p. 224〜227, ソフトバンク株式会社 *
CSND200001201007; 'ネットワーク接続、HDD、CD-Rドライブ....USB機器使い倒し計画' PC WORK! 第6巻 第8号, 19990818, 55〜69, 株式会社毎日コミュニケーションズ *
CSND200400557008; 大池 浩一: 'コマンド超絶テクニック' Linux magazine 第5巻 第6号, 20030601, p. 52〜75, 株式会社アスキー *
CSND200401127007; 坂井 弘亮: 'BSDでMemory Diskを使う' BSD magazine 第16号, 20030628, p. 96〜105, 株式会社アスキー *
CSNG200401334015; 福田 伸彦 他: 'ONFS:一時的なネットワーク環境下ですぐに利用できる共有ファイルシステム' 情報処理学会論文誌 第44巻 第2号, 20030215, p. 353〜363, 社団法人情報処理学会 *
JPN6011060586; 福田 伸彦 他: 'ONFS:一時的なネットワーク環境下ですぐに利用できる共有ファイルシステム' 情報処理学会論文誌 第44巻 第2号, 20030215, p. 353〜363, 社団法人情報処理学会 *
JPN6011060588; 'ネットワーク接続、HDD、CD-Rドライブ....USB機器使い倒し計画' PC WORK! 第6巻 第8号, 19990818, 55〜69, 株式会社毎日コミュニケーションズ *
JPN6011060589; 坂井 弘亮: 'BSDでMemory Diskを使う' BSD magazine 第16号, 20030628, p. 96〜105, 株式会社アスキー *
JPN6013020412; 福田 伸彦 他: 'ONFS:一時的なネットワーク環境下ですぐに利用できる共有ファイルシステム' 情報処理学会論文誌 第44巻 第2号, 20030215, p. 353〜363, 社団法人情報処理学会
JPN6013020413; 'ネットワーク接続、HDD、CD-Rドライブ....USB機器使い倒し計画' PC WORK! 第6巻 第8号, 19990818, 55〜69, 株式会社毎日コミュニケーションズ
JPN6013020414; 伊藤 雅俊: 'AT互換機ユーザーのためのPC UNIX入門 第22回' Hello!PC 第5巻 第4号, 19980308, p. 224〜227, ソフトバンク株式会社
JPN6013020415; 大池 浩一: 'コマンド超絶テクニック' Linux magazine 第5巻 第6号, 20030601, p. 52〜75, 株式会社アスキー
JPN6013020416; 坂井 弘亮: 'BSDでMemory Diskを使う' BSD magazine 第16号, 20030628, p. 96〜105, 株式会社アスキー

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009246906A (ja) * 2008-03-31 2009-10-22 Olympus Imaging Corp デジタルカメラ
JP2016517070A (ja) * 2013-03-15 2016-06-09 アメリカン メガトレンズ インコーポレイテッド ウェブベースの仮想媒体リダイレクトのシステムおよび方法

Also Published As

Publication number Publication date
TW200810478A (en) 2008-02-16
US20070156710A1 (en) 2007-07-05
US8868628B2 (en) 2014-10-21
CN100478952C (zh) 2009-04-15
CN1987858A (zh) 2007-06-27

Similar Documents

Publication Publication Date Title
JP2007172586A (ja) コンピュータ間でコンピュータ・データを共有するための方法、装置、およびコンピュータ・プログラム
KR101247083B1 (ko) 세대별 파일로서 파일을 자동으로 백업하는 파일 시스템을사용하기 위한 방법 및 시스템
JP5680961B2 (ja) 物理イメージと仮想イメージの統合的な提供
TWI421692B (zh) 具有資料夾分享功能的虛擬媒體之系統及其執行方法
KR100942894B1 (ko) 물리적 기억 장치의 소프트웨어-이용 기억 장치 에뮬레이션
US9606748B2 (en) Importing pre-existing data of a prior storage solution into a storage pool for use with a new storage solution
US9235583B2 (en) Virtual media with folder-mount function
CN101650660B (zh) 从中央存储装置引导计算机系统
US9237186B2 (en) Virtual media with folder-mount function and graphical user interface for mounting one or more files or folders
JP2007334878A (ja) データを長期間アーカイブするシステムと方法
US20090019223A1 (en) Method and systems for providing remote strage via a removable memory device
JP2005085278A (ja) 統合ハードウェアデバイスを介したコンピュータ間通信のためのシステムおよび方法
US20060253673A1 (en) Apparatus and method for permitting access to storage means
US7797396B2 (en) Network attached storage (NAS) server having a plurality of automated media portals
US20110113079A1 (en) Information switch module and related file transfer method
JP5528034B2 (ja) ブレード・センタにおいてブレード・サーバを管理するための方法、装置、およびプログラム
JP2007035024A (ja) ローカルユーザ装置との接続を有するネットワーク接続ストレージ装置
CN106528226A (zh) 操作系统的安装方法及装置
US7610295B2 (en) Method and apparatus for generating persistent path identifiers
US20120005162A1 (en) Managing Copies of Data Structures in File Systems
US20080126772A1 (en) System and Method for Abstracting Computer Disk Image Cloning Capabilities from Bootable Media
TWI497414B (zh) 檔案執行方法及系統
CN107861761A (zh) 一种物理主机的启动方法及系统
US7299344B2 (en) Setup support system, physical access driver, and setup support method
KR101024395B1 (ko) 하드웨어 드라이버 파일과 운영 시스템을 분리 저장하는 컴퓨터

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120130

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20120130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121101

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20121108

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20130118

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20131022