(57)【要約】【課題】従来、階層化されているオブジェクトの長所を生かしたアプリケーションを効率良く開発することが不十分であった。【解決手段】オブジェクト識別子と、当該オブジェクト識別子により識別されるオブジェクトが存在しない場合に行う処理を識別する不存在時処理識別子とを対にして格納し得る第二不存在時処理情報格納部と、第一情報処理装置が送信した結果情報を受信する第二受信部と、第二受信部が受信した結果情報が、オブジェクトが存在しない旨の情報である場合、当該オブジェクトのオブジェクト識別子に対応する不存在時処理識別子により識別される処理を実行する第二処理部と、結果情報が、オブジェクトが存在しない旨の情報でない場合、当該結果情報を出力する第二出力部とを具備する情報処理システムにより、オブジェクトの長所を生かしたアプリケーションを効率良く開発することができる。【選択図】図２
2010076844.tif 000002
【特許請求の範囲】
【請求項１】
第一情報処理装置と第二情報処理装置を具備する情報処理システムであって、
前記第一情報処理装置は、
データの１以上のノードとアプリケーションの１以上のノードを有し、ノードが階層化されているオブジェクトを、１以上格納し得る第一オブジェクト格納部と、
前記第二情報処理装置から、オブジェクトを識別するオブジェクト識別子を有する指示であり、当該オブジェクトに対する指示であるオブジェクト指示を受信する第一指示受信部と、
前記オブジェクト指示が有するオブジェクト識別子により識別されるオブジェクトが存在しない場合、当該オブジェクトが存在しない旨の情報を取得する第一オブジェクト不存在情報取得部と、
前記オブジェクト指示が有するオブジェクト識別子により識別されるオブジェクトが存在する場合、前記オブジェクト指示に応じて、オブジェクトを処理する第一処理部と、
前記第一オブジェクト不存在情報取得部が取得した情報である結果情報、または前記第一処理部が処理した結果の情報である結果情報を、前記第二情報処理装置に送信する第一送信部を具備し、
前記第二情報処理装置は、
オブジェクト識別子と、当該オブジェクト識別子により識別されるオブジェクトが存在しない場合に行う処理を識別する不存在時処理識別子とを対に有する不存在時処理情報を、１以上格納し得る第二不存在時処理情報格納部と、
前記第一情報処理装置が送信した結果情報を受信する第二受信部と、
前記第二受信部が受信した結果情報が、オブジェクトが存在しない旨の情報である場合、当該オブジェクトのオブジェクト識別子に対応する不存在時処理識別子により識別される処理を実行する第二処理部と、
前記第二受信部が受信した結果情報が、オブジェクトが存在しない旨の情報でない場合、当該結果情報を出力する第二出力部とを具備する情報処理システム。
【請求項２】
前記不存在時処理情報格納部は、
オブジェクトが存在しない旨の情報である場合に、実行する処理を識別する不存在時処理識別子を格納し、
前記第二処理部は、
前記第二受信部が受信した結果情報が、オブジェクトが存在しない旨の情報である場合、前記第二不存在時処理情報格納部に格納されている不存在時処理識別子により識別される処理を実行する請求項１記載の情報処理システム。
【請求項３】
第一情報処理装置と第二情報処理装置を具備する情報処理システムであって、
前記第一情報処理装置は、
データの１以上のノードとアプリケーションの１以上のノードを有し、ノードが階層化されているオブジェクトを、１以上格納し得る第一オブジェクト格納部と、
前記第二情報処理装置から、オブジェクトを識別するオブジェクト識別子を有する指示であり、当該オブジェクトに対する指示であるオブジェクト指示を受信する第一指示受信部と、
前記オブジェクト指示が有するオブジェクト識別子により識別されるオブジェクト、または前記オブジェクト指示が有するオブジェクト識別子により識別されるオブジェクトの構造に関する情報である構造情報を取得する第一構造情報取得部と、
前記第一構造情報取得部が取得したオブジェクトまたは、構造情報を、前記第二情報処理装置に送信する第一送信部を具備し、
前記第二情報処理装置は、
前記第一情報処理装置が送信したオブジェクトまたは、構造情報を受信する第二受信部と、
前記第二受信部が受信したオブジェクトから取得される構造情報、または前記第二受信部が受信した構造情報に応じて、異なる処理を実行する第二処理部と、
前記第二処理部の実行結果を出力する第二出力部とを具備する情報処理システム。
【請求項４】
前記第二処理部は、
前記オブジェクトの階層構造の深さと処理を識別する処理識別子を対に有する構造処理情報を、２以上格納している構造処理情報格納手段と、
前記構造情報が示す階層構造の深さに対応する処理識別子で識別される処理を実行する処理実行手段とを具備する請求項３記載の情報処理システム。
【請求項５】
さらに第三情報処理装置を具備する情報処理システムであって、
前記第三情報処理装置は、
前記第一オブジェクト格納部の一のオブジェクトのノードからリンクされているオブジェクトを、１以上格納し得る第三オブジェクト格納部と、
前記第一情報処理装置から、リンク先のノードまたはリンク先のノード以下の下位ノード群に対する指示であるリンクノード群指示を受信する第三指示受信部と、
前記リンクノード群指示に対応する処理を行い、処理結果を取得する第三処理部と、
前記処理結果を前記第一情報処理装置に送信する第三送信部とを具備し、
前記第二情報処理装置は、
オブジェクト指示を受け付ける第二受付部と、
前記オブジェクト指示を前記第一情報処理装置に送信する第二指示送信部をさらに具備し、
前記第一情報処理装置は、
前記オブジェクト指示に対応するオブジェクトがリンクオブジェクトであるか否かを判断する第一リンクオブジェクト判断部と、
前記第一リンクオブジェクト判断部が、前記オブジェクトがリンクオブジェクトであると判断した場合、当該リンクオブジェクトのリンク先の装置である前記第三情報処理装置に対して、リンクノード群指示を送信する第一リンクノード群指示送信部と、
前記リンクノード群指示の送信に対応して、前記第三情報処理装置からリンクノード群の処理結果を受信する第一リンク先ノード群処理結果受信部とをさらに具備し、
前記第一処理部は、
前記処理結果である結果情報、または当該処理結果に対して行った処理の結果である結果情報を取得し、
前記第一送信部は、
前記結果情報を、前記第二情報処理装置に送信する請求項１から請求項４いずれか記載の情報処理システム。
【請求項６】
さらに第三情報処理装置を具備する情報処理システムであって、
前記第三情報処理装置は、
前記第一オブジェクト格納部の一のオブジェクトのノードからリンクされているオブジェクトを、１以上格納し得る第三オブジェクト格納部と、
前記第二情報処理装置から、リンク先のノードまたはリンク先のノード以下の下位ノード群に対する指示であるリンクノード群指示を受信する第三指示受信部と、
前記リンクノード群指示に対応する処理を行い、処理結果である結果情報を取得する第三処理部と、
前記結果情報を前記第二情報処理装置に送信する第三送信部とを具備し、
前記第二情報処理装置は、
オブジェクト指示を受け付ける第二受付部と、
前記オブジェクト指示を前記第一情報処理装置に送信する第二指示送信部とをさらに具備し、
前記第二受信部は、
前記オブジェクト指示の送信に対応して、前記リンク先のノードを識別するリンク先ノード識別子を、前記第一情報処理装置から受信し、
前記リンク先ノード識別子に対応する前記第三情報処理装置に、前記リンク先ノード識別子で識別されるリンク先ノード群を処理する指示であるリンクノード群指示を送信する第二送信部をさらに具備し、
前記第二受信部は、
前記リンク先ノード群処理指示の送信に対応して、前記第三情報処理装置から、結果情報を受信し、
前記第二出力部は、
前記第二受信部が受信した結果情報を出力し、
前記第一情報処理装置は、
前記オブジェクト指示を受信する第一指示受信部と、
前記オブジェクト指示に対応するオブジェクトがリンクオブジェクトであるか否かを判断する第一リンクオブジェクト判断部と、
前記リンクオブジェクト判断部が、前記オブジェクトがリンクオブジェクトであると判断した場合、前記リンク先のノードを識別するリンク先ノード識別子を、前記第二情報処理装置に送信する第一リンクノード群指示送信部とをさらに具備する請求項１から請求項４いずれか記載の情報処理システム。
【請求項７】
請求項１から請求項６いずれか記載の情報処理システムを構成する第一情報処理装置。
【請求項８】
請求項１から請求項６いずれか記載の情報処理システムを構成する第二情報処理装置。
【請求項９】
請求項５、または請求項６記載の情報処理システムを構成する第三情報処理装置。
【請求項１０】
記憶媒体に、データの１以上のノードとアプリケーションの１以上のノードを有し、ノードが階層化されているオブジェクトを、１以上格納しており、
コンピュータを、
第二情報処理装置から、オブジェクトを識別するオブジェクト識別子を有する指示であり、当該オブジェクトに対する指示であるオブジェクト指示を受信する第一指示受信部と、
前記オブジェクト指示が有するオブジェクト識別子により識別されるオブジェクトが存在しない場合、当該オブジェクトが存在しない旨の情報を取得する第一オブジェクト不存在情報取得部と、
前記オブジェクト指示が有するオブジェクト識別子により識別されるオブジェクトが存在する場合、前記オブジェクト指示に応じて、オブジェクトを処理する第一処理部と、
前記第一オブジェクト不存在情報取得部が取得した情報である結果情報、または前記第一処理部が処理した結果の情報である結果情報を、前記第二情報処理装置に送信する第一送信部として機能させるためのプログラム。
【請求項１１】
記憶媒体に、オブジェクト識別子と、当該オブジェクト識別子により識別されるオブジェクトが存在しない場合に行う処理を識別する不存在時処理識別子とを対にして格納しており、
コンピュータを、
前記第一情報処理装置が送信した結果情報を受信する第二受信部と、
前記第二受信部が受信した結果情報が、オブジェクトが存在しない旨の情報である場合、当該オブジェクトのオブジェクト識別子に対応する不存在時処理識別子により識別される処理を実行する第二処理部と、
前記第二受信部が受信した結果情報が、オブジェクトが存在しない旨の情報でない場合、当該結果情報を出力する第二出力部として機能させるためのプログラム。
【請求項１２】
記憶媒体に、データの１以上のノードとアプリケーションの１以上のノードを有し、ノードが階層化されているオブジェクトを、１以上格納しており、
コンピュータを、
第二情報処理装置から、オブジェクトを識別するオブジェクト識別子を有する指示であり、当該オブジェクトに対する指示であるオブジェクト指示を受信する第一指示受信部と、
前記オブジェクト指示が有するオブジェクト識別子により識別されるオブジェクト、または前記オブジェクト指示が有するオブジェクト識別子により識別されるオブジェクトの構造に関する情報である構造情報を取得する第一構造情報取得部と、
前記第一構造情報取得部が取得したオブジェクトまたは、構造情報を、前記第二情報処理装置に送信する第一送信部として機能させるためのプログラム。
【請求項１３】
コンピュータを、
第一情報処理装置が送信したオブジェクトまたは、構造情報を受信する第二受信部と、
前記第二受信部が受信したオブジェクトから取得される構造情報、または前記第二受信部が受信した構造情報に応じて、異なる処理を実行する第二処理部と、
前記第二処理部の実行結果を出力する第二出力部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、ネットワーク上で動作するプログラムを、分散開発する場合等に好適な情報処理システム等に関するものである。
【背景技術】
【０００２】
従来、ネットワーク・アプリケーションの構築や運用の負荷を軽減できる情報処理装置があった（例えば、特許文献１参照）。本情報処理装置は、ネットワークを介して他の装置との間で情報を授受する情報処理装置であって、複数のノードによってツリー構造で表されると共に、ネットワークで自身を識別するための識別情報に、ツリー構造における最上位のノードから自身のノードまでの位置をツリー構造に従って各ノードの名称を示す名称情報を連続して表すオブジェクト位置情報を連結した自身の位置を示す一意のアドレスが与えられたオブジェクトであって、アドレスに対するデータ書込領域を備えたオブジェクトを複数記憶した記憶手段と、ネットワークを介して他の装置との間で、外部言語で表された情報を授受すると共に、アドレスが指定された記憶手段に記憶されたオブジェクトに対して呼び出し、書き込み、削除及び一部変更の少なくとも１つの処理の要求を逐次処理するする授受手段と、ネットワークを介して外部言語によるオブジェクトを処理の要求と共に少なくとも１つ取得し、取得したオブジェクトのツリー構造を保持したまま該取得したオブジェクトを内部言語で表された情報に変換する第１の変換手段と、要求されたオブジェクトのアドレスを解釈しかつ解釈したアドレスのオブジェクトに対して要求された処理を施す制御手段と、記憶手段に記憶されたオブジェクトを該オブジェクトのツリー構造を保持したまま外部言語に変換する第２の変換手段と、含むエンジン手段と、を含む情報処理装置である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２５８９４２号公報（第１頁、第１図等）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の情報処装置においては、遠隔の情報処理装置に存在するアプリケーション（または、オブジェクト）を利用して、プログラムを開発する場合に、当該アプリケーションが存在することを前提にしていた。そのため、多数のプログラマーが、多数の情報処理装置上で、一のオブジェクトやプログラムを共同して開発する場合に、アプリケーションやオブジェクトが、例えば、一時的に削除されていたり、名前（識別子）が変更されたり、または動作しない場合などに、プログラム全体が正常に動作しなかった。【０００５】
また、従来の情報処理装置において、遠隔の情報処理装置に存在するオブジェクトの構造の違いによって、異なる処理を行い、適切な処理結果を得ることは想定されていなかった。そのため、階層化されているオブジェクトの長所を十分に生かしたアプリケーションを開発することが困難であった。【０００６】
さらに、一の情報処理装置内に存在するオブジェクトのいずれかのノードに対して、他の情報処理装置で開発したオブジェクトまたはアプリケーション（ノードも含む）をリンクして、２以上の装置に跨るノードにより構成されるオブジェクトを構成できなかった。そのため、プログラムの分散開発の効率化が不十分であった。
【課題を解決するための手段】
【０００７】
本第一の発明の情報処理システムは、第一情報処理装置と第二情報処理装置を具備する情報処理システムであって、前記第一情報処理装置は、データの１以上のノードとアプリケーションの１以上のノードを有し、ノードが階層化されているオブジェクトを、１以上格納し得る第一オブジェクト格納部と、前記第二情報処理装置から、オブジェクトを識別するオブジェクト識別子を有する指示であり、当該オブジェクトに対する指示であるオブジェクト指示を受信する第一指示受信部と、前記オブジェクト指示が有するオブジェクト識別子により識別されるオブジェクトが存在しない場合、当該オブジェクトが存在しない旨の情報を取得する第一オブジェクト不存在情報取得部と、前記オブジェクト指示が有するオブジェクト識別子により識別されるオブジェクトが存在する場合、前記オブジェクト指示に応じて、オブジェクトを処理する第一処理部と、前記第一オブジェクト不存在情報取得部が取得した情報である結果情報、または前記第一処理部が処理した結果の情報である結果情報を、前記第二情報処理装置に送信する第一送信部を具備し、前記第二情報処理装置は、オブジェクト識別子と、当該オブジェクト識別子により識別されるオブジェクトが存在しない場合に行う処理を識別する不存在時処理識別子とを対にして格納し得る第二不存在時処理情報格納部と、前記第一情報処理装置が送信した結果情報を受信する第二受信部と、前記第二受信部が受信した結果情報が、オブジェクトが存在しない旨の情報である場合、当該オブジェクトのオブジェクト識別子に対応する不存在時処理識別子により識別される処理を実行する第二処理部と、前記第二受信部が受信した結果情報が、オブジェクトが存在しない旨の情報でない場合、当該結果情報を出力する第二出力部とを具備する情報処理システムである。【０００８】
かかる構成により、外部の情報処理装置に存在するはずのオブジェクトが存在しない場合にも、当該オブジェクトを利用したプログラムがエラーとならず、動作を継続できる。【０００９】
また、本第二の発明の情報処理システムは、第一の発明に対して、前記不存在時処理情報格納部は、オブジェクトが存在しない旨の情報である場合に、実行する処理を識別する不存在時処理識別子を格納し、前記第二処理部は、前記第二受信部が受信した結果情報が、オブジェクトが存在しない旨の情報である場合、前記第二不存在時処理情報格納部に格納されている不存在時処理識別子により識別される処理を実行する情報処理システムである。【００１０】
かかる構成により、外部の情報処理装置に存在するはずのオブジェクトが存在しない場合にも、当該オブジェクトを利用したプログラムがエラーとならず、デフォルトの動作を実行できる。【００１１】
また、本第三の発明の情報処理システムは、第一情報処理装置と第二情報処理装置を具備する情報処理システムであって、前記第一情報処理装置は、データの１以上のノードとアプリケーションの１以上のノードを有し、ノードが階層化されているオブジェクトを、１以上格納し得る第一オブジェクト格納部と、前記第二情報処理装置から、オブジェクトを識別するオブジェクト識別子を有する指示であり、当該オブジェクトに対する指示であるオブジェクト指示を受信する第一指示受信部と、前記オブジェクト指示が有するオブジェクト識別子により識別されるオブジェクト、または前記オブジェクト指示が有するオブジェクト識別子により識別されるオブジェクトの構造に関する情報である構造情報を取得する第一構造情報取得部と、前記第一構造情報取得部が取得したオブジェクトまたは、構造情報を、前記第二情報処理装置に送信する第一送信部を具備し、前記第二情報処理装置は、前記第一情報処理装置が送信したオブジェクトまたは、構造情報を受信する第二受信部と、前記第二受信部が受信したオブジェクトから取得される構造情報、または前記第二受信部が受信した構造情報に応じて、異なる処理を実行する第二処理部と、前記第二処理部の実行結果を出力する第二出力部とを具備する情報処理システムである。【００１２】
かかる構成により、オブジェクトの構造に応じた処理が可能となる。【００１３】
また、本第四の発明の情報処理システムは、第三の発明に対して、前記第二処理部は、前記オブジェクトの階層構造の深さと処理を識別する処理識別子を対に有する構造処理情報を、２以上格納している構造処理情報格納手段と、前記構造情報が示す階層構造の深さに対応する処理識別子で識別される処理を実行する処理実行手段とを具備する情報処理システムである。【００１４】
かかる構成により、オブジェクトの構造に応じた処理が可能となる。【００１５】
また、本第五の発明の情報処理システムは、第一から第四いずれかの発明に対して、さらに第三情報処理装置を具備する情報処理システムであって、前記第三情報処理装置は、前記第一オブジェクト格納部の一のオブジェクトのノードからのリンクを有するオブジェクトを、１以上格納し得る第三オブジェクト格納部と、前記第一情報処理装置から、リンク先のノードまたはリンク先のノード以下の下位ノード群に対する指示であるリンクノード群指示を受信する第三指示受信部と、前記リンクノード群指示に対応する処理を行い、処理結果を取得する第三処理部と、前記処理結果を前記第一情報処理装置に送信する第三送信部とを具備し、前記第二情報処理装置は、リンクノード群指示を受け付ける第二受付部と、前記リンクノード群指示を前記第一情報処理装置に送信する第二指示送信部をさらに具備し、前記第一情報処理装置は、前記リンクノード群指示を受信する第一指示受信部と、前記リンクノード群指示に対応するオブジェクトがリンクオブジェクトであるか否かを判断する第一リンクオブジェクト判断部と、前記第一リンクオブジェクト判断部が、前記オブジェクトがリンクオブジェクトであると判断した場合、当該リンクオブジェクトのリンク先の装置である前記第三情報処理装置に対して、リンクノード群指示を送信する第一リンクノード群指示送信部と、前記リンクノード群指示の送信に対応して、前記第三情報処理装置からリンクノード群の処理結果を受信する第一リンク先ノード群処理結果受信部と、前記第一処理部は、前記処理結果である結果情報、または当該処理結果に対して行った処理の結果である結果情報を取得し、前記第一送信部は、前記結果情報を、前記第二情報処理装置に送信する情報処理システムである。【００１６】
かかる構成により、プログラムの分散した共同開発の効率を向上できる。【００１７】
また、本第六の発明の情報処理システムは、第一から第四いずれかの発明に対して、さらに第三情報処理装置を具備する情報処理システムであって、前記第三情報処理装置は、前記第一オブジェクト格納部の一のオブジェクトのノードからのリンクを有するオブジェクトを、１以上格納し得る第三オブジェクト格納部と、前記第二情報処理装置から、リンク先のノードまたはリンク先のノード以下の下位ノード群に対する指示であるリンクノード群指示を受信する第三指示受信部と、前記リンクノード群指示に対応する処理を行い、処理結果を取得する第三処理部と、前記処理結果を前記第二情報処理装置に送信する第三送信部とを具備し、前記第二情報処理装置は、リンクノード群指示を受け付ける第二受付部と、前記リンクノード群指示を前記第一情報処理装置に送信する第二指示送信部とをさらに具備し、前記第二受信部は、前記リンクノード群指示の送信に対応して、前記リンク先のノードを識別するリンク先ノード識別子を、前記第一情報処理装置から受信し、前記リンク先ノード識別子に対応する前記第三情報処理装置に、前記リンク先ノード識別子で識別されるリンク先ノード群を処理する指示であるリンクノード群指示を送信する第二送信部をさらに具備し、前記第二受信部は、前記リンク先ノード群処理指示の送信に対応して、前記第三情報処理装置から、処理結果を受信し、前記第二出力部は、前記第二受信部が受信した結果情報を出力し、前記第一情報処理装置は、前記リンクノード群指示を受信する第一指示受信部と、前記リンクノード群指示に対応するオブジェクトがリンクオブジェクトであるか否かを判断する第一リンクオブジェクト判断部と、前記リンクオブジェクト判断部が、前記オブジェクトがリンクオブジェクトであると判断した場合、前記リンク先のノードを識別するリンク先ノード識別子を、前記第二情報処理装置に送信する第一リンクノード群指示送信部とをさらに具備する情報処理システムである。【００１８】
かかる構成により、プログラムの分散した共同開発の効率を向上できる。
【発明の効果】
【００１９】
本発明による情報処理システムによれば、階層化されたオブジェクトの長所を生かしたプログラム開発が可能となる。
【図面の簡単な説明】
【００２０】
【図１】実施の形態１における情報処理システム１の概念図
【図２】同情報処理システムのブロック図
【図３】同第一情報処理装置の動作について説明するフローチャート
【図４】同第二情報処理装置の動作について説明するフローチャート
【図５】同オブジェクトを示す図
【図６】同オブジェクトを示す図
【図７】同不存在時処理情報管理表を示す図
【図８】同プログラムの例を示す図
【図９】実施の形態２における情報処理システムのブロック図
【図１０】同第一情報処理装置の動作について説明するフローチャート
【図１１】同第二情報処理装置の動作について説明するフローチャート
【図１２】同オブジェクトを示す図
【図１３】同構造処理情報管理表を示す図
【図１４】同プログラムの例を示す図
【図１５】実施の形態３における情報処理システム３の概念図
【図１６】同情報処理システムのブロック図
【図１７】同第一情報処理装置の動作について説明するフローチャート
【図１８】同第二情報処理装置の動作について説明するフローチャート
【図１９】同オブジェクトを示す図
【図２０】同オブジェクトを示す図
【図２１】実施の形態４における情報処理システムのブロック図
【図２２】同第一情報処理装置の動作について説明するフローチャート
【図２３】同第二情報処理装置の動作について説明するフローチャート
【図２４】同コンピュータシステムの概観図
【図２５】同コンピュータシステムの内部構成を示す図
【発明を実施するための形態】
【００２１】
以下、情報処理システム等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００２２】
（実施の形態１）
【００２３】
本実施の形態において、オブジェクトが格納されている第一情報処理装置、オブジェクトを利用して処理を行う第二情報処理装置を具備する情報処理システムについて説明する。第二情報処理装置は、オブジェクトが存在するか否かについての情報を取得する。そして、情報処理システムは、オブジェクトが存在する場合と、存在しない場合とにより、異なる処理を行う。なお、オブジェクトの定義については、後述する。
【００２４】
図１は、本実施の形態における情報処理システム１の概念図である。情報処理システム１は、第一情報処理装置１１、第二情報処理装置１２を具備する。
【００２５】
図２は、本実施の形態における情報処理システム１のブロック図である。第一情報処理装置１１は、第一オブジェクト格納部１１１、第一指示受信部１１２、第一オブジェクト不存在情報取得部１１３、第一処理部１１４、第一送信部１１５を具備する。
【００２６】
第二情報処理装置１２は、第二不存在時処理情報格納部１２１、第二受付部１２２、第二指示送信部１２３、第二受信部１２４、第二処理部１２５、第二出力部１２６を具備する。
【００２７】
第一オブジェクト格納部１１１は、１以上のオブジェクトを格納し得る。オブジェクトは、通常、階層化された２以上のノードを有する。オブジェクトは、一のノードでも良い。ノードとは、データ、またはアプリケーションである。データは、情報と言い換えても良い。データのタイプは、テキスト、静止画、動画、音声、またはこれらの複合された情報等である。データのタイプは、問わない。また、データは、通常、ファイルであるが、その構造は問わない。さらに、データは、テキスト、ＨＴＭＬ、ＸＭＬ、ｊｐｅｇ、ｇｉｆ等、そのデータ形式も問わない。また、アプリケーションとは、プログラム、モジュール、メソッド等の情報であり、単なるデータとは異なる。アプリケーションは、ロジック、プログラムとも、適宜、言う。アプリケーションは、何らかの動作を行う命令の集合である。アプリケーションとは、コンピュータにより、そのまま実行できる形式のもの（実行モジュール、またはインタプリタにより実行可能なプログラム等）、または変換（コンパイル、復号化など）により実行できる形式のもの等がある。つまり、アプリケーションの形式は、問わない。また、オブジェクトを特定するための情報を、オブジェクト識別子という。また、ノードを特定するための情報をノード識別子という。オブジェクト識別子は、ノード識別子を含むことは好適である。ノードの集合はオブジェクトである。最上位のノードからすべての最下位のノードまでのノードの集合もオブジェクトであるが、階層構造を構成するノード群のサブセットもオブジェクトと言う、こととする。第一オブジェクト格納部１１１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。第一オブジェクト格納部１１１にオブジェクトが記憶される過程は問わない。例えば、記録媒体を介してオブジェクトが第一オブジェクト格納部１１１で記憶されるようになってもよく、通信回線等を介して送信されたオブジェクトが第一オブジェクト格納部１１１で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたオブジェクトが第一オブジェクト格納部１１１で記憶されるようになってもよい。
【００２８】
第一指示受信部１１２は、第二情報処理装置１２から、オブジェクト指示を受信する。オブジェクト指示とは、オブジェクトに対する指示であり、例えば、オブジェクトを処理する指示である。ここで、処理とは、更新、削除、取得など、オブジェクトを用いた処理であれば何でも良い。オブジェクト指示は、通常、オブジェクトを識別するオブジェクト識別子を有する。オブジェクト指示に含まれるオブジェクト識別子は、オブジェクトを構成するノードの識別子でも良い。第一指示受信部１１２は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【００２９】
第一オブジェクト不存在情報取得部１１３は、オブジェクト指示が有するオブジェクト識別子により識別されるオブジェクトが存在しない場合、当該オブジェクトが存在しない旨の情報を取得する。ここでの取得とは、結果としてオブジェクトが存在しない旨の情報が得られれば良い。オブジェクトが存在しない、とは、例えば、オブジェクト識別子で特定できる場所に、当該オブジェクト識別子で識別されるオブジェクトが存在しないことである。第一オブジェクト不存在情報取得部１１３は、例えば、オブジェクト識別子をキーとして第一オブジェクト格納部１１１を検索し、検索できなかった場合は、オブジェクトが存在しない旨の情報を取得する。第一オブジェクト不存在情報取得部１１３は、通常、ＭＰＵやメモリ等から実現され得る。第一オブジェクト不存在情報取得部１１３の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３０】
第一処理部１１４は、オブジェクト指示が有するオブジェクト識別子により識別されるオブジェクトが存在する場合、オブジェクト指示に応じて、オブジェクトを処理する。第一処理部１１４は、オブジェクト指示が有するオブジェクト識別子により識別されるオブジェクトが存在する旨を示す情報を取得する処理を行っても良い。第一処理部１１４は、例えば、オブジェクトを処理するためのプログラムやメソッドや実行モジュール等を保持している。第一処理部１１４は、通常、ＭＰＵやメモリ等から実現され得る。第一処理部１１４の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３１】
第一送信部１１５は、結果情報を第二情報処理装置１２に送信する。結果情報は、第一オブジェクト不存在情報取得部１１３が取得した情報である。または、結果情報は、第一処理部１１４が処理した結果の情報である。第一送信部１１５は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【００３２】
第二不存在時処理情報格納部１２１は、オブジェクト識別子と、不存在時処理識別子とを対にして格納し得る。オブジェクト識別子は、一のオブジェクトのみを特定する情報であるとは限らず、２以上のオブジェクトを特定する情報であっても良い。不存在時処理識別子とは、オブジェクト識別子により識別されるオブジェクトが存在しない場合に行う処理を識別する情報である。不存在時処理識別子とは、メソッド名、関数名、メッセージ名、実行モジュール名などである。オブジェクト識別子と不存在時処理識別子とは、プログラム中に埋め込まれていても良い。なお、適宜、オブジェクト識別子と不存在時処理識別子との対の情報を、不存在時処理情報という。また、第二不存在時処理情報格納部１２１は、不存在時処理識別子のみを格納していても良い。かかる場合も、不存在時処理情報は、空のオブジェクト識別子と、不存在時処理識別子とを対に有する、と考える。第二不存在時処理情報格納部１２１が不存在時処理識別子のみを格納している場合、何らかのオブジェクトが存在しない際には、不存在時処理識別子で識別される処理が行われる。第二不存在時処理情報格納部１２１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。第二不存在時処理情報格納部１２１に不存在時処理情報が記憶される過程は問わない。例えば、記録媒体を介して不存在時処理情報が第二不存在時処理情報格納部１２１で記憶されるようになってもよく、通信回線等を介して送信された不存在時処理情報が第二不存在時処理情報格納部１２１で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された不存在時処理情報が第二不存在時処理情報格納部１２１で記憶されるようになってもよい。
【００３３】
第二受付部１２２は、各種の指示を受け付ける。ここで、受け付けとは、ファイルに記載されている指示（命令なども含む）の読み出し、ユーザからの入力の受け付け、外部の装置からの指示の受け付け、他のプログラムからの指示の受け付け、他の関数からの指示の受け付け、他のメソッドからの指示の受け付けなども含む。指示とは、例えば、オブジェクト指示やリンクノード群指示である。リンクノード群指示とは、リンクノード群を処理する指示であり、オブジェクト指示の一種である、と考えられる。リンクノード群は、オブジェクトを構成するオブジェクトであると言える。オブジェクトを構成するオブジェクトとは、オブジェクトの一部であり、階層化されたノード群である。オブジェクトを構成するオブジェクトは、サブオブジェクトとも言えるが、オブジェクトと言っても良い。また、リンクノード群とは、ネットワーク上の遠隔に存在する装置に格納されているオブジェクトである。各種の指示の入力手段は、キーボードやマウスやテンキーやメニュー画面によるもの等、何でも良い。第二受付部１２２は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【００３４】
第二指示送信部１２３は、第二受付部１２２が受け付けた指示（例えば、オブジェクト指示またはリンクノード群指示）を第一情報処理装置１１に送信する。第二受付部１２２が受け付けた指示と、第二指示送信部１２３が送信する指示とは、その形式や内容等が異なっていても良い。第二指示送信部１２３は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【００３５】
第二受信部１２４は、第一情報処理装置１１が送信した結果情報を受信する。第二受信部１２４は、通常、第二指示送信部１２３がリンクノード群指示を送信したことに対応して、第一情報処理装置１１から、結果情報を受信する。第二受信部１２４は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【００３６】
第二処理部１２５は、第二受信部１２４が受信した結果情報が、オブジェクトが存在しない旨の情報である場合、当該オブジェクトのオブジェクト識別子に対応する不存在時処理識別子により識別される処理を実行する。不存在時処理識別子は、第二不存在時処理情報格納部１２１に格納されている。なお、第二処理部１２５は、例えば、不存在時処理識別子で識別される関数やメソッドや実行モジュールなどを格納している。また、第二処理部１２５は、第二受信部１２４が受信した結果情報が、オブジェクトが存在しない旨の情報である場合、第二不存在時処理情報格納部１２１に格納されている不存在時処理識別子により識別される処理を実行しても良い。第二処理部１２５は、通常、ＭＰＵやメモリ等から実現され得る。第二処理部１２５の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３７】
第二出力部１２６は、第二受信部１２４が受信した結果情報が、オブジェクトが存在しない旨の情報でない場合、当該結果情報を出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラム等への処理結果の引渡し等を含む概念である。第二出力部１２６は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。第二出力部１２６は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００３８】
次に、情報処理システム１の動作について説明する。まず、図３のフローチャートを用いて、第一情報処理装置１１の動作について説明する。
【００３９】
（ステップＳ３０１）第一指示受信部１１２は、第二情報処理装置１２から、オブジェクト指示を受信したか否かを判断する。オブジェクト指示を受信すればステップＳ３０２に行き、オブジェクト指示を受信しなければステップＳ３０１に行く。
【００４０】
（ステップＳ３０２）第一オブジェクト不存在情報取得部１１３は、ステップＳ３０１で受信したオブジェクト指示に含まれるオブジェクト識別子を取得する。
【００４１】
（ステップＳ３０３）第一オブジェクト不存在情報取得部１１３は、ステップＳ３０２で取得したオブジェクト識別子をキーとして、第一オブジェクト格納部１１１を検索する。
【００４２】
（ステップＳ３０４）第一オブジェクト不存在情報取得部１１３は、ステップＳ３０３における検索の結果、オブジェクト識別子で識別されるオブジェクトが、第一オブジェクト格納部１１１に存在するか否かを判断する。存在する場合はステップＳ３０５に行き、存在しない場合はステップＳ３０６に行く。
【００４３】
（ステップＳ３０５）第一処理部１１４は、ステップＳ３０１で受信したオブジェクト指示に対応する処理を、オブジェクト識別子で識別されるオブジェクトに対して行う。そして、第一処理部１１４は、当該処理の結果を、結果情報に代入する。
【００４４】
（ステップＳ３０６）第一オブジェクト不存在情報取得部１１３は、オブジェクトが存在しない旨の情報を結果情報に代入する。
【００４５】
（ステップＳ３０７）第一送信部１１５は、結果情報を第一情報処理装置１１に送信する。ステップＳ３０１に戻る。
【００４６】
なお、図３のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００４７】
次に、図４のフローチャートを用いて、第二情報処理装置１２の動作について説明する。
【００４８】
（ステップＳ４０１）第二受付部１２２は、オブジェクト指示を受け付けたか否かを判断する。オブジェクト指示を受け付ければステップＳ４０２に行き、オブジェクト指示を受け付けなければステップＳ４０３に行く。なお、ここでの受付とは、ユーザからの入力受け付け、ファイルの読み込み、外部の装置からの受信等の態様を含む。
【００４９】
（ステップＳ４０２）第二指示送信部１２３は、ステップＳ４０１で受け付けた指示を第一情報処理装置１１に送信する。ステップＳ４０１に戻る。ここで、受け付けた指示と送信する指示は、その構造等が違っていても良いことは言うまでもない。
【００５０】
（ステップＳ４０３）第二受信部１２４は、第一情報処理装置１１から結果情報を受信したか否かを判断する。結果情報を受信すればステップＳ４０４に行き、結果情報を受信しなければステップＳ４０１に戻る。
【００５１】
（ステップＳ４０４）第二処理部１２５は、ステップＳ４０３で受信された結果情報が、オブジェクトが存在しない旨の情報であるか否かを判断する。オブジェクトが存在しない旨の情報である場合はステップＳ４０５に行き、オブジェクトが存在しない旨の情報でない場合はステップＳ４０６に行く。
【００５２】
（ステップＳ４０５）第二処理部１２５は、オブジェクト指示に含まれるオブジェクト識別子に対応する不存在時処理識別子を、第二不存在時処理情報格納部１２１から取得する。
【００５３】
（ステップＳ４０６）第二処理部１２５は、ステップＳ４０５で取得した不存在時処理識別子に対応する処理を実行する。ステップＳ４０１に戻る。
【００５４】
（ステップＳ４０７）第二出力部１２６は、ステップＳ４０３で受信された結果情報を出力する。ステップＳ４０１に戻る。
【００５５】
なお、図４のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００５６】
以下、本実施の形態における情報処理システム１の具体的な動作について説明する。情報処理システム１の概念図は図１である。
【００５７】
今、第一情報処理装置１１の第一オブジェクト格納部１１１は、図５に示すオブジェクトを格納している。本オブジェクトは、外部のプログラム（アプリケーション）から利用されるノードの集合である。本オブジェクトの基点（ｒｏｏｔ）は「／」である。ただし、第一情報処理装置１１のドメイン名は、「ｇａｍｅ＿Ａ」である、とする。したがって、外部の装置（例えば、第二情報処理装置１２）から本オブジェクトにアクセスするためには、ここでは、「ｈｔｔｐ：／／ｇａｍｅ＿Ａ」の文字列をオブジェクトの前に付加しなければならない、とする。また、本オブジェクトの基点の下位にｉｔｅｍｓのノードとｕｓｅｒのノードが並列に属している。ｉｔｅｍｓのノードは、下位に属する品目の親ノードを表すもので、図５の例ではｌａｍｐノードが下位に属している。このｌａｍｐノードには、図６に示すように、各種状態値（データ）やロジック（アプリケーション）を表すノードが下位に並列に属している。また、ｕｓｅｒのノードは、上記ｉｔｅｍｓのノードを所有または利用可能なユーザの各種データに対する親ノードであり、図５の例ではｔａｒｏノード、ｌａｍｐノード、ｆｕｅｌノードの順に各ノードが下位に属している。また、ｔａｒｏノードと並列に、ｈａｎａｋｏノード、ｋａｚｕｏノードが存在する。そして、ｈａｎａｋｏノードは、下位には、ノードを有さない。また、ｋａｚｕｏノードは、下位には、ｌａｍｐノード、ｆｕｅｌノードを有する。また、ｔａｒｏノードの下位のｆｕｅｌノードには、データ「２５」が格納されている。データ「２５」は、燃料が「２５」存在することを示し、データ「０」は、燃料が存在しないことを示す。
【００５８】
また、この「ｌａｍｐ」は、点灯及び消灯にロジックを有し、さらに、点灯時には、徐々に燃料が減少するロジックを有している、とする。
【００５９】
なお、基点は、コンテントを授受するためのプロトコル名、及びコンテントが格納（配置）されたコンピュータやコンピュータ上の位置を表すドメイン名（及び格納位置）により与えられる。本実施の形態では、コンテントを識別するためにＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）をラベルとして用いている。例えば、通信プロトコルにＨＴＴＰプロトコルを用い、コンテントが配置されたサーバを示すドメイン名が"ｇａｍｅ＿Ａ"のとき、"ｈｔｔｐ：／／ｇａｍｅ＿Ａ"となる。ランプコンテントがこれに属すると設定するので、基点に対して"／"を付与する。すなわち、ランプコンテントのみで考えた場合、基点は、"／"で表される。この基点である"／"以前にプロトコル名及びドメイン名（必要であれば格納位置）が与えられることにより、ランプコンテント（ランプオブジェクト）を一意なアドレスで表現することが可能となる。
【００６０】
また、第二情報処理装置１２の第二不存在時処理情報格納部１２１は、図７に示す不存在時処理情報管理表を保持している、とする。不存在時処理情報管理表は、「ＩＤ」「不存在ノード識別子」「不存在時処理識別子」を有するレコードを１以上保持している。「ＩＤ」は、レコードを識別する属性である。「不存在ノード識別子」は、存在しないノードを識別する情報を示す。ここでは、ノードは、階層化されているノードであり、オブジェクトとも言える。また、「不存在ノード識別子」の「＊」は、１以上の文字からなる文字列である。「不存在時処理識別子」は、「不存在ノード識別子」で特定されるノード（オブジェクト）が存在しない場合に、実行される処理を識別する処理識別子である。不存在時処理識別子は、一の処理識別子でも良いし、２以上の処理識別子でも良い。図７において、「ｉｎｓｔａｌｌ（ｌａｍｐ，／ｕｓｅｒ／＊／）」は、／ｕｓｅｒ／＊／で示されるノードに、ｌａｍｐというアプリケーションをインストールする処理を行う処理識別子である。「ｂｕｙ＿ｆｕｅｌ（５０）」は、燃料を「５０」購入する処理を行う処理識別子である。「ｂｕｙ＿ｆｕｅｌ（５０）」を実行するにより、例えば、燃料「５０」が「・・・／ｆｕｅｌ」に書き込まれ、図示しないノードのデータ「預金額」が減少する（更新される）処理が行われる。「ｌｉｇｈｔ（／ｕｓｅｒ／＊／ｌａｍｐ／）」は、ランプを点灯する処理を行う。「ｌｉｇｈｔ（／ｕｓｅｒ／＊／ｌａｍｐ／）」の実行により、ランプが点灯されれば、対応する燃料の数値が減少する。
【００６１】
かかる状況において、以下、３つの具体例について説明する。
【００６２】
（具体例１）
【００６３】
具体例１は、第二情報処理装置１２のユーザが指定したオブジェクト（アプリケーションおよびデータを有する）が、第一情報処理装置１１に存在する場合の例である。
【００６４】
まず、第二情報処理装置１２のユーザ（ｔａｒｏ）は、自身のランプを点灯しようと、「／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」の実行を、第二情報処理装置１２に対して指示した、とする。
【００６５】
次に、第二情報処理装置１２の第二受付部１２２は、「／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」を受け付ける。
【００６６】
そして、第二指示送信部１２３は、受け付けられ指示「／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」を第一情報処理装置１１に送信する。
【００６７】
次に、第一指示受信部１１２は、第二情報処理装置１２から、オブジェクト指示「／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」を受信する。
【００６８】
そして、第一オブジェクト不存在情報取得部１１３は、受信したオブジェクト指示「／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」に含まれるオブジェクト識別子「／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」を取得する。
【００６９】
次に、第一オブジェクト不存在情報取得部１１３は、取得したオブジェクト識別子「／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」をキーとして、第一オブジェクト格納部１１１を検索する。ここでは、オブジェクト識別子「／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」に対応するオブジェクトは存在するので、第一処理部１１４は、受信したオブジェクト指示に対応する処理（「／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」を実行し、ｔａｒｏさんのランプを点灯する処理）を行う。
【００７０】
そして、第一処理部１１４は、当該処理の結果（点灯したランプ）を、結果情報に代入する。次に、第一送信部１１５は、結果情報を第二情報処理装置１２に送信する。
【００７１】
次に、第二受信部１２４は、第一情報処理装置１１から結果情報（点灯したｔａｒｏさんのランプ）を受信する。
【００７２】
次に、第二出力部１２６は、受信された結果情報（点灯したｔａｒｏさんのランプ）を出力する。なお、「点灯したｔａｒｏさんのランプ」は、例えば、動画である。
【００７３】
（具体例２）
【００７４】
具体例２は、第二情報処理装置１２のユーザが指定したオブジェクト（ここでは、アプリケーション）が、第一情報処理装置１１に存在しない際に、不存在時処理識別子で識別される処理を実行する場合の例である。
【００７５】
まず、第二情報処理装置１２のユーザ（ｈａｎａｋｏ）は、自身のランプを点灯しようと、「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」の実行を、第二情報処理装置１２に対して指示した、とする。
【００７６】
次に、第二情報処理装置１２の第二受付部１２２は、「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」を受け付ける。
【００７７】
そして、第二指示送信部１２３は、受け付けられ指示「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」を第一情報処理装置１１に送信する。
【００７８】
次に、第一指示受信部１１２は、第二情報処理装置１２から、オブジェクト指示「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」を受信する。
【００７９】
そして、第一オブジェクト不存在情報取得部１１３は、受信したオブジェクト指示「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」に含まれるオブジェクト識別子「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」を取得する。
【００８０】
次に、第一オブジェクト不存在情報取得部１１３は、取得したオブジェクト識別子「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」をキーとして、第一オブジェクト格納部１１１を検索する。ここでは、オブジェクト識別子「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」に対応するオブジェクトは存在しないので、第一オブジェクト不存在情報取得部１１３は、オブジェクトが存在しない旨の情報（例えば、「−１」）を結果情報に代入する。
【００８１】
次に、第一送信部１１５は、オブジェクトが存在しない旨の結果情報（例えば、「−１」）を第二情報処理装置１２に送信する。
【００８２】
次に、第二受信部１２４は、第一情報処理装置１１から結果情報（例えば、「−１」）を受信する。
【００８３】
次に、第二処理部１２５は、受信された結果情報（例えば、「−１」）が、オブジェクトが存在しない旨の情報である、と判断する。
【００８４】
次に、第二処理部１２５は、オブジェクト指示に含まれるオブジェクト識別子「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」に対応する不存在時処理識別子を、図７の第二不存在時処理情報管理表から取得する。つまり、第二処理部１２５は、「ｉｎｓｔａｌｌ（ｌａｍｐ，／ｕｓｅｒ／＊／）；  ｂｕｙ＿ｆｕｅｌ（５０）；  ｌｉｇｈｔ（／ｕｓｅｒ／＊／ｌａｍｐ）；」を取得し、「＊」に、対応するオブジェクト識別子「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」の一部「ｈａｎａｋｏ」を代入する。そして、第二処理部１２５は、「ｉｎｓｔａｌｌ（ｌａｍｐ，／ｕｓｅｒ／ｈａｎａｋｏ／）；  ｂｕｙ＿ｆｕｅｌ（５０）；  ｌｉｇｈｔ（／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ）；」を得る。
【００８５】
そして、第二処理部１２５は、取得した不存在時処理識別子に対応する処理「ｉｎｓｔａｌｌ（ｌａｍｐ，／ｕｓｅｒ／ｈａｎａｋｏ／）；  ｂｕｙ＿ｆｕｅｌ（５０）；  ｌｉｇｈｔ（／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ）；」を実行する。
【００８６】
「ｉｎｓｔａｌｌ（ｌａｍｐ，／ｕｓｅｒ／ｈａｎａｋｏ／）」の実行の結果、オブジェクト「／ｕｓｅｒ／ｈａｎａｋｏ」の下位に、ノード「ｌａｍｐ」が付加される。
【００８７】
また、「ｂｕｙ＿ｆｕｅｌ（５０）」の実行の結果、オブジェクト「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」の下位に、ノード「ｆｕｅｌ」が付加され、かつ当該オブジェクト「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ／ｆｕｅｌ」にデータ「５０」が書き込まれる。
【００８８】
さらに、「ｌｉｇｈｔ（／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ）」の実行の結果、ｈａｎａｋｏさんのライトが点灯される。つまり、第二情報処理装置１２のディスプレイに、例えば、動画で、ｈａｎａｋｏさんのランプが点灯される。
【００８９】
（具体例３）
【００９０】
具体例３は、第二情報処理装置１２のユーザが指定したオブジェクト（ここでは、データ）が、第一情報処理装置１１に存在しない際に、不存在時処理識別子で識別される処理を実行する場合の例である。
【００９１】
まず、第二情報処理装置１２のユーザ（ｋａｚｕｏ）は、自身のランプを点灯しようと、「チェック  ／ｕｓｅｒ／ｋａｚｕｏ／ｌａｍｐ／ｆｕｅｌ」の実行を、第二情報処理装置１２に対して指示した、とする。「チェック  ／ｕｓｅｒ／ｋａｚｕｏ／ｌａｍｐ／ｆｕｅｌ」は、「／ｕｓｅｒ／ｋａｚｕｏ／ｌａｍｐ／ｆｕｅｌ」の存在をチェックする指示である。
【００９２】
次に、第二情報処理装置１２の第二受付部１２２は、「チェック  ／ｕｓｅｒ／ｋａｚｕｏ／ｌａｍｐ／ｆｕｅｌ」を受け付ける。
【００９３】
そして、第二指示送信部１２３は、受け付けられ指示「チェック  ／ｕｓｅｒ／ｋａｚｕｏ／ｌａｍｐ／ｆｕｅｌ」を第一情報処理装置１１に送信する。
【００９４】
次に、第一指示受信部１１２は、第二情報処理装置１２から、オブジェクト指示「チェック  ／ｕｓｅｒ／ｋａｚｕｏ／ｌａｍｐ／ｆｕｅｌ」を受信する。
【００９５】
そして、第一オブジェクト不存在情報取得部１１３は、受信したオブジェクト指示「チェック  ／ｕｓｅｒ／ｋａｚｕｏ／ｌａｍｐ／ｆｕｅｌ」に含まれるオブジェクト識別子「／ｕｓｅｒ／ｋａｚｕｏ／ｌａｍｐ／ｆｕｅｌ」を取得する。
【００９６】
次に、第一オブジェクト不存在情報取得部１１３は、取得したオブジェクト識別子「／ｕｓｅｒ／ｋａｚｕｏ／ｌａｍｐ／ｆｕｅｌ」をキーとして、第一オブジェクト格納部１１１を検索する。ここでは、オブジェクト識別子「／ｕｓｅｒ／ｋａｚｕｏ／ｌａｍｐ／ｆｕｅｌ」に対応するオブジェクトは存在しないので、第一オブジェクト不存在情報取得部１１３は、オブジェクトが存在しない旨の情報（例えば、「−１」）を結果情報に代入する。
【００９７】
次に、第一送信部１１５は、オブジェクトが存在しない旨の結果情報（例えば、「−１」）を第二情報処理装置１２に送信する。
【００９８】
次に、第二受信部１２４は、第一情報処理装置１１から結果情報（例えば、「−１」）を受信する。
【００９９】
次に、第二処理部１２５は、受信された結果情報（例えば、「−１」）が、オブジェクトが存在しない旨の情報である、と判断する。
【０１００】
次に、第二処理部１２５は、オブジェクト指示に含まれるオブジェクト識別子「／ｕｓｅｒ／ｋａｚｕｏ／ｌａｍｐ／ｆｕｅｌ」に対応する不存在時処理識別子を、図７の第二不存在時処理情報管理表から取得する。つまり、第二処理部１２５は、「ｂｕｙ＿ｆｕｅｌ（５０）；  ｌｉｇｈｔ（／ｕｓｅｒ／＊／ｌａｍｐ）；」を取得し、「＊」に、対応するオブジェクト識別子「／ｕｓｅｒ／ｋａｚｕｏ／ｌａｍｐ／ｆｕｅｌ」の一部「ｋａｚｕｏ」を代入する。そして、第二処理部１２５は、「ｂｕｙ＿ｆｕｅｌ（５０）；  ｌｉｇｈｔ（／ｕｓｅｒ／ｋａｚｕｏ／ｌａｍｐ）；」を得る。
【０１０１】
そして、第二処理部１２５は、取得した不存在時処理識別子に対応する処理「ｂｕｙ＿ｆｕｅｌ（５０）；  ｌｉｇｈｔ（／ｕｓｅｒ／ｋａｚｕｏ／ｌａｍｐ）；」を実行する。
【０１０２】
「ｂｕｙ＿ｆｕｅｌ（５０）」の実行の結果、オブジェクト「／ｕｓｅｒ／ｋａｚｕｏ／ｌａｍｐ」の下位に、ノード「ｆｕｅｌ」が付加され、かつ当該オブジェクト「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ／ｆｕｅｌ」にデータ「５０」が書き込まれる。
【０１０３】
さらに、「ｌｉｇｈｔ（／ｕｓｅｒ／ｋａｚｕｏ／ｌａｍｐ）」の実行の結果、ｋａｚｕｏさんのライトが点灯される。つまり、第二情報処理装置１２のディスプレイに、例えば、動画で、ｋａｚｕｏさんのランプが点灯される。
【０１０４】
以上、本実施の形態によれば、ノードが階層化されているオブジェクトが格納されている第一情報処理装置１１、オブジェクトを利用して処理を行う第二情報処理装置１２を具備し、第二情報処理装置１２は、オブジェクトの存在または不存在を示す情報を取得し、存在または不存在に応じた異なる処理を行う情報処理システムを提供できる。
【０１０５】
かかる情報処理システムにより、以下のような効果を奏する。つまり、複数のプログラマーやユーザ等により、ネットワーク上の１以上の情報処理装置で分散して１以上のアプリケーションが開発され、かつ、随時、１以上の情報処理装置に存在するオブジェクト（アプリケーションやデータ）が変更されたり、追加されたりする場合でも、エラーとならずに動作するアプリケーションを得ることができる。
【０１０６】
なお、本実施の形態の具体例によれば、不存在ノード識別子や不存在時処理識別子は、図７に示す表に格納されていた。しかし、不存在ノード識別子や不存在時処理識別子などの管理方法は問わない。つまり、例えば、不存在ノード識別子や不存在時処理識別子は、図８のように、第二情報処理装置１２の第二不存在時処理情報格納部１２１に格納されているプログラム内に埋め込まれていても良い。
【０１０７】
図８は、すべてのユーザ（ｔａｒｏ、ｈａｎａｋａ、ｋａｚｕｏ等）のランプを点灯するためのプログラムである。図８において、「Ｆｏｒ（ａｌｌ＿ｕｓｅｒｓ）」は、すべてのユーザの資源に対して処理を行う（ランプを点灯する）ループである。また、「ＩＦ  "ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／＊／ｌａｍｐ"  ＩＳ  ＮＯＴ  ＥＸＩＳＴ」は、「アプリケーション"ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／＊／ｌａｍｐ"が存在しなければ」という条件を示す。そして、この条件を満たす場合に「｛｝「｝」で囲まれた不存在時処理識別子で識別される処理を実行することを示す。
【０１０８】
また、図８において、「ＩＦ  "ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／＊／ｌａｍｐ／ｆｕｅｌ"  ＩＳ  ＮＯＴ  ＥＸＩＳＴ」は、「データ"ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／＊／ｌａｍｐ／ｆｕｅｌ"が存在しなければ」という条件を示す。そして、この条件を満たす場合に「｛｝「｝」で囲まれた不存在時処理識別子で識別される処理を実行することを示す。
【０１０９】
また、図８において、「ＩＦ  "ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／＊／ｌａｍｐ／ｆｕｅｌ"＝＝０」は、「データ"ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／＊／ｌａｍｐ／ｆｕｅｌ"が「０」であれば」という条件を示す。そして、この条件を満たす場合に「｛｝「｝」で囲まれた処理識別子で識別される処理を実行することを示す。
【０１１０】
さらに、図８において、「ＥＬＳＥ」は、上記の３つの条件をすべて満たさない場合、という条件を示す。そして、この条件を満たす場合に「｛｝「｝」で囲まれた処理識別子で識別される処理を実行することを示す。
【０１１１】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。また、このソフトウェアまたは、このソフトウェアを記録した記録媒体は、コンピュータプログラム製品として流通しても良いことは言うまでもない。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における第一情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、データの１以上のノードとアプリケーションの１以上のノードを有し、ノードが階層化されているオブジェクトを、１以上格納しており、コンピュータを、第二情報処理装置から、オブジェクトを識別するオブジェクト識別子を有する指示であり、当該オブジェクトに対する指示であるオブジェクト指示を受信する第一指示受信部と、前記オブジェクト指示が有するオブジェクト識別子により識別されるオブジェクトが存在しない場合、当該オブジェクトが存在しない旨の情報を取得する第一オブジェクト不存在情報取得部と、前記オブジェクト指示が有するオブジェクト識別子により識別されるオブジェクトが存在する場合、前記オブジェクト指示に応じて、オブジェクトを処理する第一処理部と、前記第一オブジェクト不存在情報取得部が取得した情報である結果情報、または前記第一処理部が処理した結果の情報である結果情報を、前記第二情報処理装置に送信する第一送信部として機能させるためのプログラム、である。
【０１１２】
また、第二情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、オブジェクト識別子と、当該オブジェクト識別子により識別されるオブジェクトが存在しない場合に行う処理を識別する不存在時処理識別子とを対にして格納しており、コンピュータを、前記第一情報処理装置が送信した結果情報を受信する第二受信部と、前記第二受信部が受信した結果情報が、オブジェクトが存在しない旨の情報である場合、当該オブジェクトのオブジェクト識別子に対応する不存在時処理識別子により識別される処理を実行する第二処理部と、前記第二受信部が受信した結果情報が、オブジェクトが存在しない旨の情報でない場合、当該結果情報を出力する第二出力部として機能させるためのプログラム、である。
【０１１３】
（実施の形態２）
【０１１４】
本実施の形態において、データの１以上のノードとアプリケーションの１以上のノードを有し、ノードが階層化されているオブジェクトが格納されている第一情報処理装置、オブジェクトを利用して処理を行う第二情報処理装置を具備する情報処理システムについて説明する。また、第二情報処理装置は、オブジェクトの構造を取得する。さらに、第一情報処理装置は、その構造に応じた異なる処理を行う。
【０１１５】
本実施の形態における情報処理システム２の概念図は、図１と同様である。また、図９は、本実施の形態における情報処理システム２のブロック図である。
【０１１６】
情報処理システム２は、第一情報処理装置２１、第二情報処理装置２２を具備する。
【０１１７】
第一情報処理装置２１は、第一オブジェクト格納部１１１、第一指示受信部１１２、第一構造情報取得部２１３、第一処理部２１４、第一送信部２１５を具備する。
【０１１８】
第二情報処理装置２２は、第二受付部１２２、第二指示送信部１２３、第二受信部２２４、第二処理部２２５、第二出力部２２６を具備する。
【０１１９】
第二処理部２２５は、構造処理情報格納手段２２５１、処理手段２２５２を具備する。
【０１２０】
第一構造情報取得部２１３は、オブジェクトまたは構造情報を取得する。構造情報とは、オブジェクトの構造に関する情報である。構造情報とは、例えば、オブジェクトの階層の深さ、オブジェクト内のノード数、オブジェクトの階層中の横のノード（兄弟ノード）の最大数、オブジェクトの階層の深さとオブジェクトの階層中の横のノードの最大数との大きい方の情報などである。第一構造情報取得部２１３が取得するオブジェクトは、第一指示受信部１１２が受信したオブジェクト指示が有するオブジェクト識別子により識別されるオブジェクトである。なお、第一構造情報取得部２１３がオブジェクトを取得する場合、第二情報処理装置２２が当該オブジェクトの構造情報を取得する。また、第一構造情報取得部２１３が取得する構造情報は、第一指示受信部１１２が受信したオブジェクト指示が有するオブジェクト識別子により識別されるオブジェクトの構造に関する情報である。第一構造情報取得部２１３は、通常、ＭＰＵやメモリ等から実現され得る。第一構造情報取得部２１３の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１２１】
第一処理部２１４は、各種の処理を行う。当該各種の処理は、何でも良い。第一処理部２１４は、例えば、各種の処理に対応するプログラム、モジュール、電子回路等を保持している。第一処理部２１４は、通常、ＭＰＵやメモリ等から実現され得る。第一処理部２１４の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１２２】
第一送信部２１５は、第一構造情報取得部２１３が取得したオブジェクトまたは、構造情報を、第二情報処理装置２２に送信する。第一送信部２１５は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【０１２３】
第二受信部２２４は、第一情報処理装置２１が送信したオブジェクトまたは、構造情報を受信する。第二受信部２２４は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【０１２４】
第二処理部２２５は、第二受信部２２４が受信したオブジェクトから取得される構造情報、または第二受信部２２４が受信した構造情報に応じて、異なる処理を実行する。なお、上記の異なる処理の内容は問わない。第二処理部２２５は、例えば、１階層の深さのオブジェクトに対しては、処理Ａ（例えば、順次、ノードを処理するもの）を行い、２階層以上の深さのオブジェクトに対しては、処理Ｂ（例えば、再帰処理するもの）を行う、など、階層の深さによって、処理が異なる。また、第二処理部２２５は、例えば、１階層のオブジェクトに対する処理と、２階層のオブジェクトに対する処理と、３階層以上のオブジェクトに対する処理が異なるものとなることは好適である。例えば、第二処理部２２５は、家族構成にあわせた家を構成し、出力するゲームを実行するものであり、家を建設する対象とするオブジェクト（家族）が１階層（単世帯）である場合は、単世帯用の住宅を自動構築し、出力する。また、例えば、第二処理部２２５は、家を建設する対象とするオブジェクト（家族）が２階層（二世帯）である場合は、二世帯用の住宅（玄関ドアが２つ、台所が２つなど）を自動構築し、出力する。第二処理部２２５は、通常、ＭＰＵやメモリ等から実現され得る。第二処理部２２５の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１２５】
構造処理情報格納手段２２５１は、２以上の構造処理情報を格納している。構造処理情報は、オブジェクトの構造情報（例えば、階層構造の深さ）と処理を識別する処理識別子を対に有する。ここで、階層構造の深さは、通常、数値である。また、処理識別子とは、メソッド名、関数名、メッセージ名、実行モジュール名などである。処理識別子は、プログラム中に埋め込まれていても良い。構造処理情報格納手段２２５１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。構造処理情報格納手段２２５１に構造処理情報が記憶される過程は問わない。例えば、記録媒体を介して構造処理情報が構造処理情報格納手段２２５１で記憶されるようになってもよく、通信回線等を介して送信された構造処理情報が構造処理情報格納手段２２５１で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された構造処理情報が構造処理情報格納手段２２５１で記憶されるようになってもよい。
【０１２６】
処理手段２２５２は、構造情報に対応する処理識別子で識別される処理を実行する。処理手段２２５２は、通常、ＭＰＵやメモリ等から実現され得る。処理手段２２５２の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１２７】
第二出力部２２６は、第二処理部２２５の実行結果を出力する。実行結果の内容やデータ構造等は問わない。第二出力部２２６は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。第二出力部２２６は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【０１２８】
次に、情報処理システム２の動作について説明する。まず、第一情報処理装置２１の動作について、図１０のフローチャートを用いて説明する。
【０１２９】
（ステップＳ１００１）第一指示受信部１１２は、第二情報処理装置２２から、オブジェクト指示を受信したか否かを判断する。オブジェクト指示を受信すればステップＳ１００２に行き、オブジェクト指示を受信しなければステップＳ１００１に戻る。
【０１３０】
（ステップＳ１００２）第一構造情報取得部２１３は、ステップＳ１００１で受信されたオブジェクト指示が、オブジェクトの構造を取得する処理を行う指示、または、オブジェクトの構造に関連する指示（かかる指示を構造関連指示という）であるか否かを判断する。なお、通常、第一構造情報取得部２１３は、構造関連指示に対応する１以上の処理識別子を格納している。そして、第一構造情報取得部２１３は、オブジェクト指示がいずれかの構造関連指示を含むか否かを判断する。
【０１３１】
（ステップＳ１００３）第一構造情報取得部２１３は、ステップＳ１００１で受信されたオブジェクト指示から、オブジェクト識別子を取得する。
【０１３２】
（ステップＳ１００４）第一構造情報取得部２１３は、ステップＳ１００３で取得したオブジェクト識別子から、オブジェクトまたは構造情報を取得する。構造情報とは、当該オブジェクト識別子で識別されるオブジェクトの構造情報である。なお、例えば、オブジェクト識別子がＵＲＩであり、第一構造情報取得部２１３は、当該ＵＲＩから階層の深さを取得する。また、階層の深さは、構造情報の一例である。なお、かかる処理は公知技術である。
【０１３３】
（ステップＳ１００５）第一処理部２１４は、ステップＳ１００１で受信されたオブジェクト指示に対応する動作を実行する。
【０１３４】
（ステップＳ１００６）第一送信部２１５は、実行結果（結果情報）を送信する。結果情報とは、ステップＳ１００４で取得したオブジェクトまたは構造情報、またはステップＳ１００５における動作実行の結果である。ステップＳ１００１に戻る。
【０１３５】
なお、図１０のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０１３６】
次に、第二情報処理装置２２の動作について、図１１のフローチャートを用いて説明する。図１１のフローチャートにおいて、図４のフローチャートと同一のステップについて、その説明を省略する。
【０１３７】
（ステップＳ１１０１）第二処理部２２５は、ステップＳ４０３で受信した結果情報が構造に関連する情報であるか否かを判断する。結果情報が構造に関連する情報であればステップＳ１１０２に行き、結果情報が構造に関連する情報でなければステップＳ４０６に行く。なお、ここで、第二処理部２２５は、送信した指示が構造に関連する指示であるか否かを判断しても良い。
【０１３８】
（ステップＳ１１０２）第二処理部２２５は、ステップＳ４０３で受信した結果情報が構造情報であるか、オブジェクトであるかを判断する。構造情報であればステップＳ１１０４に行き、オブジェクトであればステップＳ１１０３に行く
【０１３９】
（ステップＳ１１０３）第二処理部２２５の処理手段２２５２は、オブジェクトから構造情報を取得する。
【０１４０】
（ステップＳ１１０４）処理手段２２５２は、構造情報に対応する処理識別子を構造処理情報格納手段２２５１から取得する。
【０１４１】
（ステップＳ１１０５）処理手段２２５２は、ステップＳ１１０４で取得した処理識別子で識別される処理を実行する。ステップＳ４０１に戻る。
【０１４２】
なお、図１１のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０１４３】
以下、本実施の形態における情報処理システム２の具体的な動作について説明する。情報処理システム２の概念図は図１である。
【０１４４】
今、第一情報処理装置２１の第一オブジェクト格納部１１１は、図１２に示すオブジェクトを格納している。本オブジェクトは、外部のプログラム（アプリケーション）から利用されるノードの集合であり、図５のオブジェクトと同様の構造を有する。図１２に示すオブジェクトは、各ユーザの家族構成を示しており、階層化されたデータノード等の集合である。なお、図１２に示すオブジェクトは、アプリケーションのノードを有しても良いことは言うまでもない。なお、第一情報処理装置２１のドメイン名は、「ｇａｍｅ＿Ａ」である、とする。そして、第一情報処理装置２１には、「ｈｔｔｐ：／／ｇａｍｅ＿Ａ」によりアクセスできる。
【０１４５】
また、図１２に示すオブジェクトにおいて、「ｔａｒｏ」ノードは、子ノードを有しない。また、「ｈａｎａｋｏ」ノードは、２つの子ノードを有する。また、「ｈａｎａｋｏ」ノードの子ノード「ｈｃｈｉｌｄ２」は、一つの子ノード（「ｈａｎａｋｏ」ノードから見れば孫ノード）を有する。さらに、「ｋａｚｕｏ」ノードは、２つの子ノードを有し、孫ノードを有さない。
【０１４６】
また、第二情報処理装置２２の構造処理情報格納手段２２５１は、図１３に示す構造処理情報管理表を保持している。構造処理情報管理表は、「ＩＤ」「階層レベル」「処理識別子」の属性を有する。「階層レベル」は、階層の深さを示す。処理識別子は、階層レベルが決定された場合に、実行させる処理を識別する情報である。処理識別子は、ここでは、関数名（メソッド名、メッセージ名などでも良い）である。図１３において、処理識別子「ｃｒｅａｔｅ＿１ｓｔ＿ｈｏｕｓｅ」で識別される関数は、１階建ての家であり、単世帯家族の家を定義する処理を行う。処理識別子「ｃｒｅａｔｅ＿２ｎｄ＿ｈｏｕｓｅ」で識別される関数は、２階建ての家であり、二世帯家族の家を定義する処理を行う。処理識別子「ｃｒｅａｔｅ＿３ｒｄ＿ｈｏｕｓｅ」で識別される関数は、３階建ての家であり、三世帯家族の家を定義する処理を行う。
【０１４７】
かかる状況において、第二情報処理装置２２のユーザは、オブジェクト指示「Ｃｒｅａｔｅ＿ｈｏｕｓｅ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｔａｒｏ」を入力した、とする。
【０１４８】
そして、第二受付部１２２は、オブジェクト指示「Ｃｒｅａｔｅ＿ｈｏｕｓｅ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｔａｒｏ」を受け付ける。
【０１４９】
次に、第二指示送信部１２３は、オブジェクト指示「Ｃｒｅａｔｅ＿ｈｏｕｓｅ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｔａｒｏ」を、第一情報処理装置２１に送信する。なお、第二指示送信部１２３は、オブジェクト指示「Ｃｒｅａｔｅ＿ｈｏｕｓｅ  ／ｕｓｅｒ／ｔａｒｏ」を、第一情報処理装置２１に送信しても良い。
【０１５０】
次に、第一情報処理装置２１の第一指示受信部１１２は、「Ｃｒｅａｔｅ＿ｈｏｕｓｅ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｔａｒｏ」を受信する。
【０１５１】
そして、第一構造情報取得部２１３は、オブジェクト指示「Ｃｒｅａｔｅ＿ｈｏｕｓｅ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｔａｒｏ」が有する命令「Ｃｒｅａｔｅ＿ｈｏｕｓｅ」を取出し、当該オブジェクト指示が、オブジェクトの構造を取得する処理を行う指示であると判断する、とする。なお、第一構造情報取得部２１３は、オブジェクトの構造を取得する処理を行う命令を識別する１以上の構造関連指示に対応する１以上の処理識別子「Ｃｒｅａｔｅ＿ｈｏｕｓｅ，Ｇｅｔ＿ｎｅｓｔ＿ｌｅｖｅｌ，・・・・」を、予め格納している、とする。そして、第一構造情報取得部２１３は、予め格納している１以上の構造関連指示に対応する識別子の中に、第一指示受信部１１２が受信したオブジェクト指示が有する命令が含まれるか否かを判断する。そして、「Ｃｒｅａｔｅ＿ｈｏｕｓｅ」は、保持している識別子の中に含まれるので、第一構造情報取得部２１３は、オブジェクト指示「Ｃｒｅａｔｅ＿ｈｏｕｓｅ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｔａｒｏ」が、オブジェクトの構造を取得する処理を行う指示であると判断する。
【０１５２】
次に、第一構造情報取得部２１３は、受信されたオブジェクト指示「Ｃｒｅａｔｅ＿ｈｏｕｓｅ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｔａｒｏ」から、オブジェクト識別子「／ｕｓｅｒ／ｔａｒｏ」を取得する。なお、オブジェクト識別子は、ここでは、「ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｔａｒｏ」からプロトコルを識別する情報「ｈｔｔｐ」、ドメイン名「ｇａｍｅ＿Ａ」を除いているが、これらを含めてオブジェクト識別子と考えても良い。
【０１５３】
次に、第一構造情報取得部２１３は、取得したオブジェクト識別子「／ｕｓｅｒ／ｔａｒｏ」から、当該オブジェクト識別子の子孫のノードを含むオブジェクトの階層の深さ「１」を取得する。なお、子孫のノードが無い場合に、構造情報は「１」となる、とする。
【０１５４】
次に、第一処理部２１４は、図１３に示す構造処理情報管理表から、構造情報「１」に対応する処理識別子「ｃｒｅａｔｅ＿１ｓｔ＿ｈｏｕｓｅ」を取得する。そして、第一処理部２１４は、処理識別子「ｃｒｅａｔｅ＿１ｓｔ＿ｈｏｕｓｅ」に対応する処理を実行する。つまり、第一処理部２１４は、処理「ｃｒｅａｔｅ＿１ｓｔ＿ｈｏｕｓｅ（／ｕｓｅｒ／ｔａｒｏ）」を実行する。そして，ｔａｒｏさんの家（単世帯の家）が構築される。なお、家の構築とは、例えば、家のデータのデータベース内への書き込み等である。
【０１５５】
次に、第一送信部２１５は、実行結果（ｔａｒｏさんの家の情報（たとえば、家の図面等））を、第二情報処理装置２２に送信する。
【０１５６】
次に、第二情報処理装置２２の第二受信部２２４は、実行結果（ｔａｒｏさんの家の情報（たとえば、家の図面等））を受信する。そして、第二出力部２２６は、当該実行結果を出力する。
【０１５７】
また、次に、第二情報処理装置２２のユーザは、オブジェクト指示「Ｃｒｅａｔｅ＿ｈｏｕｓｅ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｈａｎａｋｏ」を入力した、とする。
【０１５８】
そして、第二受付部１２２は、オブジェクト指示「Ｃｒｅａｔｅ＿ｈｏｕｓｅ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｈａｎａｋｏ」を受け付ける。
【０１５９】
次に、第二指示送信部１２３は、オブジェクト指示「Ｃｒｅａｔｅ＿ｈｏｕｓｅ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｈａｎａｋｏ」を、第一情報処理装置２１に送信する。
【０１６０】
次に、第一情報処理装置２１の第一指示受信部１１２は、「Ｃｒｅａｔｅ＿ｈｏｕｓｅ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｈａｎａｋｏ」を受信する。
【０１６１】
そして、第一構造情報取得部２１３は、オブジェクト指示「Ｃｒｅａｔｅ＿ｈｏｕｓｅ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｈａｎａｋｏ」が有する命令「Ｃｒｅａｔｅ＿ｈｏｕｓｅ」を取出し、当該オブジェクト指示が、オブジェクトの構造を取得する処理を行う指示であると判断する、とする。
【０１６２】
次に、第一構造情報取得部２１３は、受信されたオブジェクト指示「Ｃｒｅａｔｅ＿ｈｏｕｓｅ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｈａｎａｋｏ」から、オブジェクト識別子「／ｕｓｅｒ／ｈａｎａｋｏ」を取得する。
【０１６３】
次に、第一構造情報取得部２１３は、取得したオブジェクト識別子「／ｕｓｅｒ／ｈａｎａｋｏ」から、当該オブジェクト識別子の子孫のノードを含むオブジェクトの階層の深さ「３」を取得する。オブジェクト識別子「／ｕｓｅｒ／ｈａｎａｋｏ」の最下位のノードは「／ｕｓｅｒ／ｈａｎａｋｏ／ｈｃｈｉｌｄ２／ｈｇｃｈ１」であり、「／ｕｓｅｒ／ｈａｎａｋｏ」のノードのさらに２階層下位であるので、第一構造情報取得部２１３は、階層の深さ「３」を取得する。
【０１６４】
次に、第一処理部２１４は、図１３に示す構造処理情報管理表から、構造情報「３」に対応する処理識別子「ｃｒｅａｔｅ＿３ｒｄ＿ｈｏｕｓｅ」を取得する。そして、第一処理部２１４は、処理識別子「ｃｒｅａｔｅ＿３ｒｄ＿ｈｏｕｓｅ」に対応する処理を実行する。つまり、第一処理部２１４は、処理「ｃｒｅａｔｅ＿３ｒｄ＿ｈｏｕｓｅ（／ｕｓｅｒ／ｈａｎａｋｏ）」を実行する。そして，ｈａｎａｋｏさんの家（三世帯の家）が構築される。
【０１６５】
次に、第一送信部２１５は、結果情報（ｈａｎａｋｏさんの家の情報）を、第二情報処理装置２２に送信する。
【０１６６】
次に、第二情報処理装置２２の第二受信部２２４は、結果情報を受信する。そして、第二出力部２２６は、当該結果情報を出力する。
【０１６７】
以上、本実施の形態によれば、遠隔の装置に格納されているオブジェクトを用いて、何らかの動作を行う場合に、当該オブジェクトの構造によって、異なる動作を行うことができる。かかることにより、階層化されているオブジェクト（アプリケーションとデータのノードの集合）の特性を生かした処理ができる。また、オブジェクトの構造によって、異なる動作を行うことができることにより、いわゆるメタプログラミングが容易になる。
【０１６８】
なお、本実施の形態の具体例によれば、構造処理情報格納手段２２５１は、構造処理情報を表構造で保持していた。しかし、構造処理情報の構造は問わない。構造処理情報は、例えば、プログラム中に埋め込まれていても良い。かかるプログラムの例は、図１４である。図１４の「ＧＥＴ＿ｎｅｓｔ＿ｌｅｖｅｌ（ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／Ｐｅｒｓｏｎ）」は、（）内の引数のノード以下のノードの構造情報（階層の深さ）を取得するオブジェクト指示である。また、「ＧＥＴ＿ｎｅｓｔ＿ｌｅｖｅｌ（ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／Ｐｅｒｓｏｎ）」における「Ｐｅｒｓｏｎ」は、変数となっており、例えば、「ｔａｒｏ」や「ｈａｎａｋｏ」などが代入される。また、図１４において、構造情報「１」の場合には、「ｃｒｅａｔｅ＿１ｓｔ＿ｈｏｕｓｅ（ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／Ｐｅｒｓｏｎ）」が実行される。「ｃｒｅａｔｅ＿１ｓｔ＿ｈｏｕｓｅ（ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／Ｐｅｒｓｏｎ）」は、「Ｐｅｒｓｏｎ」で識別されるノード以下の構造を加味した家（単世帯の家）を構築する処理である。
【０１６９】
また、本実施の形態の具体例によれば、構造情報は階層の深さであった。しかし、構造情報は、上述したように、オブジェクトの構造に関わる他の情報であっても良い。つまり、第二処理部２２５は、構造情報によって、異なる処理を実行できれば良い。例えば、第二処理部２２５は、オブジェクト指示に含まれるオブジェクトの兄弟ノードが、階層の深さより大きい場合は、幅優先の処理（処理の内容は問わない）を行い、兄弟ノードが階層の深さより小さい場合は、深さ優先の処理を行うなどしても良い。かかる場合、構造情報は、オブジェクトの兄弟のノードの数とオブジェクトの階層の深さの大小である。
【０１７０】
さらに、本実施の形態における第一情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、データの１以上のノードとアプリケーションの１以上のノードを有し、ノードが階層化されているオブジェクトを、１以上格納しており、コンピュータを、第二情報処理装置から、オブジェクトを識別するオブジェクト識別子を有する指示であり、当該オブジェクトに対する指示であるオブジェクト指示を受信する第一指示受信部と、前記オブジェクト指示が有するオブジェクト識別子により識別されるオブジェクト、または前記オブジェクト指示が有するオブジェクト識別子により識別されるオブジェクトの構造に関する情報である構造情報を取得する第一構造情報取得部と、前記第一構造情報取得部が取得したオブジェクトまたは、構造情報を、前記第二情報処理装置に送信する第一送信部として機能させるためのプログラム、である。
【０１７１】
また、第二情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、第一情報処理装置が送信したオブジェクトまたは、構造情報を受信する第二受信部と、前記第二受信部が受信したオブジェクトから取得される構造情報、または前記第二受信部が受信した構造情報に応じて、異なる処理を実行する第二処理部と、前記第二処理部の実行結果を出力する第二出力部として機能させるためのプログラム、である。
【０１７２】
（実施の形態３）
【０１７３】
本実施の形態において、ノードが階層化されているオブジェクトが格納されている第一情報処理装置、オブジェクトを利用して処理を行う第二情報処理装置に加えて、第三情報処理装置を有し、第三情報処理装置のオブジェクトに対して、第一情報処理装置のオブジェクトからリンクが張れる情報処理システムについて説明する。本実施の形態において、一のオブジェクトが、他の装置のオブジェクトへのリンクを含むリンクオブジェクトである場合の、一のオブジェクトの処理方法を説明する。なお、リンクオブジェクトの、他のオブジェクトの処理方法については、実施の形態４で説明する。
【０１７４】
図１５は、本実施の形態における情報処理システム３の概念図である。情報処理システム３は、第一情報処理装置３１、第二情報処理装置３２、第三情報処理装置３３を具備する。
【０１７５】
図１６は、本実施の形態における情報処理システム３のブロック図である。第一情報処理装置３１は、第一オブジェクト格納部３１１、第一指示受信部１１２、第一リンクオブジェクト判断部３１３、第一リンクノード群指示送信部３１４、第一リンク先ノード群処理結果受信部３１５、第一処理部３１６、第一送信部３１７、第一オブジェクト不存在情報取得部１１３、第一構造情報取得部２１３を具備する。
【０１７６】
第二情報処理装置３２は、第二受付部１２２、第二指示送信部１２３、第二受信部３２４、第二処理部３２５、第二出力部３２６、第二不存在時処理情報格納部１２１を具備する。
【０１７７】
第二処理部３２５は、構造処理情報格納手段２２５１、処理手段２２５２を具備する。
【０１７８】
第三情報処理装置３３は、第三オブジェクト格納部３３１、第三指示受信部３３２、第三処理部３３３、第三送信部３３４を具備する。
【０１７９】
第一オブジェクト格納部３１１は、１以上のオブジェクトを格納し得る。第一オブジェクト格納部３１１が格納しているオブジェクトの中の１以上のオブジェクトは、リンクオブジェクトである、とする。リンクオブジェクトとは、階層化されたノード群からなるオブジェクトのうちの一部のノード群（これをリンクノード群という）が他の装置（ここでは、第三情報処理装置３３）に存在するオブジェクトである。リンクオブジェクトの一のノードは、前記他の装置へのリンクの情報が格納されている。第一オブジェクト格納部３１１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。第一オブジェクト格納部３１１にオブジェクトが記憶される過程は問わない。例えば、記録媒体を介してオブジェクトが第一オブジェクト格納部３１１で記憶されるようになってもよく、通信回線等を介して送信されたオブジェクトが第一オブジェクト格納部３１１で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたオブジェクトが第一オブジェクト格納部３１１で記憶されるようになってもよい。
【０１８０】
第一指示受信部１１２は、リンクノード群指示を受信する。リンクノード群指示とは、リンクノード群に対する指示である。言い換えれば、リンクノード群指示とは、リンク先のノードまたはリンク先のノード以下の下位ノード群に対する指示である。指示の内容は問わない。指示とは、例えば、リンクノード群を送信させる指示や、リンクノード群の存在／不存在を送信させる指示や、リンクノード群の構造情報を送信させる指示や、リンクノード群を構成する１以上のノードに対する処理（更新、削除、追加など）等である。第一指示受信部１１２は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【０１８１】
第一リンクオブジェクト判断部３１３は、第一指示受信部１１２が受信したリンクノード群指示に対応するオブジェクトがリンクオブジェクトであるか否かを判断する。ここで、リンクオブジェクトとは、第三情報処理装置３３に格納されているオブジェクトへのリンクのノードを有するオブジェクトである。また、言い換えれば、リンクオブジェクトとは、リンクノード群を有するオブジェクトである。第一リンクオブジェクト判断部３１３は、通常、ＭＰＵやメモリ等から実現され得る。第一リンクオブジェクト判断部３１３の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１８２】
第一リンクノード群指示送信部３１４は、第一リンクオブジェクト判断部３１３が、オブジェクトがリンクオブジェクトであると判断した場合、当該リンクオブジェクトのリンク先の装置である第三情報処理装置３３に対して、リンクノード群指示を送信する。第一リンクノード群指示送信部３１４は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【０１８３】
第一リンク先ノード群処理結果受信部３１５は、リンクノード群指示の送信に対応して、第三情報処理装置３３からリンクノード群の処理結果を受信する。処理結果とは、リンクノード群に対して行った処理の結果でも良いし、リンクノード群でも良いし、リンクノード群の存在または不存在を示す情報でも良いし、リンクノード群の構造情報などでも良い。処理結果をもたらす処理の内容は問わない。第一リンク先ノード群処理結果受信部３１５は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【０１８４】
第一処理部３１６は、処理結果である結果情報、または当該処理結果に対して行った処理の結果である結果情報を取得する。また、ここでは、第一処理部３１６は、第一処理部１１４と第一処理部２１４が行う処理をも行える、とする。第一処理部３１６は、通常、ＭＰＵやメモリ等から実現され得る。第一処理部３１６の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１８５】
第一送信部３１７は、結果情報を、第二情報処理装置３２に送信する。第一送信部３１７は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【０１８６】
第二受信部３２４は、第一情報処理装置３１が送信した結果情報を受信する。また、第二受信部３２４は、第一情報処理装置３１が送信したオブジェクトまたは、構造情報を受信する。第二受信部３２４は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【０１８７】
第二処理部３２５は、第二受信部１２４が受信した結果情報が、オブジェクトが存在しない旨の情報である場合、当該オブジェクトのオブジェクト識別子に対応する不存在時処理識別子により識別される処理を実行する。また、第二処理部３２５は、第二受信部２２４が受信したオブジェクトから取得される構造情報、または第二受信部２２４が受信した構造情報に応じて、異なる処理を実行する。なお、上記の異なる処理の内容は問わない。第二処理部３２５は、通常、ＭＰＵやメモリ等から実現され得る。第二処理部３２５の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１８８】
第二出力部３２６は、第二受信部１２４が受信した結果情報が、オブジェクトが存在しない旨の情報でない場合、当該結果情報を出力する。また、第二出力部３２６は、第二処理部３２５の実行結果を出力する。第二出力部３２６は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。第二出力部３２６は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【０１８９】
第三オブジェクト格納部３３１は、１以上のオブジェクトを格納し得る。第三オブジェクト格納部３３１は、第一オブジェクト格納部３１１の一のオブジェクトのノードからのリンクを有するオブジェクトを、１以上格納し得る。第三オブジェクト格納部３３１のオブジェクト内に、第一情報処理装置３１からのリンクを有することを示す情報は存在しなくても、存在しても良い。また、リンクは、有向でも、無向でも良い。なお、リンクは、通常、有向である。第三オブジェクト格納部３３１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。第三オブジェクト格納部３３１にオブジェクトが記憶される過程は問わない。例えば、記録媒体を介してオブジェクトが第三オブジェクト格納部３３１で記憶されるようになってもよく、通信回線等を介して送信されたオブジェクトが第三オブジェクト格納部３３１で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたオブジェクトが第三オブジェクト格納部３３１で記憶されるようになってもよい。
【０１９０】
第三指示受信部３３２は、第一情報処理装置３１から、リンクノード群に対する指示であるリンクノード群指示を受信する。第三指示受信部３３２は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【０１９１】
第三処理部３３３は、リンクノード群指示に対応する処理を行い、処理結果を取得する。第三処理部３３３が行う処理の内容は問わない。また、第三処理部３３３は、１以上の種類の各リンクノード群指示に対応する処理モジュール（実行モジュール、プログラム、電子回路等で実現され得る）を保持しており、リンクノード群指示に対応する処理モジュールを選択し、実行する。第三処理部３３３は、通常、ＭＰＵやメモリ等から実現され得る。第三処理部３３３の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１９２】
第三送信部３３４は、第三処理部３３３の処理結果を第一情報処理装置３１に送信する。第三送信部３３４は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【０１９３】
次に、情報処理システム３の動作について説明する。まず、図１７のフローチャートを用いて、第一情報処理装置３１の動作について説明する。図１７のフローチャートにおいて、図３、図１０のフローチャートと同一のステップについて、その説明を省略する。
【０１９４】
（ステップＳ１７０１）第一リンクオブジェクト判断部３１３は、第一指示受信部１１２が受信したオブジェクト指示に対応するオブジェクトがリンクオブジェクトであるか否かを判断する。さらに具体的には、例えば、第一リンクオブジェクト判断部３１３は、以下のように処理を行う。まず、第一リンクオブジェクト判断部３１３は、第一指示受信部１１２が受信したオブジェクト指示が有するオブジェクト識別子を取得する。次に、オブジェクト識別子で識別されるオブジェクトに含まれるノードを階層の上位ノードから下位ノードを順に調べて、オブジェクト内にリンクノードが含まれるか否かを判断する。なお、リンクノードは、例えば、そのノードのデータが「ｈｔｔｐ：／／ｇａｍｅ＿Ｂ／ｘｘｘ／ｙｙｙ」のように、プロトコル名とドメイン名を有する。なお、リンクノードのデータは、プロトコル名とドメイン名を有することは必須ではなく、予め決められたリンクノードのデータ内容またはデータ形式等であれば良い。
【０１９５】
（ステップＳ１７０２）第一リンクオブジェクト判断部３１３は、ステップＳ１７０１における判断結果が、リンクオブジェクトであるとの判断である場合にステップＳ１７０３に進め、リンクオブジェクトでないとの判断である場合にステップＳ３０２に進める。
【０１９６】
（ステップＳ１７０３）第一リンクノード群指示送信部３１４は、リンクノード群指示を構成する。第一リンクノード群指示送信部３１４は、例えば、リンクノードのデータ（例えば、「ｈｔｔｐ：／／ｇａｍｅ＿Ｂ／ｘｘｘ／ｙｙｙ」）と予め保持している命令識別子（例えば、ＧＥＴ）を用いて、「ＧＥＴ  ｈｔｔｐ：／／ｇａｍｅ＿Ｂ／ｘｘｘ／ｙｙｙ」を構成し、メモリ上に格納する。
【０１９７】
（ステップＳ１７０４）第一リンクノード群指示送信部３１４は、ステップＳ１７０３で構成したリンクノード群指示を第三情報処理装置３３に送信する。
【０１９８】
（ステップＳ１７０５）第一リンク先ノード群処理結果受信部３１５は、リンクノード群指示の送信に対応して、第三情報処理装置３３からリンクノード群の処理結果を受信したか否かを判断する。処理結果を受信すればステップＳ１７０８に行き、処理結果を受信しなければステップＳ１７０６に行く。
【０１９９】
（ステップＳ１７０６）第一処理部３１６は、タイムアウトか否かを判断する。タイムアウトであればステップＳ１７０７に行き、タイムアウトでなければステップＳ１７０５に戻る。
【０２００】
（ステップＳ１７０７）第一処理部３１６は、処理結果に、エラーメッセージを代入する。第一処理部３１６は、例えば、エラーメッセージを予め保持している。
【０２０１】
（ステップＳ１７０８）第一処理部３１６は、ステップＳ１７０５で受信したリンクノード群の処理結果を用いて、オブジェクト指示に対応する処理を実行する。
【０２０２】
（ステップＳ１７０９）第一送信部３１７は、処理の結果を示す結果情報を、第二情報処理装置３２に送信する。ステップＳ３０１に戻る。
【０２０３】
なお、図１７のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０２０４】
次に、図１８のフローチャートを用いて、第二情報処理装置３２の動作について説明する。図１８のフローチャートを構成する各ステップは、図４、または図１１のステップであるので、説明を省略する。
【０２０５】
なお、図１８のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０２０６】
次に、第三情報処理装置３３の動作について説明する。まず、第三情報処理装置３３の第三指示受信部３３２は、第一情報処理装置３１から、リンクノード群指示を受信する。次に、第三処理部３３３は、リンクノード群指示に対応する処理を行い、処理結果を取得する。そして、第三送信部３３４は、第三処理部３３３の処理結果を第一情報処理装置３１に送信する。
【０２０７】
以下、本実施の形態における情報処理システム３の具体的な動作について説明する。情報処理システム３の概念図は図１５である。
【０２０８】
今、第一情報処理装置３１の第一オブジェクト格納部３１１は、図１９に示すオブジェクトを格納している。当該オブジェクトは、リンクオブジェクトである。ここでは、リンクオブジェクトとは、当該リンクオブジェクトに含まれる１以上のノードのデータに、リンク情報（ここでは、"ｈｔｔｐ：／／・・・・"を先頭に含む情報）を有するオブジェクトである。図１９において、オブジェクトのノード「／ｉｔｅｍ／ｌａｍｐ」のデータとして、リンク情報「ｈｔｔｐ：／／ＸＸＸ／ｉｔｅｍ／ｌａｍｐ」を有する。
【０２０９】
また、第三情報処理装置３３の第三オブジェクト格納部３３１は、図２０に示すオブジェクトを保持している。本オブジェクトは、第一情報処理装置３１のオブジェクトのノードからリンクされている被リンクオブジェクトである。つまり、図１９に示すオブジェクトのノード「／ｉｔｅｍ／ｌａｍｐ」の実体が、図２０に示すオブジェクトの「／ｉｔｅｍ／ｌａｍｐ」以下の階層ノード（「／ｉｔｅｍ／ｌａｍｐ」「／ｉｔｅｍ／ｌａｍｐ／ｐｒｉｃｅ」「／ｉｔｅｍ／ｌａｍｐ／ｗｅｉｇｈｔ」等）である。
【０２１０】
かかる状況において、以下の２つの場合の例について説明する。
（具体例１）
【０２１１】
具体例１は、リンク先のノードが存在し、処理を正常に実行する場合である。まず、第二情報処理装置３２のユーザは、オブジェクト指示「ｅｘｅｃ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｉｔｅｍｓ／ｌａｍｐ／ｏｎ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」を入力した、とする。このオブジェクト指示は、オブジェクト「ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」（一つのデータ）で識別されるランプ（ｔａｒｏさんのランプ）に対して、オブジェクト「ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｉｔｅｍｓ／ｌａｍｐ／ｏｎ」（一つのロジック）を実行する、という指示である。オブジェクト「ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｉｔｅｍｓ／ｌａｍｐ／ｏｎ」は、ランプを点灯する、という動作を行うロジック（アプリケーション）である。
【０２１２】
次に、第二受付部１２２は、オブジェクト指示「ｅｘｅｃ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｉｔｅｍｓ／ｌａｍｐ／ｏｎ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」を受け付ける。そして、第二指示送信部１２３は、指示「ｅｘｅｃ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｉｔｅｍｓ／ｌａｍｐ／ｏｎ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」を第一情報処理装置３１に送信する。
【０２１３】
次に、第一情報処理装置３１の第一指示受信部１１２は、第二情報処理装置３２から、オブジェクト指示「ｅｘｅｃ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｉｔｅｍｓ／ｌａｍｐ／ｏｎ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」を受信する。
【０２１４】
そして、第一リンクオブジェクト判断部３１３は、第一指示受信部１１２が受信したリンクノード群指示に対応するオブジェクトがリンクオブジェクトであるか否かを判断する。まず、第一リンクオブジェクト判断部３１３は、「ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｉｔｅｍｓ／ｌａｍｐ／ｏｎ」で識別されるノードがリンクノード群であるか否かを判断する。つまり、第一リンクオブジェクト判断部３１３は、ノード「／ｉｔｅｍｓ／ｌａｍｐ／ｏｎ」の「／」または「／ｉｔｅｍｓ」または「／ｉｔｅｍｓ／ｌａｍｐ」または「／ｉｔｅｍｓ／ｌａｍｐ／ｏｎ」のデータが、「ｈｔｔｐ：／／」を先頭に含むか否かを判断する。図１９によれば、「／ｉｔｅｍｓ／ｌａｍｐ」のデータが「ｈｔｔｐ：／／」を先頭に含むので、第一リンクオブジェクト判断部３１３は、「ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｉｔｅｍｓ／ｌａｍｐ／ｏｎ」で識別されるノードがリンクノード群であると判断する。
【０２１５】
次に、第一リンクノード群指示送信部３１４は、リンクノード群指示を構成する。ここで、第一リンクノード群指示送信部３１４は、リンクノード群指示「ＳＥＮＤ  ｈｔｔｐ：／／ＸＸＸ／ｉｔｅｍｓ／ｌａｍｐ」を構成する。つまり、「ＳＥＮＤ  ｈｔｔｐ：／／ＸＸＸ／ｉｔｅｍｓ／ｌａｍｐ」は、「ｈｔｔｐ：／／ＸＸＸ」によりアクセスできる第三情報処理装置３３に対して、オブジェクト「／ｉｔｅｍｓ／ｌａｍｐ」を送信することを促す指示である。
【０２１６】
次に、第一リンクノード群指示送信部３１４は、構成したリンクノード群指示「ＳＥＮＤ  ｈｔｔｐ：／／ＸＸＸ／ｉｔｅｍｓ／ｌａｍｐ」を第三情報処理装置３３に送信する。
【０２１７】
次に、第三情報処理装置３３の第三指示受信部３３２は、第一情報処理装置３１から、リンクノード群指示「ＳＥＮＤ  ｈｔｔｐ：／／ＸＸＸ／ｉｔｅｍｓ／ｌａｍｐ」を受信する。
【０２１８】
次に、第三処理部３３３は、リンクノード群指示「ＳＥＮＤ  ｈｔｔｐ：／／ＸＸＸ／ｉｔｅｍｓ／ｌａｍｐ」に対応する処理を行う。つまり、第三処理部３３３は、オブジェクト「／ｉｔｅｍｓ／ｌａｍｐ」以下の全ノードを取得し、送信できるデータ構造にデータ変換する。データ変換とは、ここでは、階層化されたノード群（オブジェクト「／ｉｔｅｍｓ／ｌａｍｐ」以下の全ノード）を圧縮し、一ファイルに変換することである。かかるデータ変換技術は公知技術（例えば、階層化されたフォルダをｌｚｈなどの圧縮形式のファイルに変換する技術）であるので、詳細な説明を省略する。そして、第三送信部３３４は、第三処理部３３３の処理結果（送信できる形式のデータ「／ｉｔｅｍｓ／ｌａｍｐ」）を第一情報処理装置３１に送信する。
【０２１９】
次に、第一リンク先ノード群処理結果受信部３１５は、リンクノード群指示「ＳＥＮＤ  ｈｔｔｐ：／／ＸＸＸ／ｉｔｅｍｓ／ｌａｍｐ」の送信に対応して、第三情報処理装置３３からリンクノード群の処理結果（データ「／ｉｔｅｍｓ／ｌａｍｐ」）を受信する。
【０２２０】
次に、第一処理部３１６は、受信したリンクノード群の処理結果（データ「／ｉｔｅｍｓ／ｌａｍｐ」）を展開し、元のノードの階層データ（／ｉｔｅｍｓ／ｌａｍｐ／以下の全ノードのデータ）を得る。そして、第一処理部３１６は、図１９のオブジェクトの「／ｉｔｅｍｓ／ｌａｍｐ／」以下に、展開して得たノード群を付加する。そして、第一処理部３１６は、「／ｉｔｅｍｓ／ｌａｍｐ／ｏｎ」（ロジック）等を得る。
【０２２１】
次に、第一リンクオブジェクト判断部３１３は、同様に「／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」がリンクオブジェクトであるか否かを判断する。ここで、第一リンクオブジェクト判断部３１３は、上記と同様の方法で、「／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」はリンクオブジェクトではない、と判断する。
【０２２２】
次に、第一処理部３１６は、「ｅｘｅｃ  ／ｉｔｅｍｓ／ｌａｍｐ／ｏｎ  ／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」を実行する。そして、ｔａｒｏさんのランプを点灯する。この点灯されたｔａｒｏさんのランプの情報（動画など）が、結果情報である。
【０２２３】
次に、第一送信部３１７は、処理の結果を示す結果情報（点灯されたｔａｒｏさんのランプの情報）を、第二情報処理装置３２に送信する。
【０２２４】
次に、第二情報処理装置３２の第二受信部１２４は、第一情報処理装置３１から結果情報（点灯されたｔａｒｏさんのランプの情報）を受信する。そして、第二情報処理装置３２のディスプレイに、例えば、動画で、ｔａｒｏさんのランプが点灯される。
（具体例２）
【０２２５】
具体例２は、リンク先のノードが存在せず、不存在に対応する処理が実行される場合である。
【０２２６】
ここで、第二情報処理装置３２の第二不存在時処理情報格納部３２１は、図７に示す不存在時処理情報管理表を保持している、とする。
【０２２７】
まず、第二情報処理装置３２のユーザは、オブジェクト指示「ＧＥＴ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ／」を入力した、とする。「ＧＥＴ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ／」は、オブジェクト「ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ／」（本ノード以下の階層の全ノードを含む）を取得する指示（命令）である。
【０２２８】
次に、第二受付部１２２は、オブジェクト指示「ＧＥＴ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ／」を受け付ける。そして、第二指示送信部１２３は、指示「ＧＥＴ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ／」を第一情報処理装置３１に送信する。
【０２２９】
次に、第一情報処理装置３１の第一指示受信部１１２は、第二情報処理装置３２から、オブジェクト指示「ＧＥＴ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ／」を受信する。
【０２３０】
そして、第一リンクオブジェクト判断部３１３は、第一指示受信部１１２が受信したリンクノード群指示に対応するオブジェクトがリンクオブジェクトであるか否かを判断する。まず、第一リンクオブジェクト判断部３１３は、「ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ／」以下の全ノードのいずれかのノードがリンクノードであるか否かを判断する。つまり、第一リンクオブジェクト判断部３１３は、ノード「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ／」の「／」または「／ｕｓｅｒ」または「／ｕｓｅｒ／ｈａｎａｋｏ」または「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ／」またはそれ以下のノードのデータが、「ｈｔｔｐ：／／」を先頭に含むか否かを判断する。図１９によれば、「／ｕｓｅｒ／ｈａｎａｋｏ」のデータが「ｈｔｔｐ：／／」を先頭に含むので、第一リンクオブジェクト判断部３１３は、「ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ／」で識別されるノードがリンクノード群であると判断する。
【０２３１】
次に、第一リンクノード群指示送信部３１４は、リンクノード群指示を構成する。ここで、第一リンクノード群指示送信部３１４は、リンクノード群指示「ＳＥＮＤ  ｈｔｔｐ：／／ＸＸＸ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」を構成する。
【０２３２】
次に、第一リンクノード群指示送信部３１４は、構成したリンクノード群指示「ＳＥＮＤ  ｈｔｔｐ：／／ＸＸＸ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」を第三情報処理装置３３に送信する。
【０２３３】
次に、第三情報処理装置３３の第三指示受信部３３２は、第一情報処理装置３１から、リンクノード群指示「ＳＥＮＤ  ｈｔｔｐ：／／ＸＸＸ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」を受信する。
【０２３４】
次に、第三処理部３３３は、リンクノード群指示「ＳＥＮＤ  ｈｔｔｐ：／／ＸＸＸ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」に対応する処理を行う。つまり、第三処理部３３３は、オブジェクト「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」のノード以下の全ノードを取得しようとする。しかし、第三情報処理装置３３の第三オブジェクト格納部３３１には、オブジェクト「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」が存在しないので、第三処理部３３３は、エラーコード（例えば、「−１」）を得る。なお、エラーコード（例えば、「−１」）は、オブジェクトの不存在を示す情報である。
【０２３５】
次に、第三送信部３３４は、エラーコード（例えば、「−１」）を第一情報処理装置３１に送信する。
【０２３６】
次に、第一リンク先ノード群処理結果受信部３１５は、エラーコード（例えば、「−１」）を受信する。
【０２３７】
次に、第一オブジェクト不存在情報取得部１１３は、受信した処理結果（エラーコード）から、オブジェクトが存在しない旨の結果情報（例えば、「−１」）を結果情報に代入する。
【０２３８】
次に、第一送信部３１７は、オブジェクトが存在しない旨の結果情報（例えば、「−１」）を第二情報処理装置３２に送信する。
【０２３９】
次に、第二受信部３２４は、第一情報処理装置３１から結果情報（例えば、「−１」）を受信する。
【０２４０】
次に、第二処理部３２５は、受信された結果情報（例えば、「−１」）が、オブジェクトが存在しない旨の情報である、と判断する。
【０２４１】
次に、第二処理部３２５は、オブジェクト指示に含まれるオブジェクト識別子「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」に対応する不存在時処理識別子を、図７の第二不存在時処理情報管理表から取得する。つまり、第二処理部３２５は、「ｉｎｓｔａｌｌ（ｌａｍｐ，／ｕｓｅｒ／＊）；  ｂｕｙ＿ｆｕｅｌ（５０）；  ｌｉｇｈｔ（／ｕｓｅｒ／＊／ｌａｍｐ）；」を取得し、「＊」に、対応するオブジェクト識別子「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」の一部「ｈａｎａｋｏ」を代入する。そして、第二処理部１２５は、「ｉｎｓｔａｌｌ（ｌａｍｐ，／ｕｓｅｒ／ｈａｎａｋｏ）；  ｂｕｙ＿ｆｕｅｌ（５０）；  ｌｉｇｈｔ（／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ）；」を得る。
【０２４２】
そして、第二処理部３２５は、取得した不存在時処理識別子に対応する処理「ｉｎｓｔａｌｌ（ｌａｍｐ，／ｕｓｅｒ／ｈａｎａｋｏ）；  ｂｕｙ＿ｆｕｅｌ（５０）；  ｌｉｇｈｔ（／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ）；」を実行する。
【０２４３】
「ｉｎｓｔａｌｌ（ｌａｍｐ，／ｕｓｅｒ／ｈａｎａｋｏ／）」の実行の結果、オブジェクト「／ｕｓｅｒ／ｈａｎａｋｏ」の下位に、ノード「ｌａｍｐ」が付加される。
【０２４４】
また、「ｂｕｙ＿ｆｕｅｌ（５０）」の実行の結果、オブジェクト「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」の下位に、ノード「ｆｕｅｌ」が付加され、かつ当該オブジェクト「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ／ｆｕｅｌ」にデータ「５０」が書き込まれる。
【０２４５】
さらに、「ｌｉｇｈｔ（／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ）」の実行の結果、ｈａｎａｋｏさんのライトが点灯される。つまり、第二情報処理装置１２のディスプレイに、例えば、動画で、ｈａｎａｋｏさんのランプが点灯される。
【０２４６】
以上、本実施の形態によれば、他の装置のオブジェクトへのリンクを含むリンクオブジェクトに対する指示にも対応できる。つまり、一の装置に存在するオブジェクトに対して、他の装置のオブジェクトからリンクを張れ、一の仮想的な大きなオブジェクトを構成できることにより、アプリケーション（ソフトウェア）の分散開発が容易になる。
【０２４７】
なお、本実施の形態における第一情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、データの１以上のノードとアプリケーションの１以上のノードを有し、ノードが階層化されているオブジェクトを、１以上格納しており、コンピュータを、第二情報処理装置から、オブジェクトを識別するオブジェクト識別子を有する指示であり、当該オブジェクトに対する指示であるオブジェクト指示を受信する第一指示受信部と、前記オブジェクト指示に対応するオブジェクトがリンクオブジェクトであるか否かを判断する第一リンクオブジェクト判断部と、前記第一リンクオブジェクト判断部が、前記オブジェクトがリンクオブジェクトであると判断した場合、当該リンクオブジェクトのリンク先の装置である第三情報処理装置に対して、リンクノード群指示を送信する第一リンクノード群指示送信部と、前記リンクノード群指示の送信に対応して、前記第三情報処理装置からリンクノード群の処理結果を受信する第一リンク先ノード群処理結果受信部と、前記処理結果である結果情報、または当該処理結果に対して行った処理の結果である結果情報を取得する第一処理部と、前記結果情報を、前記第二情報処理装置に送信する第一送信部として機能させるためのプログラム、である。
【０２４８】
また、第二情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、オブジェクト指示を受け付ける第二受付部と、前記オブジェクト指示を第一情報処理装置に送信する第二指示送信部と、第一情報処理装置が送信した結果情報を受信する第二受信部と、前記第二受信部が受信した結果情報を出力する第二出力部として機能させるためのプログラム、である。
【０２４９】
また、第三情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、第一情報処理装置の第一オブジェクト格納部の一のオブジェクトのノードからのリンクを有するオブジェクトを、１以上格納しており、前記第一情報処理装置から、リンク先のノードまたはリンク先のノード以下の下位ノード群に対する指示であるリンクノード群指示を受信する第三指示受信部と、前記リンクノード群指示に対応する処理を行い、処理結果を取得する第三処理部と、前記処理結果を前記第一情報処理装置に送信する第三送信部として機能させるためのプログラム、である。
【０２５０】
（実施の形態４）
【０２５１】
本実施の形態において、ノードが階層化されているオブジェクトが格納されている第一情報処理装置、オブジェクトを利用して処理を行う第二情報処理装置に加えて、第三情報処理装置を有し、第三情報処理装置のオブジェクトに対して、第一情報処理装置のオブジェクトからリンクが張れる情報処理システムについて説明する。本実施の形態において、一のオブジェクトが、他の装置のオブジェクトへのリンクを含むリンクオブジェクトである場合の、一のオブジェクトの処理方法を説明する。なお、本実施の形態において、実施の形態３で説明した方法とは異なる方法による処理について説明する。
【０２５２】
本実施の形態における情報処理システム４の概念図は、図１５と同様である。情報処理システム４は、第一情報処理装置４１、第二情報処理装置４２、第三情報処理装置４３を具備する。
【０２５３】
図２１は、本実施の形態における情報処理システム４のブロック図である。第一情報処理装置４１は、第一オブジェクト格納部３１１、第一指示受信部１１２、第一リンクオブジェクト判断部３１３、第一処理部３１６、第一リンクノード群指示送信部４１１、第一送信部３１７、第一オブジェクト不存在情報取得部１１３、第一構造情報取得部２１３を具備する。
【０２５４】
第二情報処理装置４２は、第二受付部１２２、第二指示送信部１２３、第二受信部４２３、第二送信部４２４、第二処理部４２５、第二出力部４２６を具備する。
【０２５５】
第三情報処理装置４３は、第三オブジェクト格納部３３１、第三指示受信部４３２、第三処理部３３３、第三送信部４３４を具備する。
【０２５６】
第一リンクノード群指示送信部４１１は、第一リンクオブジェクト判断部３１３が、オブジェクトがリンクオブジェクトであると判断した場合、リンク先のノードを識別するリンク先ノード識別子を、第二情報処理装置４２に送信する。さらに具体的には、まず、第一リンクノード群指示送信部４１１は、第三情報処理装置３３のリンクオブジェクトにアクセスするための情報（リンク先ノード識別子）を第一オブジェクト格納部３１１から取得する。次に、第一リンクノード群指示送信部４１１は、第一指示受信部１１２が受信したオブジェクト指示を送信してきた第二情報処理装置４２の通信先情報（たとえば、ＩＰアドレスなど）を取得する。そして、第一リンクノード群指示送信部４１１は、リンク先のノードを識別するリンク先ノード識別子を、第二情報処理装置４２に送信する。第一リンクノード群指示送信部４１１は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【０２５７】
第二受信部４２３は、オブジェクト指示の送信に対応して、リンク先のノードを識別するリンク先ノード識別子を、第一情報処理装置４１から受信する。また、第二受信部４２３は、リンク先ノード群処理指示の送信に対応して、第三情報処理装置４３から、結果情報を受信する。なお、リンク先ノード群処理指示とは、リンク先ノード識別子で識別されるリンク先ノード群を処理する指示である。さらに、第二受信部４２３は、第一情報処理装置４１等の外部装置から、結果情報を受信しても良い。第二受信部４２３は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【０２５８】
第二送信部４２４は、リンク先ノード識別子に対応する第三情報処理装置４３に、リンク先ノード識別子で識別されるリンク先ノード群を処理する指示であるリンクノード群指示を送信する。第二送信部４２４は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【０２５９】
第二出力部４２６は、第二受信部４２３が受信した結果情報を出力する。第二出力部４２６は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。第二出力部４２６は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【０２６０】
第三指示受信部４３２は、第二情報処理装置４２から、リンク先のノードまたはリンク先のノード以下の下位ノード群に対する指示であるリンクノード群指示を受信する。第三指示受信部４３２は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【０２６１】
第三送信部４３４は、結果情報を第二情報処理装置４２に送信する。結果情報とは、リンクノード群指示に対応する処理を行った処理結果である。結果情報とは、例えば、リンクノード群指示が有するオブジェクト識別子で識別されるオブジェクトである。第三送信部４３４は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【０２６２】
次に、情報処理システム４の動作について説明する。まず、図２２のフローチャートを用いて、第一情報処理装置４１の動作について説明する。図２２のフローチャートにおいて、図３、図１０、図１７のフローチャートと同一のステップについて、その説明を省略する。
【０２６３】
（ステップＳ２２０１）第一リンクノード群指示送信部４１１は、リンクノード群指示を構成する。第一リンクノード群指示送信部４１１は、例えば、リンクノードのデータ（例えば、「ｈｔｔｐ：／／ｇａｍｅ＿Ｂ／ｘｘｘ／ｙｙｙ」）と予め保持している命令識別子（例えば、ＧＥＴ）を用いて、「ＧＥＴ  ｈｔｔｐ：／／ｇａｍｅ＿Ｂ／ｘｘｘ／ｙｙｙ」を構成し、メモリ上に格納する。
【０２６４】
（ステップＳ２２０２）第一リンクノード群指示送信部４１１は、ステップＳ２２０１で構成したリンクノード群指示を第二情報処理装置３２に送信する。
【０２６５】
なお、図２２のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０２６６】
次に、図２３のフローチャートを用いて、第二情報処理装置４２の動作について説明する。図２３のフローチャートにおいて、図４、図１１のフローチャートと同一のステップについて、その説明を省略する。
【０２６７】
（ステップＳ２３０１）第二送信部４２４は、第二受信部４２３が第一情報処理装置４１から受信した指示がリンクノード群指示であるか否かを判断する。リンクノード群指示であればステップＳ２３０２に行き、リンクノード群指示でなければステップＳ２３０４に行く。
【０２６８】
（ステップＳ２３０２）第二送信部４２４は、第二受信部４２３が第一情報処理装置４１から受信したリンクノード群指示を、第三情報処理装置４３に送信する。なお、リンクノード群指示には、第三情報処理装置４３にアクセスするための情報（ＵＲＩやＩＰアドレス等）が含まれている。
【０２６９】
（ステップＳ２３０３）第二受信部４２３は、ステップＳ２３０２におけるリンクノード群指示の送信に対応して、第三情報処理装置４３での処理結果を示す結果情報を受信したか否かを判断する。結果情報を受信すればステップＳ２３０４に行き、結果情報を受信しなければステップＳ２３０３に戻る。なお、ステップＳ２３０３において、タイムアウトになれば、処理結果としてエラーコードを取得する処理を行っても良い。エラーコードとは、例えば、リンクノード群指示に対応するオブジェクト（リンクノード群）にアクセスできない旨を示す指示である。また、リンクノード群指示に対応するオブジェクトにアクセスできない場合、リンクノード群指示に対応するオブジェクトが存在しないと判断し、第二処理部４２５が、オブジェクトが存在しない場合の処理を行っても良い。かかる場合の処理については、説明済みである。
【０２７０】
（ステップＳ２３０４）第二処理部４２５は、第一情報処理装置４１から受信した結果情報と、第三情報処理装置４３から受信した結果情報とを用いて、処理を行う。処理の内容は、オブジェクト指示に対応した処理である。処理の内容は、種々、あり得る。
【０２７１】
（ステップＳ２３０５）第二出力部４２６は、ステップＳ２３０４における処理結果（結果情報）を出力する。ステップＳ４０１に戻る。
【０２７２】
なお、図２３のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０２７３】
次に、第三情報処理装置４３の動作について説明する。まず、第三情報処理装置４３の第三指示受信部４３２は、第二情報処理装置４２から、リンクノード群指示を受信する。次に、第三処理部３３３は、リンクノード群指示に対応する処理を行い、処理結果を取得する。そして、第三送信部４３４は、第三処理部３３３の処理結果を第二情報処理装置４２に送信する。
【０２７４】
以下、本実施の形態における情報処理システム４の具体的な動作について説明する。情報処理システム４の概念図は図１５である。
【０２７５】
今、第一情報処理装置４１の第一オブジェクト格納部３１１は、図１９に示すオブジェクトを格納している。当該オブジェクトは、リンクオブジェクトである。
【０２７６】
また、第三情報処理装置４３の第三オブジェクト格納部３３１は、図２０に示すオブジェクトを保持している。
【０２７７】
かかる状況において、以下の２つの場合の例について説明する。
（具体例１）
【０２７８】
具体例１は、リンク先のノードが存在し、処理を正常に実行する場合である。まず、第二情報処理装置４２のユーザは、オブジェクト指示「ｅｘｅｃ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｉｔｅｍｓ／ｌａｍｐ／ｏｎ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」を入力した、とする。このオブジェクト指示は、オブジェクト「ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」（一つのデータ）で識別されるランプ（ｔａｒｏさんのランプ）に対して、オブジェクト「ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｉｔｅｍｓ／ｌａｍｐ／ｏｎ」（一つのロジック）を実行する、という指示である。
【０２７９】
次に、第二受付部１２２は、オブジェクト指示「ｅｘｅｃ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｉｔｅｍｓ／ｌａｍｐ／ｏｎ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」を受け付ける。そして、第二指示送信部１２３は、指示「ｅｘｅｃ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｉｔｅｍｓ／ｌａｍｐ／ｏｎ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」を第一情報処理装置４１に送信する。
【０２８０】
次に、第一情報処理装置４１の第一指示受信部１１２は、第二情報処理装置４２から、オブジェクト指示「ｅｘｅｃ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｉｔｅｍｓ／ｌａｍｐ／ｏｎ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」を受信する。
【０２８１】
そして、第一リンクオブジェクト判断部３１３は、第一指示受信部１１２が受信したリンクノード群指示に対応するオブジェクトがリンクオブジェクトであるか否かを判断する。そして、実施の形態３で説明した処理により、第一リンクオブジェクト判断部３１３は、「ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｉｔｅｍｓ／ｌａｍｐ／ｏｎ」で識別されるノードがリンクノード群であると判断する。
【０２８２】
次に、第一リンクノード群指示送信部４１１は、リンクノード群指示を構成する。ここで、第一リンクノード群指示送信部４１１は、リンクノード群指示「ＳＥＮＤ  ｈｔｔｐ：／／ＸＸＸ／ｉｔｅｍｓ／ｌａｍｐ」を構成する。
【０２８３】
次に、第一リンクノード群指示送信部４１１は、構成したリンクノード群指示「ＳＥＮＤ  ｈｔｔｐ：／／ＸＸＸ／ｉｔｅｍｓ／ｌａｍｐ」を第二情報処理装置４２に送信する。
【０２８４】
また、第一処理部３１６は、オブジェクト指示「ｅｘｅｃ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｉｔｅｍｓ／ｌａｍｐ／ｏｎ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」に含まれるオブジェクト識別子「ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」に対応するオブジェクトを、第一オブジェクト格納部３１１から読み出す。
【０２８５】
そして、第一送信部３１７は、当該オブジェクト「／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」を送信できる形式に変更し、第二情報処理装置４２に送信する。
【０２８６】
次に、第二情報処理装置４２の第二受信部４２３は、第一情報処理装置４１から、リンクノード群指示「ＳＥＮＤ  ｈｔｔｐ：／／ＸＸＸ／ｉｔｅｍｓ／ｌａｍｐ」を受信する。
【０２８７】
そして、第二送信部４２４は、第二受信部４２３が受信した指示がリンクノード群指示である、と判断する。
【０２８８】
次に、第二送信部４２４は、第二受信部４２３が受信した指示がリンクノード群指示「ＳＥＮＤ  ｈｔｔｐ：／／ＸＸＸ／ｉｔｅｍｓ／ｌａｍｐ」を、第三情報処理装置４３に送信する。なお、第二送信部４２４が送信するリンクノード群指示は、「ＳＥＮＤ  ／ｉｔｅｍｓ／ｌａｍｐ」でも良い。つまり、第二送信部４２４が送信するリンクノード群指示において、プロトコル名やドメイン名などは除かれても良い。
【０２８９】
次に、第三情報処理装置４３の第三指示受信部４３２は、第二情報処理装置４２から、リンクノード群指示（例えば、「ＳＥＮＤ  ／ｉｔｅｍｓ／ｌａｍｐ」）を受信する。
【０２９０】
次に、第三処理部３３３は、リンクノード群指示「ＳＥＮＤ  ／ｉｔｅｍｓ／ｌａｍｐ」に対応する処理を行い、処理結果を取得する。ここで、処理結果は、ノード「／ｉｔｅｍｓ／ｌａｍｐ」以下のすべてのノード群からなるオブジェクトを取得する処理である。
【０２９１】
そして、第三送信部４３４は、第三処理部３３３の処理結果を送信できる形式に変更し（例えば、ｌｚｈなどのファイル形式に変更し）、当該処理結果を第二情報処理装置４２に送信する。
【０２９２】
次に、第二情報処理装置４２の第二受信部４２３は、第三情報処理装置４３へのリンクノード群指示の送信に対応して、第三情報処理装置４３での処理結果を示す結果情報（処理結果を送信できる形式に変更した情報）を受信する。
【０２９３】
また、第二情報処理装置４２の第二受信部４２３は、第一情報処理装置４１から、オブジェクト「／ｕｓｅｒ／ｔａｒｏ／ｌａｍｐ」を受信する。なお、受信するオブジェクトは、例えば、階層化されておらず、一ファイルである。
【０２９４】
次に、第二処理部４２５は、第一情報処理装置４１から受信した結果情報と、第三情報処理装置４３から受信した結果情報とを用いて、処理を行う。そして、第二出力部４２６は、当該処理結果を出力する。なお、第二処理部４２５は、外部の装置から受信した情報（例えば、ノードの階層関係が保持されており、かつ、圧縮されている情報）を、元の階層化されたノード群の情報に変更する処理も行うものとする。
（具体例２）
【０２９５】
具体例２は、リンク先のノードが存在せず、不存在に対応する処理が実行される場合である。
【０２９６】
ここで、第二情報処理装置４２の第二不存在時処理情報格納部３２１は、図７に示す不存在時処理情報管理表を保持している、とする。
【０２９７】
まず、第二情報処理装置４２のユーザは、オブジェクト指示「ＧＥＴ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ／」を入力した、とする。
【０２９８】
次に、第二受付部１２２は、オブジェクト指示「ＧＥＴ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ／」を受け付ける。そして、第二指示送信部１２３は、指示「ＧＥＴ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ／」を第一情報処理装置４１に送信する。
【０２９９】
次に、第一情報処理装置４１の第一指示受信部１１２は、第二情報処理装置４２から、オブジェクト指示「ＧＥＴ  ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ／」を受信する。
【０３００】
そして、第一リンクオブジェクト判断部３１３は、第一指示受信部１１２が受信したリンクノード群指示に対応するオブジェクトがリンクオブジェクトであるか否かを判断する。そして、図２０によれば、「／ｕｓｅｒ／ｈａｎａｋｏ」のデータが「ｈｔｔｐ：／／」を先頭に含むので、第一リンクオブジェクト判断部３１３は、「ｈｔｔｐ：／／ｇａｍｅ＿Ａ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ／」で識別されるノードがリンクノード群であると判断する。
【０３０１】
次に、第一リンクノード群指示送信部４１１は、リンクノード群指示を構成する。ここで、第一リンクノード群指示送信部４１１は、リンクノード群指示「ＳＥＮＤ  ｈｔｔｐ：／／ＸＸＸ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」を構成する。
【０３０２】
次に、第一リンクノード群指示送信部４１１は、構成したリンクノード群指示「ＳＥＮＤ  ｈｔｔｐ：／／ＸＸＸ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」を第二情報処理装置４２に送信する。
【０３０３】
次に、第二情報処理装置４２の第二受信部４２３は、第一情報処理装置４１から、リンクノード群指示「ＳＥＮＤ  ｈｔｔｐ：／／ＸＸＸ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」を受信する。
【０３０４】
そして、第二送信部４２４は、第二受信部４２３が第一情報処理装置４１から受信した指示がリンクノード群指示である、と判断する。
【０３０５】
次に、第二送信部４２４は、第二受信部４２３が第一情報処理装置４１から受信した指示がリンクノード群指示「ＳＥＮＤ  ｈｔｔｐ：／／ＸＸＸ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」を、第三情報処理装置４３に送信する。なお、第二送信部４２４が送信するリンクノード群指示は、「ＳＥＮＤ  ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」でも良い。つまり、第二送信部４２４が送信するリンクノード群指示において、プロトコル名やドメイン名などは除かれても良い。
【０３０６】
次に、第三情報処理装置４３の第三指示受信部４３２は、第二情報処理装置４２から、リンクノード群指示（例えば、「ＳＥＮＤ  ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」）を受信する。
【０３０７】
次に、第三処理部３３３は、リンクノード群指「ＳＥＮＤ  ／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」に対応する処理を行い、処理結果を取得する。ここで、処理結果は、ノード「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」が存在しない旨の情報（例えば、「−１」）である。
【０３０８】
そして、第三送信部４３４は、ノード「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」が存在しない旨の情報を第二情報処理装置４２に送信する。
【０３０９】
次に、第二情報処理装置４２の第二受信部４２３は、第三情報処理装置４３へのリンクノード群指示の送信に対応して、ノード「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」が存在しない旨の情報（例えば、「−１」）を受信する。
【０３１０】
次に、第二処理部１２５は、受信された結果情報（例えば、「−１」）が、オブジェクトが存在しない旨の情報である、と判断する。
【０３１１】
次に、第二処理部４２５は、オブジェクト指示に含まれるオブジェクト識別子「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」に対応する不存在時処理識別子を、図７の第二不存在時処理情報管理表から取得する。つまり、第二処理部４２５は、「ｉｎｓｔａｌｌ（ｌａｍｐ，／ｕｓｅｒ／＊）；  ｂｕｙ＿ｆｕｅｌ（５０）；  ｌｉｇｈｔ（／ｕｓｅｒ／＊／ｌａｍｐ）；」を取得し、「＊」に、対応するオブジェクト識別子「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」の一部「ｈａｎａｋｏ」を代入する。そして、第二処理部４２５は、「ｉｎｓｔａｌｌ（ｌａｍｐ，／ｕｓｅｒ／ｈａｎａｋｏ）；  ｂｕｙ＿ｆｕｅｌ（５０）；  ｌｉｇｈｔ（／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ）；」を得る。
【０３１２】
そして、第二処理部４２５は、取得した不存在時処理識別子に対応する処理「ｉｎｓｔａｌｌ（ｌａｍｐ，／ｕｓｅｒ／ｈａｎａｋｏ）；  ｂｕｙ＿ｆｕｅｌ（５０）；  ｌｉｇｈｔ（／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ）；」を実行する。
【０３１３】
「ｉｎｓｔａｌｌ（ｌａｍｐ，／ｕｓｅｒ／ｈａｎａｋｏ／）」の実行の結果、オブジェクト「／ｕｓｅｒ／ｈａｎａｋｏ」の下位に、ノード「ｌａｍｐ」が付加される。
【０３１４】
また、「ｂｕｙ＿ｆｕｅｌ（５０）」の実行の結果、オブジェクト「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ」の下位に、ノード「ｆｕｅｌ」が付加され、かつ当該オブジェクト「／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ／ｆｕｅｌ」にデータ「５０」が書き込まれる。
【０３１５】
さらに、「ｌｉｇｈｔ（／ｕｓｅｒ／ｈａｎａｋｏ／ｌａｍｐ）」の実行の結果、ｈａｎａｋｏさんのライトが点灯される。つまり、第二情報処理装置１２のディスプレイに、例えば、動画で、ｈａｎａｋｏさんのランプが点灯される。
【０３１６】
以上、本実施の形態によれば、他の装置のオブジェクトへのリンクを含むリンクオブジェクトに対する指示にも対応できる。つまり、一の装置に存在するオブジェクトに対して、他の装置のオブジェクトからリンクを張れ、一の仮想的な大きなオブジェクトを構成できることにより、アプリケーション（ソフトウェア）の分散開発が容易になる。
【０３１７】
なお、上記の実施の形態３および実施の形態４において、リンクオブジェクトの異なる処理の方法について、別々に説明した。しかし、一の情報処理システムにおいて、実施の形態３におけるリンクオブジェクトの処理方法（第一の方法）、および実施の形態４におけるリンクオブジェクトの処理方法（第二の方法）が混在していてもよい。かかる場合、例えば、第一情報処理装置は、第一情報処理装置の負荷に関する情報（ＣＰＵ負荷や資源の利用状況やネットワーク負荷などの状況）、および第二情報処理装置の負荷に関する情報（ＣＰＵ負荷や資源の利用状況やネットワーク負荷などの状況）を取得し、かかる負荷に関する情報に基づいて、前記第一の方法、または第二の方法のいずれかを、動的に選択して、リンクオブジェクトを処理しても良い。つまり、例えば、さらに具体的には、第一情報処理装置の負荷が閾値より大きい、または第二報処理装置の負荷が閾値より小さい場合に、前記第二の方法によりリンクオブジェクトが処理されても良い。また、第二情報処理装置の負荷が閾値より大きい、または第一報処理装置の負荷が閾値より小さい場合に、前記第一の方法により、リンクオブジェクトが処理されても良い。
【０３１８】
また、第二情報処理装置は、第一情報処理装置における処理方法の選択（第一の方法か第二の方法かの選択）に対応して、同じ方法で、第一情報処理装置と協働して、リンクオブジェクトを処理することは言うまでもない。また、第一の方法か第二の方法かの選択は、第二情報処理装置や、他の装置が行っても良い。
【０３１９】
また、第一情報処理装置または第二情報処理装置は、前記第一の方法、または第二の方法のいずれかを、順番に、動的に選択する等して、リンクオブジェクトを処理しても良い。
【０３２０】
また、本実施の形態における第一情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、データの１以上のノードとアプリケーションの１以上のノードを有し、ノードが階層化されているオブジェクトを、１以上格納しており、コンピュータを、第二情報処理装置から、オブジェクトを識別するオブジェクト識別子を有する指示であり、当該オブジェクトに対する指示であるオブジェクト指示を受信する第一指示受信部と、前記オブジェクト指示に対応するオブジェクトがリンクオブジェクトであるか否かを判断する第一リンクオブジェクト判断部と、前記リンクオブジェクト判断部が、前記オブジェクトがリンクオブジェクトであると判断した場合、前記リンク先のノードを識別するリンク先ノード識別子を、前記第二情報処理装置に送信する第一リンクノード群指示送信部として機能させるためのプログラム、である。
【０３２１】
また、第二情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、オブジェクト指示を受け付ける第二受付部と、前記オブジェクト指示を第一情報処理装置に送信する第二指示送信部と、前記オブジェクト指示の送信に対応して、前記リンク先のノードを識別するリンク先ノード識別子を、前記第一情報処理装置から受信し、かつリンク先ノード群処理指示の送信に対応して、前記第三情報処理装置から、結果情報を受信する第二受信部と、前記リンク先ノード識別子に対応する前記第三情報処理装置に、前記リンク先ノード識別子で識別されるリンク先ノード群を処理する指示であるリンクノード群指示を送信する第二送信部と、前記第二受信部が受信した結果情報を出力する第二出力部として機能させるためのプログラム、である。
【０３２２】
また、第三情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、第一情報処理装置の第一オブジェクト格納部の一のオブジェクトのノードからのリンクを有するオブジェクトを、１以上格納しており、前記第二情報処理装置から、リンク先のノードまたはリンク先のノード以下の下位ノード群に対する指示であるリンクノード群指示を受信する第三指示受信部と、前記リンクノード群指示に対応する処理を行い、処理結果を取得する第三処理部と、前記処理結果を前記第二情報処理装置に送信する第三送信部として機能させるためのプログラム、である。
【０３２３】
さらに、図２４は、本明細書で述べたプログラムを実行して、上述した実施の形態の情報処理装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図２４は、このコンピュータシステム３４０の概観図であり、図２５は、コンピュータシステム３４０の内部構成を示す図である。
【０３２４】
図２４において、コンピュータシステム３４０は、ＦＤドライブ３４１１、ＣＤ−ＲＯＭドライブ３４１２を含むコンピュータ３４１と、キーボード３４２と、マウス３４３と、モニタ３４４とを含む。
【０３２５】
図２５において、コンピュータ３４１は、ＦＤドライブ３４１１、ＣＤ−ＲＯＭドライブ３４１２に加えて、ＭＰＵ３４１３と、ＣＤ−ＲＯＭドライブ３４１２及びＦＤドライブ３４１１に接続されたバス３４１４と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ３４１５と、ＣＰＵ３４１３に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ３４１６と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク３４１７とを含む。ここでは、図示しないが、コンピュータ３４１は、さらに、ＬＡＮへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム３４０に、上述した実施の形態の第一、第二、第三情報処理装置等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ３５０１、またはＦＤ３５０２に記憶されて、ＣＤ−ＲＯＭドライブ３４１２またはＦＤドライブ３４１１に挿入され、さらにハードディスク３４１７に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ３４１に送信され、ハードディスク３４１７に記憶されても良い。プログラムは実行の際にＲＡＭ３４１６にロードされる。プログラムは、ＣＤ−ＲＯＭ３５０１、ＦＤ３５０２またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ３４１に、上述した実施の形態の第一、第二、第三情報処理装置等の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム３４０がどのように動作するかは周知であり、詳細な説明は省略する。
【０３２６】
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理（ハードウェアでしか行われない処理）は含まれない。
【０３２７】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０３２８】
また、上記各実施の形態において、一の装置に存在する２以上の通信手段（端末情報送信部、端末情報受信部など）は、物理的に一の媒体で実現されても良いことは言うまでもない。
【０３２９】
また、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０３３０】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０３３１】
以上のように、本発明にかかる情報処理システムは、階層化されたオブジェクトの長所を生かしたプログラム開発が可能となる、という効果を有し、情報処理システム等として有用である。
【符号の説明】
【０３３２】
１、２、３、４  情報処理システム
１１、２１、３１、４１  第一情報処理装置
１２、２２、３２、４２  第二情報処理装置
３３、４３  第三情報処理装置
１１１、３１１  第一オブジェクト格納部
１１２  第一指示受信部
１１３  第一オブジェクト不存在情報取得部
１１４、２１４、３１６  第一処理部
１１５、２１５、３１７  第一送信部
１２１、３２１  第二不存在時処理情報格納部
１２２  第二受付部
１２３  第二指示送信部
１２４、２２４、３２４、４２３  第二受信部
１２５、２２５、３２５、４２５  第二処理部
１２６、２２６、３２６、４２６  第二出力部
２１３  第一構造情報取得部
３１３  第一リンクオブジェクト判断部
３１４、４１１  第一リンクノード群指示送信部
３１５  第一リンク先ノード群処理結果受信部
３３１  第三オブジェクト格納部
３３２、４３２  第三指示受信部
３３３  第三処理部
３３４、４３４  第三送信部
４２４  第二送信部
２２５１  構造処理情報格納手段
２２５２  処理手段
【図１】
2010076844.tif 000003
【図２】
2010076844.tif 000004
【図３】
2010076844.tif 000005
【図４】
2010076844.tif 000006
【図５】
2010076844.tif 000007
【図６】
2010076844.tif 000008
【図７】
2010076844.tif 000009
【図８】
2010076844.tif 000010
【図９】
2010076844.tif 000011
【図１０】
2010076844.tif 000012
【図１１】
2010076844.tif 000013
【図１２】
2010076844.tif 000014
【図１３】
2010076844.tif 000015
【図１４】
2010076844.tif 000016
【図１５】
2010076844.tif 000017
【図１６】
2010076844.tif 000018
【図１７】
2010076844.tif 000019
【図１８】
2010076844.tif 000020
【図１９】
2010076844.tif 000021
【図２０】
2010076844.tif 000022
【図２１】
2010076844.tif 000023
【図２２】
2010076844.tif 000024
【図２３】
2010076844.tif 000025
【図２４】
2010076844.tif 000026
【図２５】
2010076844.tif 000027
【国際調査報告】
2010076844.tif 000028
2010076844.tif 000029
2010076844.tif 000030
2010076844.tif 000031