説明

プラットフォームによらないデータファイル転送のためのシステムおよび方法

データファイルをデータベースへと接続されたファイルシステムへと保存し、データファイルを該ファイルシステムから読み出すためのシステムおよび方法。一態様においては、クライアントシステムとサーバシステムとの間でデータファイルを転送するための方法が提供される。クライアントが、第1のコンピュータ・オペレーティング・システムを実行する。サーバが、第2のコンピュータ・オペレーティング・システムを実行し、ファイルシステムを含んでおり、データベースに接続されている。本方法は、データファイルの保存の要求をデータベースによって受信するステップを含んでおり、この要求は、クライアントに組み合わせられたソフトウェアアプリケーションによってデータベースへと送信される。さらに本方法は、クライアントからデータファイルを受信するステップ、データファイルをサーバのファイルシステム内のディレクトリに保存するステップ、ディレクトリへのパスをデータベースに保存するステップ、ならびに成功コードおよび失敗コードのうちの一方をクライアントへと出力するステップを含んでいる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、広くには、データファイルの転送のためのシステムおよび方法に関し、さらに詳しくは、クライアント−サーバネットワークにおいてプラットフォームによらないデータファイルの転送を実行するためのシステムおよび方法に関する。
【背景技術】
【0002】
クライアント−サーバネットワークの動作において、クライアントおよび/またはサーバなどといったネットワークノードの間でデータファイルを転送することが、しばしば所望される。少なくともそのようなネットワークの一部においては、データベースまたはデータベースを有するサーバが、特定のレコードについてのデータベーステーブルに、データファイルの全体を保存することができる。例えば、データベースは、各々のレコードについて、レコード識別子と識別されたレコードに組み合わせられたデータファイルとを保持するテーブルを含むことができる。しかしながら、レコードの数が増すにつれて、データベースのサイズが、追加のデータファイルゆえに急激に増加する。これは、データベースにおけるクエリーの処理の速度ならびにデータベースへの新規レコードの追加の速度に、大きく影響する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
さらに、少なくともいくつかのデータベースは、画像、音声、および/または他のマルチメディアオブジェクトなど、バイナリデータのデータファイル全体を、バイナリ・ラージ・オブジェクト(BLOB)として保存することができる。例えば、データベースが、各々のレコードについて、レコード識別子と識別されたレコードに組み合わせられたBLOBとを保持するテーブルを含むことができる。そのようなデータベースは、上述した同じ性能の問題の影響を受けやすい。したがって、データベースへのデータファイルの転送およびデータベースからのデータファイルの転送を、データファイルを転送するオペレーティングシステムにかかわらずに可能にするシステムが、必要とされている。
【課題を解決するための手段】
【0004】
一態様においては、クライアントシステムとサーバシステムとの間でデータファイルを転送するための方法が提供される。クライアントが、第1のコンピュータ・オペレーティング・システムを実行する。サーバが、第2のコンピュータ・オペレーティング・システムを実行し、ファイルシステムを含んでおり、データベースに接続されている。本方法は、データファイルの保存の要求をデータベースによって受信するステップを含んでおり、この要求は、クライアントに組み合わせられたソフトウェアアプリケーションによってデータベースへと送信される。さらに本方法は、クライアントからデータファイルを受信するステップと、データファイルをサーバのファイルシステム内のディレクトリに保存するステップと、ディレクトリへのパスをデータベースに保存するステップと、成功コードおよび失敗コードのうちの一方をクライアントへと出力するステップと、を含んでいる。
【0005】
別の態様においては、プラットフォームによらないデータファイルの転送を実行するためのネットワーク基盤のシステムが提供される。本システムは、第1のクライアントおよび第2のクライアントを含む複数のクライアントシステムを含んでおり、第1のクライアントが、第1のコンピュータ・オペレーティング・システムを実行し、第1のプログラミング言語で記述されたソフトウェアアプリケーションに組み合わせられており、第2のクライアントが、第2のコンピュータ・オペレーティング・システムを実行し、第2のプログラミング言語で記述されたソフトウェアアプリケーションに組み合わせられている。さらに本システムは、ファイルシステムおよびデータベースを備えているサーバシステムを備えており、サーバは、第3のコンピュータ・オペレーティング・システムを実行する。サーバは、前記クライアントへと接続されるように構成されており、第1のクライアントからデータファイルの保存の要求を受信し、第1のクライアントからデータファイルを受信し、データファイルをサーバのファイルシステム内のディレクトリに保存し、ディレクトリへのパスをデータベースに保存し、成功コードおよび失敗コードのうちの一方を第1のクライアントへと出力するようにさらに構成されている。
【0006】
別の態様においては、プラットフォームによらないデータファイルの転送を実行するために、データベースへと接続されたコンピュータが提供される。本コンピュータは、ファイルシステムを備えており、第1のコンピュータ・オペレーティング・システムを実行するクライアントと通信し、本コンピュータは、第2のコンピュータ・オペレーティング・システムを実行する。本コンピュータは、クライアントからデータファイルの保存の要求を受信し、クライアントからデータファイルを受信し、データファイルをファイルシステム内のディレクトリに保存し、ディレクトリへのパスをデータベースに保存し、成功コードおよび失敗コードのうちの一方をクライアントへと出力するようにプログラムされている。
【0007】
さらに別の態様においては、クライアントシステムとサーバシステムとの間でプラットフォームによらないデータファイルの転送を実行するために、コンピュータにとって読み取り可能な媒体上に具現化されたコンピュータプログラムが提供される。サーバシステムが、ファイルシステムを含んでおり、データベースに接続されている。クライアントが、第1のコンピュータ・オペレーティング・システムを実行し、サーバが、第2のコンピュータ・オペレーティング・システムを実行する。本プログラムは、クライアントに組み合わせられたソフトウェアアプリケーションによって送信される要求であって、データファイルの保存の要求を受信し、クライアントからデータファイルを受信し、データファイルをサーバのファイルシステム内のディレクトリに保存し、ディレクトリへのパスをデータベースに保存し、成功コードおよび失敗コードのうちの一方をクライアントへと出力する少なくとも1つのコードセグメントを含んでいる。
【図面の簡単な説明】
【0008】
【図1】本発明の一実施形態によるシステムのアーキテクチャの典型的な実施形態の概略のブロック図である。
【図2】本発明の一実施形態によるシステムのアーキテクチャの典型的な実施形態の広範なブロック図である。
【図3】図2に示したシステムによって利用される典型的な方法を説明するフロー図である。
【発明を実施するための形態】
【0009】
本明細書において使用されるとき、プロセッサは、システムおよびマイクロコントローラ、縮小命令セット回路(RISC)、特定用途向け集積回路(ASIC)、プログラマブル論理回路(PLC)、ならびに本明細書に記載の機能を実行することができる任意の他の回路またはプロセッサを含む任意のプログラマブルなシステムを含むことができる。上述の例は、あくまでも例示にすぎず、決して用語「プロセッサ」の定義および/または意味を限定しようとするものではない。
【0010】
本明細書において使用されるとき、データベースは、階層型データベース、リレーショナルデータベース、カード型データベース、オブジェクト関係データベース、オブジェクト指向型データベース、ならびにコンピュータシステムに保存されるレコードまたはデータの他の任意の構造化された集まりなど、あらゆるデータの集合を含むことができる。上述の例は、あくまでも例示にすぎず、決して用語「データベース」の定義および/または意味を限定しようとするものではない。データベースの例として、これらに限られるわけではないが、Oracle(登録商標)Database、MySQL、IBM(登録商標)DB2、Microsoft(登録商標)SQL Server、Sybase(登録商標)、およびPostgreSQLが挙げられる。しかしながら、本明細書に記載のシステムおよび方法を可能にする任意のデータベースを使用することが可能である(Oracleは、カリフォルニア州レッドウッドショアのOracle Corporationの登録商標であり、IBMは、ニューヨーク州アーモンクのInternational Business Machines Corporationの登録商標であり、Microsoftは、ワシントン州レドモンドのMicrosoft Corporationの登録商標であり、Sybaseは、カリフォルニア州ダブリンのSybase社の登録商標である)。
【0011】
本明細書において使用されるとき、キャラクタ・ラージ・オブジェクト(CLOB)は、データベースシステムに保存することができるテキストなどのキャラクタデータの集まりである。CLOB変数の種類は、比較的大量のデータを含むことができる。例えば、CLOBは、最大約2ギガバイト(GB)のデータを含むことができる。
【0012】
データベースを使用してクライアント−サーバネットワークにおけるプラットフォームによらないデータファイルの転送の実行を促進するシステムおよび方法の典型的な実施形態が、本明細書において詳しく説明される。このシステムおよび方法は、例えば、データベースに接続されたサーバのファイルシステムへのデータファイルの保存、およびデータベースへのデータファイルのパスの保存を促進する。さらに、このシステムおよび方法は、最初にデータファイルについてファイルシステムにおけるパスをデータベースに照会し、次いで回答されたパスに従ってファイルシステムからデータファイルを読み出すことによって、ファイルシステムからのデータファイルの読み出しを促進する。結果として、本明細書に記載のシステムおよび方法は、任意のプログラミング言語で記述されたソフトウェアアプリケーションが、データベースに接続されたサーバのファイルシステムへとデータファイルを書き込み、データベースに接続されたサーバのファイルシステムからデータファイルを読み出すことを、クライアントのオペレーティングシステムおよびサーバのオペレーティングシステムにかかわらず可能にする。
【0013】
本明細書に記載のシステムおよび方法の技術的効果は、(a)データベースへと接続され、任意のオペレーティングシステムを使用または実行しているサーバのファイルシステムに、複数のディレクトリを生成すること、(b)任意のオペレーティングシステムを使用し、任意のプログラミング言語で記述されたクライアント・ソフトウェア・アプリケーションを使用してデータファイルを送信するクライアントから、データファイルを受信すること、(c)データファイルをサーバのメモリに保存すること、(d)CLOB変数を宣言すること、(e)サーバのメモリからデータファイルの各ラインをCLOB変数へと順次に読み出すこと、(f)各ラインをCLOB変数からサーバのファイルシステムのディレクトリへとコピーすること、および(g)データベースにディレクトリのパスを保存すること、のうちの少なくとも1つを含む。本明細書に記載のシステムおよび方法のさらなる技術的効果は、(g)保存されているデータファイルの読み出しの要求をクライアントから受信すること、(h)CLOB変数を宣言すること、(i)ディレクトリからデータファイルの各ラインをCLOB変数へと順次に読み出すこと、(j)各ラインをCLOB変数からサーバのメモリへとコピーすること、および(k)データファイルをクライアントへと送信すること、のうちの少なくとも1つを含む。
【0014】
一実施形態においては、コンピュータプログラムが提供される。コンピュータプログラムは、コンピュータにとって読み取り可能な媒体上に具現化され、任意のオペレーティングシステムを使用または実行しているクライアントシステムなどのエンドユーザデバイスと、任意のオペレーティングシステムを使用しており、データベースと通信するように接続されているサーバシステムとの通信のために、構造化照会言語(SQL)を利用する。一実施形態においては、そのようなシステムが、支払取引ネットワークなど、企業体のイントラネットにおいて使用される。別の実施形態においては、そのようなシステムが、企業体の1つ以上のイントラネットの組み合わせにおいて使用され、インターネットにおいて使用される。
【0015】
本明細書に記載のシステムおよび方法は、本明細書に記載の具体的な実施形態に限られない。例えば、各々のシステムの構成要素および/または各々の方法の各段階を、本明細書に記載の他の構成要素および/または段階から別個独立に使用および/または実行することができる。さらには、各々の構成要素および/または段階を、他の集合パッケージおよび方法において使用および/または実行することも可能である。
【0016】
図1が、本発明の一実施形態による典型的なシステム100の概略のブロック図である。一実施形態において、システム100は、金融取引カード支払いシステムである。より具体的には、この典型的な実施形態において、システム100は、サーバシステム102と、サーバシステム102へと接続された複数のクライアントサブシステム(クライアントシステム104とも称される)とを含んでいる。一実施形態において、クライアントシステム104は、サーバシステム102がインターネットおよび/またはイントラネットなどのネットワークを介してクライアントシステム104へとアクセスできるよう、ウェブブラウザおよび/またはクライアント・ソフトウェア・アプリケーションを含んでいるコンピュータである。クライアントシステム104は、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、ダイアルイン接続、ケーブルモデム、無線モデム、および/または超高速ISDN回線などのネットワークを含む多数のインターフェイスによってインターネットへと相互接続される。クライアントシステム104は、ウェブベースの電話機、携帯情報端末(PDA)、または他のウェブベースの接続可能機器など、インターネットへの相互接続が可能な任意の装置であってよい。データベースサーバ106が、金融取引カード支払いデータなどといった種々の事柄についての情報を含んでいるデータベース108へと接続されている。一実施形態においては、集中型のデータベース108が、サーバシステム102に保存されており、クライアントシステム104のうちの1つに位置する潜在的なユーザが、クライアントシステム104のうちの1つによってサーバシステム102へとログオンすることによって、集中型のデータベース108にアクセスすることができる。別の実施形態においては、データベース108が、サーバシステム102から離れた場所に保存され、集中型でなくてもよい。
【0017】
図2が、本発明の一実施形態によるシステム200のサーバアーキテクチャの典型的な実施形態の広範なブロック図である。システム200の構成要素のうち、システム100(図1に示されている)の構成要素と同一の構成要素は、図2において、図1において使用した参照番号と同じ参照番号を使用して特定されている。システム200は、サーバシステム102およびクライアントシステム104を含んでいる。サーバシステム102は、データベースサーバ106、アプリケーションサーバ202、ウェブサーバ204、faxサーバ206、ディレクトリサーバ208、およびメールサーバ210をさらに含んでいる。ディスク・ストレージ・ユニット212が、データベースサーバ106およびディレクトリサーバ208へと接続されている。ディスク・ストレージ・ユニット212の例として、これらに限られるわけではないが、ネットワーク接続ストレージ(NAS)装置およびストレージ・エリア・ネットワーク(SAN)装置が挙げられる。データベースサーバ106は、データベース108へも接続されている。サーバ106、202、204、206、208、および210は、ローカル・エリア・ネットワーク(LAN)214に接続されている。さらに、システム管理者ワークステーション216、ユーザワークステーション218、および監督者ワークステーション220が、LAN214へと接続されている。代案として、ワークステーション216、218、および220は、インターネットリンクを使用してLAN214へと接続され、あるいはイントラネットを介して接続される。
【0018】
クライアントシステム104ならびにワークステーション216、218、および220の各々は、ウェブブラウザおよび/またはクライアントアプリケーションを有しているパーソナルコンピュータである。クライアントシステム104ならびにワークステーション216、218、および220において実行される機能が、典型的に、それぞれのクライアントシステム104ならびに/あるいはワークステーション216、218、および220において実行されるものとして説明されるが、代わりに、そのような機能を、LAN214へと接続された多数のパーソナルコンピュータのうちの1つにおいて実行してもよい。クライアントシステム104ならびにワークステーション216、218、および220が、単にLAN214へのアクセスを有する個人によって実行することができるさまざまな種類の機能の理解を容易にするためだけの目的で、別々の機能に組み合わせられているものとして説明される。
【0019】
サーバシステム102が、ISPインターネット接続222を用いたサーバシステム102へのアクセスを可能にするために、クライアントシステム104ならびにワークステーション216、218、および220へと通信可能に接続されるように構成されている。典型的な実施形態においては、通信がインターネットを使用して実行されるものとして説明されるが、他の実施形態においては、任意の他のワイド・エリア・ネットワーク(WAN)型の通信を利用することができ、すなわちシステムおよびプロセスは、インターネットを用いての実行には限られない。さらに、WAN224よりもむしろ、ローカル・エリア・ネットワーク214をWAN224の代わりに使用することができる。さらに、faxサーバ206は、電話回線を使用して遠方に位置するクライアントシステム104ならびにワークステーション216、218、および220と通信する。
【0020】
典型的な実施形態において、クライアントシステム104は、複数のコンピュータ・オペレーティング・システムのいずれかを使用または実行することができる。考えられるコンピュータ・オペレーティング・システムの例として、これらに限られるわけではないが、Microsoft(登録商標)Windows、Mac OS X(登録商標)、ならびにCanonical Ltd. Ubuntu(登録商標)、Novell(登録商標)SUSE Linux、およびDebian(登録商標)などのLinuxディストリビューションが挙げられる(Microsoftは、ワシントン州レドモンドのMicrosoft Corporationの登録商標であり、Mac OS Xは、カリフォルニア州クパティーノのApple, Inc.の登録商標であり、Canonical Ltd. Ubuntuは、マン島のCanonical Ltd.の登録商標であり、Novellは、マサチューセッツ州ウォルサムのNovell, Inc.の登録商標であり、Debianは、インディアナ州インディアナポリスのSoftware in the Public Interest, Inc.の登録商標である)。しかしながら、クライアントシステム104を本明細書に記載のとおりに機能させることができる任意のコンピュータ・オペレーティング・システムを使用することが可能である。各々のクライアントシステム104が、クライアントアプリケーションを使用してサーバシステム102とやり取りし、さらには/あるいはデータベースサーバ106を介してデータベース108にアクセスする。典型的な実施形態においては、クライアント・ソフトウェア・アプリケーションを、複数のプログラミング言語のいずれかで記述することができる。考えられるプログラミング言語の例として、これらに限られるわけではないが、C#、C++、Java、および/またはPerlが挙げられる。しかしながら、クライアントシステム104によって使用されるソフトウェアアプリケーションを本明細書に記載のとおりに機能させることができる任意のプログラミング言語を使用することができる。
【0021】
さらに、典型的な実施形態において、データベースサーバ106が、複数のコンピュータ・オペレーティング・システムのいずれかを使用または実行することができる。考えられるコンピュータ・オペレーティング・システムの例として、これらに限られるわけではないが、Microsoft(登録商標)Windows Server 2003、FreeBSD(登録商標)、UNIX(登録商標)、および上述したようなLinuxディストリビューションが挙げられる(Microsoftは、ワシントン州レドモンドのMicrosoft Corporationの登録商標であり、FreeBSDは、コロラド州ボルダーのThe FreeBSD Foundationの登録商標であり、UNIXは、カリフォルニア州サンフランシスコのThe Open Groupの登録商標である)。しかしながら、データベースサーバ106を本明細書に記載のとおりに機能させることができる任意のコンピュータ・オペレーティング・システムを使用することが可能である。さらに、例えばディレクトリサーバ208など、データベース108へと通信可能に接続される任意のサーバが、上述の複数のコンピュータ・オペレーティング・システムのいずれかを使用でき、あるいは実行することができる。
【0022】
図3が、システム200(図2に示されている)によって利用される典型的な方法300を説明するフロー図である。典型的な実施形態において、システム200においてデータファイルを転送するために、複数のディレクトリを生成しなければならない(302)。各々のディレクトリが、データベースサーバ106(図2に示されている)など、データベース108(図2に示されている)に接続されたサーバのファイルシステムに生成される。別の実施形態においては、ディレクトリを、データベース108によってアクセスすることができるファイルシステムを有しているサーバシステム102(図2に示されている)内の任意のサーバ上に生成することができる。複数のディレクトリ種類およびディレクトリ名も、データベース108において生成される。一実施形態においては、SQLコマンドが、データベース108に対して、ディレクトリ種類を生成して、ディレクトリ名をディレクトリ種類に組み合わせるように指示するために使用される。
【0023】
ディレクトリがファイルシステムにおいて生成され、データベース108内のディレクトリ種類に組み合わせられた後で、クライアントシステム104(図2に示されている)が、クライアントアプリケーションを介して、データファイルの保存または読み出しを要求することができる。データベースサーバ106が、要求を受信(304)し、要求が保存の要求であるか、あるいは読み出しの要求であるかを判断する。
【0024】
典型的な実施形態においては、要求が保存の要求である場合に、データベースサーバ106が、クライアントシステム104からデータファイルおよびディレクトリを受信する(306)。別の実施形態においては、ディレクトリがクライアントシステム104から受信されない場合に、データベースサーバ106が、デフォルトディレクトリを選択する。次いで、データベース108が、データファイルをデータベースサーバ106またはディレクトリサーバ208(図2に示されている)などといったサーバのメモリ(図示されていない)に保存する(308)。サーバのメモリは、ランダム・アクセス・メモリ(RAM)モジュールおよび/またはサーバーファイルシステム内に生成されたスワップ空間を含むことができる。データベース108が、データをサーバのメモリに保存されたデータファイルから宛て先ディレクトリへとコピーするために使用されるキャラクタ・ラージ・オブジェクト(CLOB)変数を宣言する(310)。次いで、データベース108は、サーバのメモリからキャラクタの第1のラインを読み出す(312)。より具体的には、データベース108が、CLOB変数をキャラクタの第1のラインに等しく設定する。次いで、典型的な実施形態においては、データベース108が、上述のように生成されたディレクトリを開き、CLOB変数値をディレクトリに保存する(314)。あるいは、ディレクトリが未だ生成されていない場合には、データベース108が、上述のようにディレクトリを生成する(302)。次いで、データベース108は、サーバのメモリに保存されたデータファイルにキャラクタの残りのラインが存在するか否かを判断する(316)。データファイルの終わりを、エンド・オブ・ファイル(EOF)フラグなどのフラグによって表すことができる。キャラクタのラインがデータファイルに残っている場合には、データベース108が、サーバのメモリからキャラクタの次のラインを読み出すステップ(312)、CLOB変数をキャラクタの次のラインに等しく設定するステップ、およびCLOB変数値をディレクトリに保存するステップ(314)を繰り返す。次いで、データベース108は、ディレクトリのパスおよび/またはファイル名を特定のデータベーステーブルに保存する(318)。データベーステーブルは、各々のデータベースレコードについての識別子を含んでいる第1のカラム、およびデータファイルを保存したディレクトリのパスを含んでいる第2のカラムなど、データおよび/または識別子からなる複数のカラムを含んでいる。データファイルを保存したときに、データベース108は、成功コードおよび失敗コードのうちの一方をクライアントシステム104へと出力する(320)。成功コードまたは失敗コードを、聴覚信号および/またはクライアントの表示装置上の視覚信号によって、ユーザへと提示することができる。
【0025】
典型的な実施形態において、要求が読み出しの要求である場合に、データベースサーバ106が、クライアントシステム104からファイル名および/または関連のデータベースレコードを受信する(322)。データベース108が、キャラクタ・ラージ・オブジェクト(CLOB)変数を宣言(324)し、データファイルに関するサーバ・ファイル・システムのディレクトリを検索する(326)。データベース108は、要求されたデータファイルに関するデータベースレコードの識別子を使用して、テーブル(ディレクトリのパスおよび関連のレコード識別子を保存するための上述のテーブルなど)を検索することができる。データベース108は、ディレクトリ内のデータファイルを開き、データファイルの第1のラインを読み出す(328)。データベース108は、CLOB変数をデータファイルの第1のラインに等しく設定する。次いで、CLOB変数値が、サーバのメモリに保存される(330)。次いで、データベース108は、ディレクトリに保存されたデータファイルにキャラクタの残りのラインが存在するか否かを判断する(332)。データファイルの終わりを、エンド・オブ・ファイル(EOF)フラグなどのフラグによって表すことができる。キャラクタのラインがディレクトリに残っている場合には、データベース108が、ディレクトリからキャラクタの次のラインを読み出すステップ(328)、CLOB変数をキャラクタの次のラインに等しく設定するステップ、およびCLOB変数値をサーバのメモリに保存するステップ(330)を繰り返す。次いで、データファイルが、クライアントシステム104へと転送される(334)。データファイルが転送されたとき、データベース108は、成功コードおよび失敗コードの一方をクライアントシステム104へと出力する(320)。成功コードまたは失敗コードを、聴覚信号および/またはクライアントの表示装置上の視覚信号によって、ユーザへと提示することができる。あるいは、データファイルを、クライアントの表示装置を使用してクライアントシステム104のユーザへと提示することができる。
【0026】
本明細書に記載のシステムおよび方法は、データベースを含んでいるクライアント−サーバネットワークにおいて、プラットフォームによらないデータファイルの転送の実行を容易にする。さらに、このシステムおよび方法は、ソフトウェアアプリケーションを任意のプログラミング言語で記述することを可能にし、任意のコンピュータ・オペレーティング・システムを使用するクライアントによって実行することを可能にし、データファイルをデータベースに接続されたサーバのファイルシステムへと書き込み、さらには読み出すことを、サーバの使用するコンピュータ・オペレーティング・システムにかかわらず可能にする。
【0027】
本明細書に記載のシステムおよび方法は、データベースを使用したプラットフォームによらないデータファイル転送の文脈において説明されているが、これらのシステムおよび方法が、そのようなシステムおよび/または方法だけに限られるわけではないことを、理解できるであろう。同様に、例示したシステムの構成要素は、本明細書における特定の実施形態に限定されず、むしろ、そのようなシステムの構成要素を、本明細書に記載の他の構成要素から別個独立に使用することが可能である。
【0028】
本発明を、種々の具体的な実施形態に関して説明したが、本発明を、特許請求の範囲の技術的思想および技術的範囲の範囲内において、変更を加えて実行できることを、当業者であれば理解できるであろう。

