(57)【要約】  識別情報取得部７４は、記録するかまたは読み出す記録情報を識別するための識別情報を取得する。素数取得部７５は、同じ桁数の素数の中から、識別情報に応じた素数を取得する。演算部７６は、識別情報の桁ごとの値と、取得した素数から桁に応じた差分を減じて得られる差とを乗じて得られる積の総和であって、識別情報の総ての桁についての総和を演算する。パス決定部７７は、総和から、記録情報が格納されるディレクトリを示すパスを決定する。本発明は、NFS（Network  File  System）に適用できる。
2011111837.tif 000002
【特許請求の範囲】
【請求項１】
記録情報の格納先のディレクトリを管理する情報処理方法であって、
ＵＲＬのアドレス情報から前記記録情報を識別するための識別子を取得する識別子取得ステップと、
前記識別子から当該識別子を代表する複数桁の数値を算出する数値算出ステップと、
前記数値で定まる整数と前記数値の位の数字とを用いて演算された値をさらに相互に演算し、演算結果をもとに前記記録情報の格納先のディレクトリを決定する決定ステップと、
を備える情報処理方法。
【請求項２】
前記数値算出ステップでは、完全ハッシュ関数ではないハッシュ関数を用いて前記数値を算出する請求項１に記載の情報処理方法。
【請求項３】
決定ステップでは、予め用意された整数の集合から前記数値を用いて選択された異なる整数を前記数値の位の数字との演算に用いる請求項１に記載の情報処理方法。
【請求項４】
前記決定ステップにおいて決定された前記ディレクトリが存在しない場合、前記ディレクトリを生成する生成ステップをさらに含む請求項１〜３の何れか一項に記載の情報処理方法。
【請求項５】
記録情報の格納先のディレクトリを管理する情報処理装置であって、
ＵＲＬのアドレス情報から前記記録情報を識別するための識別子を取得する識別子取得部と、
前記識別子から当該識別子を代表する複数桁の数値を算出する数値算出部と、
前記数値で定まる整数と前記数値の位の数字とを用いて演算された値をさらに相互に演算し、演算結果をもとに前記記録情報の格納先のディレクトリを決定する決定部と、
を備える情報処理装置。
【請求項６】
記録情報の格納先のディレクトリを管理するプログラムであって、
ＵＲＬのアドレス情報から前記記録情報を識別するための識別子を取得する識別子取得ステップと、
前記識別子から当該識別子を代表する複数桁の数値を算出する数値算出ステップと、
前記数値で定まる整数と前記数値の位の数字とを用いて演算された値をさらに相互に演算し、演算結果をもとに前記記録情報の格納先のディレクトリを決定する決定ステップと、
をコンピュータに実行させるためのプログラム。
【請求項７】
記録情報の格納先のディレクトリを管理するプログラムを記録した記録媒体であって、
ＵＲＬのアドレス情報から前記記録情報を識別するための識別子を取得する識別子取得ステップと、
前記識別子から当該識別子を代表する複数桁の数値を算出する数値算出ステップと、
前記数値で定まる整数と前記数値の位の数字とを用いて演算された値をさらに相互に演算し、演算結果をもとに前記記録情報の格納先のディレクトリを決定する決定ステップと、
をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理方法、情報処理装置、プログラム及び記録媒体に関する。
【背景技術】
【０００２】
IETF（Internet  Engineering  Task  Force）によるRFC（Request  for  Comments）3530などで規定されている分散ファイルシステムおよびそのプロトコルであるNFS（Network  File  System）が広く使用されている。分散ファイルシステムは、単一のファイルシステムが複数のコンピュータノードに分散して存在するネットワークファイルシステムであり、NFSを用いることでネットワークに分散された記憶装置にファイルを格納したり、当該記憶装置のファイルを参照したりすることができる。ネットワークに分散された記憶装置を利用するためには、ファイルの格納場所を管理する手法が必要となる。ファイルの格納場所を管理する手法として、以下の文献が開示されている。【０００３】
特許文献１には、任意の一つのディレクトリに含まれるすべてのファイル名をフルパス付きで格納するとともにそれぞれのファイルの記憶装置内における格納位置の情報をファイル名に関連付けて格納するテーブルと、入力ファイル名がフルパス付きのときフルパス付きの入力ファイル名を用いてテーブルを検索し入力ファイル名の記憶装置内における格納位置の情報を検索する検索手段とを設けることが記載されている。この場合、ユーザ若しくはプログラムから見える入力ファイル名は、階層構造を持つ一般的なファイルシステムとまったく変わりなく、外的な多層構造を維持でき、しかも、任意の一つのディレクトリに含まれるすべてのファイル名が一つのテーブルで管理されるため、内的にフラットなファイル管理とすることができる。【０００４】
特許文献２には、ディレクトリ階層に存在するエントリの登録や削除、ＩＤ更新時に、エントリの先祖関係を管理する表を変更するエントリ管理手段と、属性条件によるエントリ検索を行うフィルタ検索手段と、エントリの先祖関係の表を利用して範囲検索を行うスコープ判定手段から構成され、ディレクトリ検索時には、フィルタ検索手段で属性条件を満たすエントリを取得し、スコープ判定手段でその中でさらに範囲条件を満たすエントリを絞り込むことが記載されている。【０００５】
特許文献３には、プロセッサ内で、インデックス生成部は、ファイル名とインデックスが一対一対応の関数を用いて、読出対象ファイルを表すファイル名から、読出対象ファイルのファイル管理情報を示すインデックスを生成し、インデックス・ファイル管理情報対応付け部は、インデックス順にファイル管理情報が並んだファイル管理情報配列から、インデックス生成部で生成されたインデックスに対応するファイル管理情報を読み出して、ファイル管理情報に指定された読出対象ファイルに関する記憶装置内の格納位置を得ることが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−７４１５４号公報
【特許文献２】特開２０００−２４２５３８号公報
【特許文献３】特開２００４−１８５２１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１乃至特許文献３に記載の発明においては、入力ファイル名がフルパス付きのときフルパス付きの入力ファイル名を用いてテーブルを検索し入力ファイル名の記憶装置内における格納位置の情報を検索するなど、テーブルやインデックスなどを記録し、これを検索しなければならず、記録容量も検索時間も必要になる。【０００８】
このような課題を解決するために、与えられた入力に対して１２８ビットのハッシュ値を出力するハッシュ関数であるMD5（Message  Digest  Algorithm  5）を用いてパスを決定することも考えられる。しかしながら、MD5の演算には、複雑な計算が必要とされるので、CPU（Central  Processing  Unit）の負荷が大きくなり、時間もかかる。また、MD5は、本来、電子署名向けに開発されたものであり、フォルダを指定するために４桁程度の値を生成させるには、オーバースペックであり、そこまで、厳密なものは不要である。【０００９】
本発明は、このような状況に鑑みてなされたものであり、テーブルやインデックスなどを必要とせず、簡単な計算で、迅速に、偏りなく記録できるパスを求めることができるようにするものである。
【課題を解決するための手段】
【００１０】
本発明の一側面の情報処理方法は、記録情報の格納先のディレクトリを管理する情報処理方法であって、ＵＲＬのアドレス情報から前記記録情報を識別するための識別子を取得する識別子取得ステップと、前記識別子から当該識別子を代表する複数桁の数値を算出する数値算出ステップと、前記数値で定まる整数と前記数値の位の数字とを用いて演算された値をさらに相互に演算し、演算結果をもとに前記記録情報の格納先のディレクトリを決定する決定ステップと、を備えて構成される。なお、ここでいう数字とは、０〜９以外にアルファベットで表記された数字（例えば１６進数のＡ〜Ｆ）を含むものである。【００１１】
ここで、前記数値算出ステップでは、完全ハッシュ関数ではないハッシュ関数を用いて前記数値を算出してもよい。また、前記決定ステップでは、予め用意された整数の集合から前記数値を用いて選択された異なる整数を前記数値の位の数字との演算に用いてもよい。また、前記決定ステップにおいて決定された前記ディレクトリが存在しない場合、前記ディレクトリを生成する生成ステップをさらに含んでもよい。【００１２】
本発明の一側面の情報処理装置は、記録情報の格納先のディレクトリを管理する情報処理装置であって、ＵＲＬのアドレス情報から前記記録情報を識別するための識別子を取得する識別子取得部と、前記識別子から当該識別子を代表する複数桁の数値を算出する数値算出部と、前記数値で定まる整数と前記数値の位の数字とを用いて演算された値をさらに相互に演算し、演算結果をもとに前記記録情報の格納先のディレクトリを決定する決定部と、を備えて構成される。【００１３】
本発明の一側面のプログラムは、記録情報の格納先のディレクトリを管理するプログラムであって、ＵＲＬのアドレス情報から前記記録情報を識別するための識別子を取得する識別子取得ステップと、前記識別子から当該識別子を代表する複数桁の数値を算出する数値算出ステップと、前記数値で定まる整数と前記数値の位の数字とを用いて演算された値をさらに相互に演算し、演算結果をもとに前記記録情報の格納先のディレクトリを決定する決定ステップと、をコンピュータに実行させるためのプログラムとして構成される。【００１４】
本発明の一側面の記録媒体は、記録情報の格納先のディレクトリを管理するプログラムを記録した記録媒体であって、ＵＲＬのアドレス情報から前記記録情報を識別するための識別子を取得する識別子取得ステップと、前記識別子から当該識別子を代表する複数桁の数値を算出する数値算出ステップと、前記数値で定まる整数と前記数値の位の数字とを用いて演算された値をさらに相互に演算し、演算結果をもとに前記記録情報の格納先のディレクトリを決定する決定ステップと、をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体として構成される。【００１５】
本発明の一側面においては、ＵＲＬのアドレス情報から記録情報を識別するための識別子が取得され、識別子から当該識別子を代表する複数桁の数値が算出され、数値の位の数字と、数値で定まる整数とを演算した値をさらに相互に演算し、演算結果をもとに記録情報の格納先のディレクトリが決定される。
【発明の効果】
【００１６】
本発明の一側面によれば、ＵＲＬのアドレス情報からディレクトリを決定することができるので、テーブルやインデックスなどを必要とせず、簡単な計算で、迅速に、偏りなく記録できるパスを求めることが可能となる。さらに、ＵＲＬから一義的にディレクトリを求めることができるとともに、識別子を代表する複数桁の数値の偏りによらず各ディレクトリに分散してファイルを格納することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施の形態の情報提供システムの構成の例を示す図である。
【図２】Webサーバ１１のハードウェアの構成例を示すブロック図である。
【図３】プログラムを実行するWebサーバ１１において実現される機能の構成の例を示すブロック図である。
【図４】パスの例を説明する図である。
【図５】サーバ群１３にファイルとして記録されるデータの例を示す図である。
【図６】ファイルの記録の処理を説明するフローチャートである。
【図７】パスの決定の処理の詳細を説明するフローチャートである。
【図８】パスの決定の処理の詳細を説明するフローチャートである。
【図９】ファイルの読み出しの処理を説明するフローチャートである。
【図１０】計算時間とディレクトリに記録されるファイルの最大数とを示す図である。
【図１１】本実施の形態によるディレクトリに記録されるファイルの数の分布を示す図である。
【図１２】従来の方式によるディレクトリに記録されるファイルの数の分布を示す図である。
【発明を実施するための形態】
【００１８】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００１９】
本発明の一側面のプログラムは、記録するかまたは読み出す記録情報を識別するための識別情報を取得する識別情報取得ステップ（例えば、図７のステップＳ３１の手続き）と、同じ桁数（例えば、３桁）の素数の中から、前記識別情報に応じた素数を取得する素数取得ステップ（例えば、図７のステップＳ３３およびステップＳ３４の手続き）と、前記識別情報の桁ごとの値と、取得した前記素数から前記桁に応じた差分（例えば、最上位からの桁数−１）を減じて得られる差とを乗じて得られる積の総和であって、前記識別情報の総ての桁についての総和を演算する演算ステップ（例えば、図７のステップＳ３８乃至ステップＳ４２の手続き）と、前記総和から、前記記録情報が格納されるディレクトリを示すパスを決定する決定ステップ（例えば、図８のステップＳ４３乃至ステップＳ４８の手続き）とを含む処理をコンピュータに行わせる。
【００２０】
決定された前記パスで示される前記ディレクトリが無い場合、前記パスで示される前記ディレクトリを生成する生成ステップ（例えば、図６のステップＳ１４の手続き）をさらに含む処理をコンピュータに行わせることができる。
【００２１】
本発明の一側面の情報処理装置は、記録するかまたは読み出す記録情報を識別するための識別情報を取得する識別情報取得手段（例えば、図３の識別情報取得部７４）と、同じ桁数（例えば、３桁）の素数の中から、前記識別情報に応じた素数を取得する素数取得手段（例えば、図３の素数取得部７５）と、前記識別情報の桁ごとの値と、取得した前記素数から前記桁に応じた差分（例えば、最上位からの桁数−１）を減じて得られる差とを乗じて得られる積の総和であって、前記識別情報の総ての桁についての総和を演算する演算手段（例えば、図３の演算部７６）と、前記総和から、前記記録情報が格納されるディレクトリを示すパスを決定する決定手段（例えば、図３のパス決定部７７）とを備える。
【００２２】
本発明の一側面の情報処理方法は、記録するかまたは読み出す記録情報を識別するための識別情報を取得する識別情報取得ステップ（例えば、図７のステップＳ３１の手続き）と、同じ桁数（例えば、３桁）の素数の中から、前記識別情報に応じた素数を取得する素数取得ステップ（例えば、図７のステップＳ３３およびステップＳ３４の手続き）と、前記識別情報の桁ごとの値と、取得した前記素数から前記桁に応じた差分（例えば、最上位からの桁数−１）を減じて得られる差とを乗じて得られる積の総和であって、前記識別情報の総ての桁についての総和を演算する演算ステップ（例えば、図７のステップＳ３８乃至ステップＳ４２の手続き）と、前記総和から、前記記録情報が格納されるディレクトリを示すパスを決定する決定ステップ（例えば、図８のステップＳ４３乃至ステップＳ４８の手続き）とを含む。
【００２３】
図１は、本発明の一実施の形態の情報提供システムの構成の例を示す図である。情報提供システムは、Webサーバ１１、ネットワーク１２、およびサーバ群１３からなり、インターネット２１を介して、クライアント２２−１乃至２２−３のそれぞれに、ウェブページのデータを提供する。
【００２４】
Webサーバ１１は、クライアント２２−１乃至２２−３からの要求に応じて、インターネット２１を介して、要求してきた相手にウェブページのデータを送信する。例えば、Webサーバ１１は、クライアント２２−１乃至２２−３に、インターネット２１を介して、商品を販売するなどの電子商取引のウェブページのデータを送信する。
【００２５】
その際、Webサーバ１１は、１つの記録領域を提供するサーバ群１３から、ネットワーク１２を介して、ファイルとして記録されている各種のデータを読み出す。また、Webサーバ１１は、ネットワーク１２を介して、サーバ群１３に各種のデータをファイルとして記録させる。
【００２６】
Webサーバ１１は、サーバ群１３にファイルを記録させる場合、または、サーバ群１３からファイルを読み出す場合、そのファイルが格納されるディレクトリを示すパスを決定する。ネットワーク１２は、いわゆる内部ネットワークであり、10  gigabit  Ethernet（登録商標）など、帯域の大きなネットワークからなる。ネットワーク１２は、Webサーバ１１とサーバ群１３とを相互に接続する。
【００２７】
サーバ群１３は、NFSサーバ１４−１乃至NFSサーバ１４−Ｎ（Ｎは、正の整数）からなる。NFSサーバ１４−１乃至NFSサーバ１４−Ｎのそれぞれのストレージの領域は、１つの記録領域としてマウントされ、１つの記録領域として記録または読み出しができるように構成されている。すなわち、Webサーバ１１は、NFSサーバ１４−１乃至NFSサーバ１４−Ｎからなるサーバ群１３の記録領域を、自己のストレージの記録領域と同様に仮想的に取り扱うことができる。
【００２８】
図２は、Webサーバ１１のハードウェアの構成例を示すブロック図である。
【００２９】
Webサーバ１１において、CPU（Central  Processing  Unit）３１，ROM（Read  Only  Memory）３２，RAM（Random  Access  Memory）３３は、バス３４により相互に接続されている。
【００３０】
バス３４には、さらに、入出力インタフェース３５が接続されている。入出力インタフェース３５には、キーボード、マウス、マイクロホンなどよりなる入力部３６、ディスプレイ、スピーカなどよりなる出力部３７、ハードディスクや不揮発性のメモリなどよりなる記憶部３８、ネットワークインタフェースなどよりなる通信部３９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア４１を駆動するドライブ４０が接続されている。
【００３１】
以上のように構成されるWebサーバ１１（コンピュータ）では、CPU３１が、例えば、記憶部３８に記憶されているプログラムを、入出力インタフェース３５及びバス３４を介して、RAM３３にロードして実行することにより、後述する一連の処理が行われる。
【００３２】
Webサーバ１１（CPU３１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact  Disc-Read  Only  Memory),DVD(Digital  Versatile  Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア４１に記録して、あるいは、ローカルエリアネットワーク、インターネット２１、ネットワーク１２、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【００３３】
そして、プログラムは、リムーバブルメディア４１をドライブ４０に装着することにより、入出力インタフェース３５を介して、記憶部３８に記憶することで、コンピュータにインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部３９で受信し、記憶部３８に記憶することで、コンピュータにインストールすることができる。その他、プログラムは、ROM３２や記憶部３８にあらかじめ記憶しておくことで、コンピュータにあらかじめインストールしておくことができる。
【００３４】
図３は、プログラムを実行するWebサーバ１１において実現される機能の構成の例を示すブロック図である。すなわち、Webサーバ１１がプログラムを実行すると、Webサーバ機能５１、ページデータ生成部５２、ページ設定部５３、およびファイル読み書き制御部５４が実現される。
【００３５】
Webサーバ機能５１は、例えば、Apache  HTTP  Serverなどの、いわゆるWebサーバプログラムを実行することにより実現され、HTTP（Hypertext  Transfer  Protocol）に規定される手順に基づいて、テキストまたは画像などの各種のオブジェクトが含まれるHTML（Hypertext  Markup  Language）方式またはXML（Extensible  Markup  Language）方式などのウェブページのデータを提供する。
【００３６】
ページデータ生成部５２は、Webサーバ機能５１によって提供される、ウェブページのデータを生成する。ページ設定部５３は、クライアント２２−１乃至２２−３のそれぞれに提供するウェブページに配置する、画像やテキストなどの各種のデータを設定する。
【００３７】
ファイル読み書き制御部５４は、ページ設定部５３からの要求に応じて、ウェブページに配置される、画像やテキストなどの各種のデータをファイルとしてネットワーク１２を介してサーバ群１３に記録させる。また、クライアント２２−１乃至２２−３のそれぞれにウェブページを提供する場合、ファイル読み書き制御部５４は、ページデータ生成部５２からの要求に応じて、ネットワーク１２を介してサーバ群１３から、ウェブページに配置される、画像やテキストなどの各種のデータを読み出す。
【００３８】
ファイル読み書き制御部５４は、ネットワーク１２を介して、サーバ群１３にファイルを記録させるか、または、サーバ群１３からファイルを読み出す場合、ファイルが記録されるディレクトリおよびファイル名を示すパスを決定する。パスに示されるディレクトリは、サーバ群１３の記録領域を、階層的な木構造によって表現する記録単位である。それぞれのディレクトリには、１または複数のファイルが格納される。
【００３９】
図４は、電子商取引のウェブページに掲載する商品に関するデータをファイルとして記録する場合のパスの例を説明する図である。商品を販売するウェブページのURL（Uniform  Resource  Locator）方式のアドレス（図中の#{shop_url}）毎に、そのウェブページに掲載される商品（図４中のitem）に関する商品情報（図４中の#{manage_numberl}_item.xml）とその商品の在庫の有無を示す在庫情報（図４中の#{manage_numberl}_inv.xml）とが、所定のディレクトリに格納される。このとき、商品情報と在庫情報を識別するための識別情報（識別子）として、商品の商品管理番号#{manage_numberl}から、商品情報と在庫情報とを格納するためのディレクトリを示すためのパス初期値Ｍが求められる。また、URL方式のアドレス情報に含まれる商品管理番号から商品情報と在庫情報とを格納するためのディレクトリを示すためのパス初期値Ｍを求めてもよい。
【００４０】
仮に、このパス初期値Ｍが、5D79・・・である場合、パス初期値Ｍの上位４桁の5D79から、パスが決定される。すなわち、商品情報と在庫情報とを格納するディレクトリとして、5Dである上位のディレクトリが決定され、5Dである上位のディレクトリの下の79である下位のディレクトリが決定されて、商品情報と在庫情報とは、5Dである上位のディレクトリの下の79である下位のディレクトリに格納される。この場合、ファイル読み書き制御部５４は、5Dである上位のディレクトリと、79である下位のディレクトリとを示すパスを決定する。なお、この場合、レイアウト情報は、別途記録される。なお、パス初期値Ｍの上位４桁を用いてパスを決定する例を説明したが、４桁より多い桁数を用いてパスを決定してもよい。
【００４１】
図５は、サーバ群１３にファイルとして記録される、電子商取引のウェブページに掲載する商品に関するデータの例を示す図である。例えば、電子商取引のウェブページに、商品説明文、商品の画像、商品の動画、商品名、商品情報、フォーム、および販売方法別説明文が配置される場合、商品説明パーツ（商品説明データ）と、サーバ群１３にファイルFとして記録される商品情報（図５中の商品情報XML（図４中の#{manage_numberl}_item.xml））とによって、ウェブページの商品説明文のデータが生成され、また、商品情報パーツ（商品情報データ）と、サーバ群１３にファイルFとして記録される商品情報（図５中の商品情報XML）および在庫情報（図５中の在庫情報XML（図４中の#{manage_numberl}_inv.xml））とによって、ウェブページの商品情報のデータが生成される。
【００４２】
なお、同様に、サーバ群１３にファイルとして記録される商品情報（商品情報XML）を用いて、ウェブページの商品の画像、商品の動画、商品名、フォーム、および販売方法別説明文のデータが生成される。さらに、サーバ群１３にファイルとして記録される商品情報（商品情報XML）を用いて、ウェブページのナビゲーションおよびフッター（図示せず）のデータが生成される。
【００４３】
図３に戻り、ファイル読み書き制御部５４は、記録制御部７１、ディレクトリ生成部７２、読み出し制御部７３、識別情報取得部７４（識別子取得部）、素数取得部７５、演算部７６（数値算出部）、パス決定部７７（決定部）、および素数表記憶部７８を含む。記録制御部７１は、分散ファイルシステムのプロトコルに基づいて、ネットワーク１２を介したサーバ群１３への、ファイルとしての各種のデータの記録を制御する。ディレクトリ生成部７２は、サーバ群１３の記録領域に、ファイルを記録しようとするディレクトリが無い場合、ディレクトリを生成する。
【００４４】
読み出し制御部７３は、分散ファイルシステムのプロトコルに基づいて、ネットワーク１２を介した、サーバ群１３からのファイルの読み出しを制御する。識別情報取得部７４は、ファイルとして記録するかまたは読み出すデータ（記録情報）を識別するための識別情報を取得する。具体的には、例えば、電子商取引のウェブページに掲載する商品に関するデータをファイルとして記録するかまたは読み出す場合、識別情報は、商品を特定する商品管理番号とされる。
【００４５】
素数取得部７５は、素数表記憶部７８に記憶されている、同じ桁数の素数の中から、取得された識別情報に応じた素数を取得する。演算部７６は、識別情報の桁ごとの値と、取得した素数から桁に応じた差分を減じて得られる差とを乗じて得られる積の総和であって、識別情報の総ての桁についての総和を演算する。演算部７６における総和の演算の詳細は後述する。
【００４６】
パス決定部７７は、演算部７６において演算された総和から、ファイルとしてのデータ（記録情報）が格納されるディレクトリを示すパスを決定する。素数表記憶部７８は、同じ桁数の素数が配置された素数表を記憶する。具体的には、例えば、素数表記憶部７８は、１０１から９９７までの１００の位の素数（３桁の素数）が配置された素数表を記憶する。素数表に配置される素数は、大きさの順や、またはランダムに並べられる。なお、素数の桁数は、３に限定されるものではなく、２，４，５，６などいずれであってもよい。さらに、素数は、配列とするか、またはポインタにより配置するようにしてもよい。
【００４７】
次に、図６乃至図９を参照して、Webサーバ１１によるファイルの記録およびファイルの読み出しの処理を説明する。
【００４８】
まず、ファイルの記録の処理について説明する。例えば、ページ設定部５３が、ファイル読み書き制御部５４に、ウェブページに配置される商品情報をファイルとしてネットワーク１２を介してサーバ群１３に記録させる旨を要求した場合に、ファイルの記録の処理が行われる。
【００４９】
図６は、ファイルの記録の処理を説明するフローチャートである。ページ設定部５３から、ウェブページに配置されるデータのファイルのサーバ群１３への記録が要求されると、そのファイルがページ設定部５３から供給されるので、ステップＳ１１において、ファイル読み書き制御部５４は、その記録するファイルを取得する。ステップＳ１２において、ファイル読み書き制御部５４は、パスの決定の処理を行う。パスの決定の処理の詳細は、図７および図８のフローチャートを参照して、後述する。
【００５０】
ステップＳ１３において、ファイル読み書き制御部５４の記録制御部７１は、決定されたパスで示されるディレクトリがサーバ群１３にあるか否かを判定する。ステップＳ１３において、決定されたパスで示されるディレクトリがサーバ群１３にないと判定された場合、手続きはステップＳ１４に進み、ディレクトリ生成部７２は、分散ファイルシステムのプロトコルに基づいて、ネットワーク１２を介して、サーバ群１３に、決定されたパスで示されるディレクトリの生成を指令することで、サーバ群１３にディレクトリを生成する。ステップＳ１４の後、手続きはステップＳ１５に進む。
【００５１】
ステップＳ１３において、決定されたパスで示されるディレクトリがサーバ群１３にあると判定された場合、ディレクトリを生成する必要はないので、ステップＳ１４の手続きはスキップされて、手続きはステップＳ１５に進む。
【００５２】
ステップＳ１５において、記録制御部７１は、決定されたパスで示されるサーバ群１３のディレクトリにファイルを記録して、ファイルの記録の処理は終了する。
【００５３】
次に、図７および図８のフローチャートを参照して、ステップＳ１２のパスの決定の処理の詳細を説明する。ステップＳ３１において、識別情報取得部７４は、識別情報の一例である商品管理番号を取得する。商品管理番号は、ファイル記録される商品情報に示される商品を特定する番号である。例えば、ステップＳ３１において、識別情報取得部７４は、ページ設定部５３から供給されるファイルから抽出することで、ＡＢＣ−００１である商品管理番号を取得する。また、例えば、ステップＳ３１において、識別情報取得部７４は、ページ設定部５３からファイル名として供給される、ＡＢＣ−００１である商品管理番号を取得する。また、例えば、ステップＳ３１において、識別情報取得部７４は、ページ設定部５３から供給されるURL方式のアドレスから抽出することで、ＡＢＣ−００１である商品管理番号を取得する。なお、識別情報取得部７４は、商品管理番号などの識別情報を、商品に関するデータを格納する商品データベース（図示せず）などのWebサーバ１１の内部または外部のデータベースから取得するようにしてもよい。
【００５４】
ステップＳ３２において、演算部７６は、取得された商品管理番号に簡単なハッシュ関数を適用する。なお、演算部７６は、簡単なハッシュ関数だけでなく、元データ（識別子）から当該元データを代表する数値（例えば複数桁の整数）を生成する関数を用いてもよい。ここで、簡単なハッシュ関数とは、単射、すなわち、正しい入力に対して異なるハッシュ値を出力する完全ハッシュ関数ではないという意味である。具体的には、例えば、ステップＳ３２において、演算部７６は、商品管理番号に、プログラミング言語であるC++のライブラリに標準で含まれているハッシュ関数を適用する。より具体的には、例えば、ステップＳ３２において、演算部７６は、ＡＢＣ−００１である商品管理番号に、簡単なハッシュ関数を適用して、４８９０１４７４６であるハッシュ値を得る。
【００５５】
ステップＳ３３において、素数取得部７５は、ステップＳ３２の手続きで得られたハッシュ値を１３３で割り算して、その余りを得る。ここでハッシュ値を割り算する除数（法）は、１４３以下であって、十分に大きい数（例えば、１００以上）とされる。１４３は、１０１から９９７までの１００の位の素数（３桁の素数）の数である。
【００５６】
例えば、ステップＳ３３において、素数取得部７５は、４８９０１４７４６であるハッシュ値を１３３で割り算して、８０である余りを得る。
【００５７】
ステップＳ３４において、素数取得部７５は、素数表記憶部７８に予め記憶されている、１００の位の素数が配置された素数表から、余りで示される位置の素数ａを取得する。具体的には、例えば、素数取得部７５は、余りが８０である場合、素数表記憶部７８から、素数表記憶部７８に８０番目に配置されている６３１である素数を素数ａとして取得する。
【００５８】
ステップＳ３５において、演算部７６は、ステップＳ３２の手続きで得られたハッシュ値を、１６進数に変換する。例えば、ステップＳ３５において、演算部７６は、４８９０１４７４６であるハッシュ値を、１６進数である１ｄ２５ｃ５ｄａに変換する。このように１６進数に変換することで、桁数を抑えて後述する演算を行うことができる。
【００５９】
ステップＳ３６において、演算部７６は、桁を指示するための変数である桁指示変数ｎに、初期値として０を設定する。ステップＳ３７において、演算部７６は、パス初期値Ｍに、ステップＳ３４の手続きで取得された素数ａを設定する。パス初期値Ｍは、素数ａおよび商品管理番号から計算される、パスを決定するための値である。例えば、ステップＳ３７において、演算部７６は、パス初期値Ｍに、６３１である素数ａを設定する。
【００６０】
ステップＳ３８において、演算部７６は、１６進数で表されるハッシュ値の最上位から（ｎ＋１）桁目の値ｂを抽出する。例えば、最初に実行されるステップＳ３８において、桁指示変数ｎは０なので、演算部７６は、１６進数で表されるハッシュ値の最上位の桁の１である値ｂを抽出する。また、例えば、繰り返しにより３回目に実行されるステップＳ３８において、桁指示変数ｎは２なので、演算部７６は、１６進数で表されるハッシュ値の最上位から３桁目の２である値ｂを抽出する。
【００６１】
ステップＳ３９において、演算部７６は、ステップＳ３８の手続きで抽出した値ｂを１０進数に変換する。ステップＳ４０において、演算部７６は、素数ａから桁指示変数ｎを減算して、その結果得られた差に１０進数の値ｂを乗算する。演算部７６は、乗算の結果得られた積をパス初期値Ｍに加算する。言い換えれば、ステップＳ４０において、演算部７６は、値ｂ×（素数ａ−桁指示変数ｎ）を計算して、その結果をパス初期値Ｍに加算する。この場合、桁に応じた差分は、桁指示変数ｎであるが、任意の整数（例えば、−３，−２，−１，２，３などのいずれか）である定数ｋを用いて、値ｂ×（素数ａ−桁指示変数ｎ×定数ｋ）とするようにしてもよい。
【００６２】
ステップＳ４１において、演算部７６は、桁指示変数ｎを１だけインクリメントする。ステップＳ４２において、演算部７６は、１６進数で表されるハッシュ値から最下位の桁が抽出されたか否かを判定し、最下位の桁が抽出されていないと判定された場合、まだ抽出すべき桁があるので、手続きはステップＳ３８に戻り、次の桁について上述した処理が繰り返される。
【００６３】
すなわち、ステップＳ３８乃至ステップＳ４０に手続きが繰り返されることにより、商品管理番号を１桁ずつ素数ａと掛け合わせ、その際、素数ａが１ずつ減じられて、その総和が求められる。
【００６４】
例えば、素数ａが６３１であり、１６進数であるハッシュ値が１ｄ２５ｃ５ｄａである場合、ステップＳ３７の手続きにおいて、パス初期値Ｍは、６３１とされ、最初に実行されるステップＳ３８乃至ステップＳ４０の手続きにおいて、素数ａと１６進数のハッシュ値の最上位の桁の１である値ｂとを用いて、１×６３１から求められた６３１がパス初期値Ｍに加算される。そして、次に実行されるステップＳ３８乃至ステップＳ４０の手続きにおいて、素数ａと１６進数のハッシュ値の最上位から２桁目のｄ、すなわち、１０進数で表すと１３である値ｂとを用いて、１３×（６３１−１）から求められた８１９０がパス初期値Ｍに加算される。
【００６５】
同様に、ステップＳ３８乃至ステップＳ４０の手続きが繰り返されることにより、素数ａと１６進数のハッシュ値の最上位から３桁目の２である値ｂとを用いて、２×（６３１−２）から求められた１２５８がパス初期値Ｍに加算され、素数ａと１６進数のハッシュ値の最上位から４桁目の５である値ｂとを用いて、５×（６３１−３）から求められた３１４０がパス初期値Ｍに加算され、素数ａと１６進数のハッシュ値の最上位から５桁目のｃ、すなわち、１０進数で表すと１２である値ｂとを用いて、１２×（６３１−４）から求められた７５２４がパス初期値Ｍに加算される。さらに、ステップＳ３８乃至ステップＳ４０の手続きが繰り返されることにより、素数ａと１６進数のハッシュ値の最上位から６桁目の５である値ｂとを用いて、５×（６３１−５）から求められた３１３０がパス初期値Ｍに加算され、素数ａと１６進数のハッシュ値の最上位から７桁目のｄ、すなわち、１０進数で表すと１３である値ｂとを用いて、１３×（６３１−６）から求められた８１２５がパス初期値Ｍに加算され、素数ａと１６進数のハッシュ値の最下位のａ、すなわち、１０進数で表すと１０である値ｂとを用いて、１０×（６３１−７）から求められた６２４０がパス初期値Ｍに加算される。
【００６６】
以上の演算により、３８８６９であるパス初期値Ｍが求められる。
【００６７】
ステップＳ４２において、最下位の桁が抽出されたと判定された場合、抽出すべき桁がなくなったので、手続きはステップＳ４３に進み、パス決定部７７は、パス初期値Ｍが４０９６以下であるか否かを判定する。ステップＳ４３において、パス初期値Ｍが４０９６以下であると判定された場合、手続きはステップＳ４４に進み、パス決定部７７は、パス初期値Ｍに５０を乗算する。ここで、パス初期値Ｍが４０９６以下である場合に、パス初期値Ｍに５０を乗算するのは、１６進数に変換した場合に、パス初期値Ｍを４桁以上にするためである。ステップＳ４４の後、手続きはステップＳ４５に進む。
【００６８】
ステップＳ４３において、パス初期値Ｍが４０９６以下でない、すなわち、パス初期値Ｍが４０９６を超えていると判定された場合、ステップＳ４４の手続きはスキップされて、手続きはステップＳ４５に進む。
【００６９】
ステップＳ４５において、パス決定部７７は、パス初期値Ｍを１６進数に変換する。例えば、ステップＳ４５において、パス決定部７７は、３８８６９であるパス初期値Ｍを、１６進数の９７Ｄ５であるパス初期値Ｍに変換する。なお、１６進数のパスを用いることで、同一桁数の１０進数に比べて大きい値を取り扱うことができるので、１０進数のパスを用いる場合に比べてファイルの格納先のディレクトリを分散させることができる。
【００７０】
ステップＳ４６において、パス決定部７７は、上位側の桁と下位側の桁とが入れ替わるように、１６進数のパス初期値Ｍを反転させる。例えば、ステップＳ４６において、パス決定部７７は、reverse関数をパス初期値Ｍに適用することにより、パス初期値Ｍを逆並びにする。具体的には、例えば、ステップＳ４６において、パス決定部７７は、９７Ｄ５であるパス初期値Ｍを反転し、５Ｄ７９とする。
【００７１】
ステップＳ４７において、パス決定部７７は、反転されたパス初期値Ｍから、上位４桁を抽出する。ステップＳ４８において、パス決定部７７は、抽出された４桁のうち上位２桁が上位のディレクトリを示し、下位２桁が下位のディレクトリを示すようにし、商品管理番号をファイル名として、パスを決定して、パスの決定の処理は終了する。
【００７２】
例えば、ステップＳ４８において、パス決定部７７は、５Ｄ７９であるパス初期値Ｍのうち、上位２桁の５Ｄが上位のディレクトリを示し、下位２桁の７９が下位のディレクトリを示すようにし、商品管理番号をファイル名として、／５Ｄ／７９／商品管理番号をパスに決定する。
【００７３】
このように、簡単な計算で、迅速に、偏りなく記録できるパスを求めることができる。また、パスが複雑でどのフォルダにファイルを格納してよいか不明であるといった状況を回避することができるとともに、後々のデータの移管等、メンテナンスが容易となる。
【００７４】
次に、ファイルの読み出しについて説明する。例えば、クライアント２２−１乃至２２−３のそれぞれからウェブページがリクエストされた場合に、そのウェブページのデータを生成するページデータ生成部５２が、ファイル読み書き制御部５４に、ネットワーク１２を介したサーバ群１３からのファイルの読み出しを要求したとき、ファイルの読み出しの処理が行われる。
【００７５】
図９は、ファイルの読み出しの処理を説明するフローチャートである。ページデータ生成部５２から、ネットワーク１２を介したサーバ群１３からのファイルの読み出しが要求されると、ページデータ生成部５２から、URL方式のアドレスやこれに応じたファイル名を示す商品管理番号などが供給されるので、ステップＳ７１において、ファイル読み書き制御部５４は、読み出すファイルのファイル名を取得する。例えば、ファイル読み書き制御部５４は、ウェブページのURL方式のアドレスに含まれる文字情報からファイル名（商品管理番号）を取得してもよい。ステップＳ７２において、ファイル読み書き制御部５４は、パスの決定の処理を行う。ステップＳ７２におけるパス決定の処理は、ステップＳ１２の処理と同様なので、その説明は省略する。
【００７６】
ステップＳ７３において、ファイル読み書き制御部５４の読み出し制御部７３は、決定されたパスで示されるサーバ群１３のディレクトリからファイルを読み出して、ファイルの読み出しの処理は終了する。
【００７７】
このように、ファイルの読み出しには、テーブルやインデックスなどが必要とされない。また、ユーザ端末等にウェブページを表示する際、表示されるURLに商品情報等が保存されている階層を表示することなく、階層構造からなるフォルダにデータを簡易に保存することができる。また、細かくパスをURLに記載する必要がないので、表示されるURLを短くすることが可能となる。さらに、URLを短くすることで、表示・認識・取り扱いが容易となる。
【００７８】
すなわち、URL自体に階層を持たない状態で、URLを用いて複数階層を実現することができる。例えば、図４に示すURL方式のアドレスでは、本実施形態に係る情報処理方法によれば（http://○○○.△△.co.jp/SHOP_URL/ITEM_URL/）と表示するだけでよく、（http://○○○.△△.co.jp/SHOP_URL/▽▽/××/ITEM_URL/）の/▽▽/××/を生成する必要がない。従来の手法であれば、/▽▽/××/を生成し、データベース等の管理ファイルで関連付けして管理する必要がある。さらに、参照する際にも、ＵＲＬ取得、ＡＰＰ処理、管理ファイル参照、問い合わせ、ディレクトリ特定、ファイル参照の順に処理を行う必要がある。これに対して、本実施形態に係る手法であれば、ＵＲＬ取得、ＡＰＰ処理、ディレクトリ特定、ファイル参照という処理でＵＲＬのアドレス情報のみでファイルにたどりつくことが可能となる。
【００７９】
ここで、図１０乃至図１２を参照して、MD5を用いた従来の方式と、本実施の形態に示される方式との比較の結果を説明する。
【００８０】
図１０は、パスの決定に要した計算時間と１つのディレクトリに記録されるファイルの最大数とを示す図である。ここに示される計算時間は、５回計算を行った計算時間の平均値である。
【００８１】
まず、３桁の英数字と７桁の数値とをハイフンで連綴してなる３００万個の商品管理番号からパスを決定する場合を比較すると、本実施の形態に示される方式では、15,025msの計算時間が必要とされ、１つのディレクトリに記録されるファイルの最大数は、７８個であったのに対して、MD5を用いた従来の方式では、39,669msの計算時間が必要とされ、１つのディレクトリに記録されるファイルの最大数は、８３個であった。また、３桁の英数字と７桁の数値とをハイフンで連綴してなる２００万個の商品管理番号からパスを決定する場合を比較すると、本実施の形態に示される方式では、9,809msの計算時間が必要とされ、１つのディレクトリに記録されるファイルの最大数は、６１個であったのに対して、MD5を用いた従来の方式では、26,542msの計算時間が必要とされ、１つのディレクトリに記録されるファイルの最大数は、５４個であった。
【００８２】
さらに、３桁の英数字と７桁の数値とをハイフンで連綴してなる１００万個の商品管理番号からパスを決定する場合を比較すると、本実施の形態に示される方式では、5,082msの計算時間が必要とされ、１つのディレクトリに記録されるファイルの最大数は、３７個であったのに対して、MD5を用いた従来の方式では、13,733msの計算時間が必要とされ、１つのディレクトリに記録されるファイルの最大数は、３４個であった。
【００８３】
さらにまた、映画関連の24,946個の商品管理番号からパスを決定する場合を比較すると、本実施の形態に示される方式では、106msの計算時間が必要とされ、１つのディレクトリに記録されるファイルの最大数は、５個であったのに対して、MD5を用いた従来の方式では、407msの計算時間が必要とされ、１つのディレクトリに記録されるファイルの最大数は、５個であった。また、1,565,419冊の書籍のISBN（International  Standard  Book  Number）を商品管理番号としてパスを決定する場合を比較すると、本実施の形態に示される方式では、7,575msの計算時間が必要とされ、１つのディレクトリに記録されるファイルの最大数は、４８個であったのに対して、MD5を用いた従来の方式では、19,601msの計算時間が必要とされ、１つのディレクトリに記録されるファイルの最大数は、４９個であった。
【００８４】
この比較において、本実施の形態に示される方式における、１件の処理時間は、0.005msであったのに対して、MD5を用いた従来の方式における、１件の処理時間は、0.013msであった。
【００８５】
ちなみに、1から3,000,000までの桁数を変えた商品管理番号からパスを決定する場合を比較すると、本実施の形態に示される方式では、１つのディレクトリに記録されるファイルの最大数は、８３個であったのに対して、MD5を用いた従来の方式では、１つのディレクトリに記録されるファイルの最大数は、７５個であった。また、0000001から3,000,000までの桁数を同じとした商品管理番号からパスを決定する場合を比較すると、本実施の形態に示される方式では、１つのディレクトリに記録されるファイルの最大数は、８６個であったのに対して、MD5を用いた従来の方式では、１つのディレクトリに記録されるファイルの最大数は、７６個であった。
【００８６】
これより、本実施の形態に示される方式によれば、MD5を用いた従来の方式に対して、迅速に、パスを求めることができることがわかる。また、桁ごとに異なる数字（素数ａ−桁指示変数ｎ）は少なくとも３桁以上が好ましく、パスは少なくとも４桁以上の数値からディレクトリを生成すると良い効果が得られることがわかる。
【００８７】
図１１は、３桁の英数字と７桁の数値とをハイフンで連綴してなる３００万個のランダムな商品管理番号から、本実施の形態に示される方式でパスを決定する場合に、ディレクトリに記録されるファイルの数の分布を示す図である。図１０を参照して説明したように、計算時間は、15,025msであり、１つのディレクトリに記録されるファイルの最大数は、７８個であった。
【００８８】
図１１に示されるように、４５個のファイルが記録されるディレクトリの数が、約３７００であり、最も多く、１つのディレクトリに記録されるファイルの数と、その数のファイルを格納するディレクトリの数との関係は、正規分布に近い分布となっている。
【００８９】
図１２は、３桁の英数字と７桁の数値とをハイフンで連綴してなる３００万個のランダムな商品管理番号から、MD5を用いた従来の方式でパスを決定する場合に、ディレクトリに記録されるファイルの数の分布を示す図である。図１０を参照して説明したように、計算時間は、39,669msであり、１つのディレクトリに記録されるファイルの最大数は、８３個であった。
【００９０】
図１１に示されるように、４４個、４５個、または４７個のファイルが記録されるディレクトリの数が、約３８００であり、最も多く、１つのディレクトリに記録されるファイルの数と、その数のファイルを格納するディレクトリの数との関係は、正規分布に近い分布となっている。
【００９１】
これより、本実施の形態に示される方式によれば、MD5を用いた従来の方式と同様に、ディレクトリに対して偏りなくファイルを記録できるパスを求めることができることがわかる。また、桁ごとに異なる数字（素数ａ−桁指示変数ｎ）は少なくとも３桁以上が好ましく、パスは少なくとも４桁以上の数値からディレクトリを生成すると良い効果が得られることがわかる。
【００９２】
なお、以上において、電子商取引のウェブページに掲載する商品に関するデータが格納されるファイルを読み書きする例を説明したが、読み書きされるデータはこれに限定されるものではなく、データの種類に限定されず、画像や音声、テキスト、数値などいずれのデータであっても良い。この場合、識別情報は、データ（記録情報）を識別できれば足り、ファイル名、データ名、記録日時、デジタルカメラなどの機器を特定する機器ID（Identification）、Macアドレス（Media  Access  Control  address）、ユーザを特定するユーザID、記録された場所を示す緯度経度や、これらを組み合わせたものとすることができる。
【００９３】
また、以上において、２階層のディレクトリを示すパスを生成したが、パスは、２階層に限らず、１階層または３階層以上とすることができる。
【００９４】
このように、本実施の形態に示される方式によれば、簡単な計算で、迅速に、偏りなく記録できるパスを求めることができる。
【００９５】
以上のように、記録するかまたは読み出す記録情報を識別するための識別情報を取得し、同じ桁数の素数の中から、識別情報に応じた素数を取得し、識別情報の桁ごとの値と、取得した素数から桁に応じた差分を減じて得られる差とを乗じて得られる積の総和であって、識別情報の総ての桁についての総和を演算し、総和から、記録情報が格納されるディレクトリを示すパスを決定するようにした場合には、テーブルやインデックスなどを必要とせず、迅速に、偏りなく記録できるパスを求めることができる。すなわち、簡単なハッシュ法により求めたハッシュ値に基づいて、そのハッシュ値の位の数字と、整数の集合からハッシュ値を用いて選択された異なる整数とを演算し、その演算結果を相互に演算処理をして求めた値をもとにディレクトリを決定することができる。さらに、ＵＲＬから一義的にディレクトリを求めることができるとともに、ハッシュ値の偏りによらず各ディレクトリに分散してファイルを格納することが可能となる。
【００９６】
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。
【００９７】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【００９８】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【００９９】
例えば、上記実施形態のステップＳ３４において、素数ａを素数表（集合）から取得しているが、他の方法で取得してもよい。例えば、不連続かつ整数の集合から取得してもよいし、予め定められた表から取得してもよい。
【０１００】
また、上記実施形態のステップＳ４４において、１６進数に変換した場合にパス初期値Ｍを４桁以上にするために、パス決定部７７がパス初期値Ｍに５０を乗算する例を説明したが、必要に応じて省略してもよい。
【０１０１】
また、上記実施形態のステップＳ３９において、桁ごとに値ｂ×（素数ａ−桁指示変数ｎ）を算出し加算する例を説明したが、値ｂに積算する値は桁ごとに異なる整数であれば何でもよく、上記のように素数ａから桁指示変数ｎを減算するのみならず加算であってもよいし、素数ａから求めなくてもよい。例えば、乱数を用いて異なる整数を求めてもよい。また、桁ごとに値ｂ異なる整数を積算する例を説明したが、加算・減算・除算であってもよい。
【符号の説明】
【０１０２】
１１  Webサーバ，  １２  ネットワーク，  １３  サーバ群，  １４−１乃至１４−Ｎ  NFSサーバ，  ３１  CPU，  ３２  ROM，  ３３  RAM，  ３８  記憶部，  ３９  通信部，  ４１  リムーバブルメディア，  ５１  Webサーバ機能，  ５２  ページデータ生成部，  ５３  ページ設定部，  ５４  ファイル読み書き制御部，  ７１  記録制御部，  ７２  ディレクトリ生成部，  ７３  読み出し制御部，  ７４  識別情報取得部，  ７５  素数取得部，  ７６  演算部，  ７７  パス決定部，  ７８  素数表記憶部。
【図１】
2011111837.tif 000003
【図２】
2011111837.tif 000004
【図３】
2011111837.tif 000005
【図４】
2011111837.tif 000006
【図５】
2011111837.tif 000007
【図６】
2011111837.tif 000008
【図７】
2011111837.tif 000009
【図８】
2011111837.tif 000010
【図９】
2011111837.tif 000011
【図１０】
2011111837.tif 000012
【図１１】
2011111837.tif 000013
【図１２】
2011111837.tif 000014
【手続補正書】
【提出日】平成24年9月25日(2012.9.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
記録情報の格納先のディレクトリを管理する情報処理方法であって、
ＵＲＬのアドレス情報から前記記録情報を識別するための識別子を取得する識別子取得ステップと、
前記識別子から当該識別子を代表する複数桁の数値を算出する数値算出ステップと、
予め用意された整数の集合から前記数値を用いて整数を選択し、選択された整数を用いて前記数値の桁ごとに異なる整数を用意し、用意された整数と前記数値の位の数字とを用いて演算された値をさらに相互に演算し、演算結果をもとに前記記録情報の格納先のディレクトリを決定する決定ステップと、
を備える情報処理方法。
【請求項２】
前記ディレクトリが、上位のディレクトリと下位のディレクトリを有し、
前記決定ステップでは、前記演算結果の上位の桁で上位のディレクトリを決定し、前記演算結果の下位の桁で下位のディレクトリを決定する請求項１に記載の情報処理方法。
【請求項３】
前記数値算出ステップでは、完全ハッシュ関数ではないハッシュ関数を用いて前記数値を算出する請求項１又は２に記載の情報処理方法。
【請求項４】
前記決定ステップにおいて決定された前記ディレクトリが存在しない場合、前記ディレクトリを生成する生成ステップをさらに含む請求項１〜３の何れか一項に記載の情報処理方法。
【請求項５】
記録情報の格納先のディレクトリを管理する情報処理装置であって、
ＵＲＬのアドレス情報から前記記録情報を識別するための識別子を取得する識別子取得部と、
前記識別子から当該識別子を代表する複数桁の数値を算出する数値算出部と、
予め用意された整数の集合から前記数値を用いて整数を選択し、選択された整数を用いて前記数値の桁ごとに異なる整数を用意し、用意された整数と前記数値の位の数字とを用いて演算された値をさらに相互に演算し、演算結果をもとに前記記録情報の格納先のディレクトリを決定する決定部と、
を備える情報処理装置。
【請求項６】
記録情報の格納先のディレクトリを管理するプログラムであって、
ＵＲＬのアドレス情報から前記記録情報を識別するための識別子を取得する識別子取得ステップと、
前記識別子から当該識別子を代表する複数桁の数値を算出する数値算出ステップと、
予め用意された整数の集合から前記数値を用いて整数を選択し、選択された整数を用いて前記数値の桁ごとに異なる整数を用意し、用意された整数と前記数値の位の数字とを用いて演算された値をさらに相互に演算し、演算結果をもとに前記記録情報の格納先のディレクトリを決定する決定ステップと、
をコンピュータに実行させるためのプログラム。
【請求項７】
記録情報の格納先のディレクトリを管理するプログラムを記録した記録媒体であって、
ＵＲＬのアドレス情報から前記記録情報を識別するための識別子を取得する識別子取得ステップと、
前記識別子から当該識別子を代表する複数桁の数値を算出する数値算出ステップと、
予め用意された整数の集合から前記数値を用いて整数を選択し、選択された整数を用いて前記数値の桁ごとに異なる整数を用意し、用意された整数と前記数値の位の数字とを用いて演算された値をさらに相互に演算し、演算結果をもとに前記記録情報の格納先のディレクトリを決定する決定ステップと、
をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
本発明の一側面の情報処理方法は、記録情報の格納先のディレクトリを管理する情報処理方法であって、ＵＲＬのアドレス情報から前記記録情報を識別するための識別子を取得する識別子取得ステップと、前記識別子から当該識別子を代表する複数桁の数値を算出する数値算出ステップと、予め用意された整数の集合から前記数値を用いて整数を選択し、選択された整数を用いて前記数値の桁ごとに異なる整数を用意し、用意された整数と前記数値の位の数字とを用いて演算された値をさらに相互に演算し、演算結果をもとに前記記録情報の格納先のディレクトリを決定する決定ステップと、を備えて構成される。なお、ここでいう数字とは、０〜９以外にアルファベットで表記された数字（例えば１６進数のＡ〜Ｆ）を含むものである。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
ここで、前記ディレクトリが、上位のディレクトリと下位のディレクトリを有し、前記決定ステップでは、前記演算結果の上位の桁で上位のディレクトリを決定し、前記演算結果の下位の桁で下位のディレクトリを決定してもよい。また、前記数値算出ステップでは、完全ハッシュ関数ではないハッシュ関数を用いて前記数値を算出してもよい。また、前記決定ステップにおいて決定された前記ディレクトリが存在しない場合、前記ディレクトリを生成する生成ステップをさらに含んでもよい。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
本発明の一側面の情報処理装置は、記録情報の格納先のディレクトリを管理する情報処理装置であって、ＵＲＬのアドレス情報から前記記録情報を識別するための識別子を取得する識別子取得部と、前記識別子から当該識別子を代表する複数桁の数値を算出する数値算出部と、予め用意された整数の集合から前記数値を用いて整数を選択し、選択された整数を用いて前記数値の桁ごとに異なる整数を用意し、用意された整数と前記数値の位の数字とを用いて演算された値をさらに相互に演算し、演算結果をもとに前記記録情報の格納先のディレクトリを決定する決定部と、を備えて構成される。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
本発明の一側面のプログラムは、記録情報の格納先のディレクトリを管理するプログラムであって、ＵＲＬのアドレス情報から前記記録情報を識別するための識別子を取得する識別子取得ステップと、前記識別子から当該識別子を代表する複数桁の数値を算出する数値算出ステップと、予め用意された整数の集合から前記数値を用いて整数を選択し、選択された整数を用いて前記数値の桁ごとに異なる整数を用意し、用意された整数と前記数値の位の数字とを用いて演算された値をさらに相互に演算し、演算結果をもとに前記記録情報の格納先のディレクトリを決定する決定ステップと、をコンピュータに実行させるためのプログラムとして構成される。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
本発明の一側面の記録媒体は、記録情報の格納先のディレクトリを管理するプログラムを記録した記録媒体であって、ＵＲＬのアドレス情報から前記記録情報を識別するための識別子を取得する識別子取得ステップと、前記識別子から当該識別子を代表する複数桁の数値を算出する数値算出ステップと、予め用意された整数の集合から前記数値を用いて整数を選択し、選択された整数を用いて前記数値の桁ごとに異なる整数を用意し、用意された整数と前記数値の位の数字とを用いて演算された値をさらに相互に演算し、演算結果をもとに前記記録情報の格納先のディレクトリを決定する決定ステップと、をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体として構成される。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
本発明の一側面においては、ＵＲＬのアドレス情報から記録情報を識別するための識別子が取得され、識別子から当該識別子を代表する複数桁の数値が算出され、予め用意された整数の集合から前記数値を用いて整数を選択し、選択された整数を用いて前記数値の桁ごとに異なる整数を用意し、用意された整数と、数値の位の数字と、を演算した値をさらに相互に演算し、演算結果をもとに記録情報の格納先のディレクトリが決定される。
【国際調査報告】
2011111837.tif 000015
2011111837.tif 000016
2011111837.tif 000017
2011111837.tif 000018