【特許請求の範囲】
【請求項1】
クライアントが第1のコンピュータ・オペレーティング・システムを実行するクライアントシステムと、ファイルシステムを含んでおり、データベースに接続されており、サーバが第2のコンピュータ・オペレーティング・システムを実行するサーバシステムとの間で、データファイルを転送するための方法であって、
・前記クライアントに組み合わせられたソフトウェアアプリケーションによって送信される要求であって、データファイルの保存の要求を、前記データベースによって受信するステップと、
・前記クライアントから前記データファイルを受信するステップと、
・前記データファイルを前記サーバ・ファイル・システム内のディレクトリに保存するステップと、
・前記ディレクトリへのパスを前記データベースに保存するステップと、
・成功コードおよび失敗コードのうちの一方を前記クライアントへと出力するステップと、
を含んでいる方法。
【請求項2】
前記サーバ・ファイル・システムに複数のディレクトリを生成するステップ
をさらに含んでおり、
前記データファイルが保存されるディレクトリが、選択されたディレクトリおよびデフォルトのディレクトリのうちの一方である請求項1に記載の方法。
【請求項3】
前記データファイルを前記サーバ・ファイル・システム内のディレクトリに保存するステップが、受信したデータファイルをサーバのメモリに保存するステップを含んでいる請求項1に記載の方法。
【請求項4】
前記データファイルを前記サーバ・ファイル・システムのディレクトリに保存するステップが、キャラクタ・ラージ・オブジェクト(CLOB)変数を前記データベースによって宣言するステップをさらに含んでいる請求項3に記載の方法。
【請求項5】
前記データファイルが、複数のキャラクタラインを含んでおり、
前記データファイルを前記サーバ・ファイル・システムのディレクトリに保存するステップが、前記複数のキャラクタラインの各々のラインを、
・前記CLOB変数を各ラインに等しく設定し、
・該CLOB変数の内容を前記ディレクトリへとコピーし、
・前記データファイルがさらなるラインを含んでいるか否かを判断する
ことによって、順次に前記ディレクトリに保存するステップをさらに含んでいる請求項4に記載の方法。
【請求項6】
・クライアントへとデータファイルを送信する要求を、前記データベースによって受信するステップと、
・前記データファイルを前記サーバのメモリに保存するステップと、
・前記データファイルを前記クライアントへと送信するステップと、
をさらに含んでいる請求項1に記載の方法。
【請求項7】
前記データファイルが、複数のキャラクタラインを含んでおり、
前記データファイルを前記サーバのメモリに保存するステップが、前記複数のキャラクタラインの各々のラインを、
・前記ディレクトリに保存された前記データファイルにアクセスし、
・キャラクタ・ラージ・オブジェクト(CLOB)変数を宣言し、
・前記CLOB変数を各ラインに等しく設定し、
・該CLOB変数の内容を前記メモリへとコピーし、
・前記データファイルがさらなるラインを含んでいるか否かを判断する
ことによって、順次に前記メモリに保存するステップをさらに含んでいる請求項6に記載の方法。
【請求項8】
前記データファイルを前記サーバ・ファイル・システムのディレクトリに保存するステップが、前記データファイルを前記サーバ・ファイル・システムに保存するステップを含んでおり、
前記サーバによって実行される前記第2のコンピュータ・オペレーティング・システムが、前記クライアントによって実行される前記第1のコンピュータ・オペレーティング・システムとは異なる請求項1に記載の方法。
【請求項9】
前記クライアントが、複数のクライアントシステムのうちの第1のクライアントであり、
前記データファイルを前記クライアントへと送信するステップが、前記データファイルを前記複数のクライアントシステムのうちの第2のクライアントへと送信するステップを含んでおり、
前記第2のクライアントが、前記第1のクライアントによって実行される前記第1のコンピュータ・オペレーティング・システムとは異なる第3のコンピュータ・オペレーティング・システムを実行する請求項6に記載の方法。
【請求項10】
前記データファイルを第2のクライアントへと送信するステップが、前記第1のクライアントに組み合わせられたソフトウェアアプリケーションの言語とは異なるプログラミング言語で記述されたソフトウェアアプリケーションに組み合わせられた第2のクライアントへと前記データファイルを送信するステップを含んでいる請求項9に記載の方法。
【請求項11】
プラットフォームによらないデータファイルの転送を実行するためのネットワーク基盤のシステムであって、
・第1のクライアントおよび第2のクライアントを含んでおり、前記第1のクライアントが、第1のコンピュータ・オペレーティング・システムを実行し、第1のプログラミング言語で記述されたソフトウェアアプリケーションに組み合わせられており、前記第2のクライアントが、第2のコンピュータ・オペレーティング・システムを実行し、第2のプログラミング言語で記述されたソフトウェアアプリケーションに組み合わせられている複数のクライアントシステムと、
・ファイルシステムおよびデータベースを備えているサーバシステムと、
を備えており、
前記サーバが、第3のコンピュータ・オペレーティング・システムを実行し、前記サーバが、前記複数のクライアントへと接続されるように構成されており、
さらに前記サーバが、
・前記第1のクライアントから、データファイルの保存の要求を受信し、
・前記第1のクライアントから前記データファイルを受信し、
・前記データファイルを前記サーバ・ファイル・システム内のディレクトリに保存し、
・前記ディレクトリへのパスを前記データベースに保存し、
・成功コードおよび失敗コードのうちの一方を前記第1のクライアントへと出力する
ように構成されているシステム。
【請求項12】
前記サーバが、前記サーバ・ファイル・システムに複数のディレクトリを生成するようにさらに構成されており、
前記データファイルが保存されるディレクトリが、選択されたディレクトリおよびデフォルトのディレクトリのうちの一方である請求項11に記載のシステム。
【請求項13】
前記サーバが、
・前記データベースにおいてキャラクタ・ラージ・オブジェクト(CLOB)変数を宣言し、
・前記受信したデータファイルを前記サーバのメモリに保存し、
・前記CLOB変数を使用して前記サーバ・ファイル・システムの前記ディレクトリに前記データファイルを保存する
ようにさらに構成されている請求項11に記載のシステム。
【請求項14】
前記データファイルが、複数のキャラクタラインを含んでおり、
前記サーバが、
・前記CLOB変数を各ラインに等しく設定し、
・該CLOB変数の内容を前記ディレクトリへとコピーし、
・前記データファイルがさらなるラインを含んでいるか否かを判断する
ようにさらに構成されている請求項11に記載のシステム。
【請求項15】
前記サーバが、
・前記複数のクライアントのうちのクライアントへの前記データファイルの送信の要求を受信し、
・前記ディレクトリに保存された前記データファイルにアクセスし、
・前記データベースにおいてキャラクタ・ラージ・オブジェクト(CLOB)変数を宣言し、
・前記CLOB変数を各ラインに等しく設定し、
・該CLOB変数の内容を前記サーバのメモリへとコピーし、
・前記データファイルがさらなるラインを含んでいるか否かを判断し、
・前記データファイルを前記サーバのメモリから前記クライアントへと送信する
ようにさらに構成されている請求項11に記載のシステム。
【請求項16】
前記第1のクライアントによって実行される前記第1のコンピュータ・オペレーティング・システムが、前記第2のクライアントによって実行されるコンピュータ・オペレーティング・システムおよび前記サーバによって実行される前記第3のオペレーティングシステムの少なくとも一方とは異なる請求項11に記載のシステム。
【請求項17】
前記第1のクライアントに組み合わせられたソフトウェアアプリケーションを記述するために使用されている前記第1のプログラミング言語が、前記第2のクライアントに組み合わせられたソフトウェアアプリケーションを記述するために使用されている前記第2のプログラミング言語とは異なっている請求項11に記載のシステム。
【請求項18】
プラットフォームによらないデータファイルの転送を実行するために、データベースへと接続され、ファイルシステムを備えており、第1のコンピュータ・オペレーティング・システムを実行するクライアントと通信し、第2のコンピュータ・オペレーティング・システムを実行するコンピュータであって、
・前記クライアントから、データファイルの保存の要求を受信し、
・前記クライアントから前記データファイルを受信し、
・前記データファイルを前記ファイルシステム内のディレクトリに保存し、
・前記ディレクトリへのパスを前記データベースに保存し、
・成功コードおよび失敗コードのうちの一方を前記クライアントへと出力する
ようにプログラムされているコンピュータ。
【請求項19】
・前記データファイルを該コンピュータのメモリに保存し、
・前記データベースにおいてキャラクタ・ラージ・オブジェクト(CLOB)変数を宣言し、
・前記CLOB変数を、前記メモリに保存した前記データファイルのキャラクタの第1のラインに等しく設定し、
・前記CLOB変数の内容を前記ディレクトリにコピーし、
・前記データファイルがさらなるラインを含んでいるか否かを判断する
ようにさらにプログラムされている請求項18に記載のコンピュータ。
【請求項20】
・前記クライアントへの前記データファイルの送信の要求を受信し、
・前記ディレクトリに保存された前記データファイルにアクセスし、
・前記データベースにおいてキャラクタ・ラージ・オブジェクト(CLOB)変数を宣言し、
・前記CLOB変数を各ラインに等しく設定し、
・前記CLOB変数の内容を該コンピュータのメモリへとコピーし、
・前記データファイルがさらなるラインを含んでいるか否かを判断し、
・前記データファイルを前記メモリから前記クライアントへと送信する
ようにさらにプログラムされている請求項18に記載のコンピュータ。
【請求項21】
前記クライアントが、複数のクライアントシステムのうちの第1のクライアントであり、
前記コンピュータが、前記複数のクライアントシステムのうちの第2のクライアントへと前記データファイルを送信するように構成されており、
前記第1のクライアントが、前記コンピュータによって実行される前記第2のコンピュータ・オペレーティング・システムとは異なる前記第1のコンピュータ・オペレーティング・システムを実行し、前記第2のクライアントが、第3のオペレーティングシステムを実行する請求項20に記載のコンピュータ。
【請求項22】
クライアントが第1のコンピュータ・オペレーティング・システムを実行するクライアントシステムと、ファイルシステムを含んでおり、データベースに接続されており、サーバが第2のコンピュータ・オペレーティング・システムを実行するサーバシステムとの間で、プラットフォームによらないデータファイルの転送を実行するために、コンピュータにとって読み取り可能な媒体上に具現化されたコンピュータプログラムであって、
・前記クライアントに組み合わせられたソフトウェアアプリケーションによって送信される要求であって、データファイルの保存を要求する要求を受信し、
・前記クライアントから前記データファイルを受信し、
・前記データファイルを前記サーバ・ファイル・システム内のディレクトリに保存し、
・前記ディレクトリへのパスを前記データベースに保存し、
・成功コードおよび失敗コードのうちの一方を前記クライアントへと出力する
少なくとも1つのコードセグメントを含んでいるコンピュータプログラム。
【請求項23】
・前記データファイルを前記サーバのメモリに保存し、
・前記データベースにおいてキャラクタ・ラージ・オブジェクト(CLOB)変数を宣言し、
・前記CLOB変数を、前記サーバのメモリに保存された前記データファイルのキャラクタの第1のラインに等しく設定し、
・前記CLOB変数の内容を前記ディレクトリにコピーし、
・前記データファイルがさらなるラインを含んでいるか否かを判断する
少なくとも1つのコードセグメントをさらに含んでいる請求項22に記載のコンピュータプログラム。
【請求項24】
・前記クライアントへの前記データファイルの送信の要求を受信し、
・前記ディレクトリに保存された前記データファイルにアクセスし、
・前記データベースにおいてキャラクタ・ラージ・オブジェクト(CLOB)変数を宣言し、
・前記CLOB変数を各ラインに等しく設定し、
・前記CLOB変数の内容を前記サーバのメモリへとコピーし、
・前記データファイルがさらなるラインを含んでいるか否かを判断し、
・前記データファイルを前記サーバのメモリから前記クライアントへと送信する
少なくとも1つのコードセグメントをさらに含んでいる請求項22に記載のコンピュータプログラム。
【請求項25】
前記クライアントが、複数のクライアントシステムのうちの第1のクライアントであり、
該プログラムが、前記複数のクライアントシステムのうちの第2のクライアントへと前記データファイルを送信する少なくとも1つのコードセグメントをさらに含んでおり、
前記第1のクライアントが、前記サーバによって実行される前記第2のコンピュータ・オペレーティング・システムとは異なる前記第1のコンピュータ・オペレーティング・システムを実行し、前記第2のクライアントが、第3のオペレーティングシステムを実行する請求項22に記載のコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公表番号】特表2011−511339(P2011−511339A)
【公表日】平成23年4月7日(2011.4.7)
【国際特許分類】
【出願番号】特願2010−541469(P2010−541469)
【出願日】平成20年12月4日(2008.12.4)
【国際出願番号】PCT/US2008/085590
【国際公開番号】WO2009/085557
【国際公開日】平成21年7月9日(2009.7.9)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
2.Linux
【出願人】(500557864)マスターカード インターナシヨナル インコーポレーテツド (18)
【Fターム(参考)】