[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4313703B2 - 情報処理装置、システム、方法及びプログラム - Google Patents

情報処理装置、システム、方法及びプログラム Download PDF

Info

Publication number
JP4313703B2
JP4313703B2 JP2004071389A JP2004071389A JP4313703B2 JP 4313703 B2 JP4313703 B2 JP 4313703B2 JP 2004071389 A JP2004071389 A JP 2004071389A JP 2004071389 A JP2004071389 A JP 2004071389A JP 4313703 B2 JP4313703 B2 JP 4313703B2
Authority
JP
Japan
Prior art keywords
node
information
address
network
tree structure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2004071389A
Other languages
English (en)
Other versions
JP2005258942A (ja
Inventor
泉 村木
秀洋 中谷
了一 市山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kanata Ltd
Original Assignee
Kanata Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kanata Ltd filed Critical Kanata Ltd
Priority to JP2004071389A priority Critical patent/JP4313703B2/ja
Priority to PCT/JP2005/004372 priority patent/WO2005088469A1/ja
Priority to US10/558,101 priority patent/US8312109B2/en
Publication of JP2005258942A publication Critical patent/JP2005258942A/ja
Priority to US11/566,152 priority patent/US8312110B2/en
Application granted granted Critical
Publication of JP4313703B2 publication Critical patent/JP4313703B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報処理装置、システム、方法及びプログラムにかかり、特に、インターネット等の通信回線を介して情報を授受するオンラインゲームを含むネットワークアプリケーションの開発・運用に用いる情報処理装置、システム、方法及びプログラムに関する。
近年の情報通信インフラの発展に伴って、パーソナルコンピュータ(PC)を情報端末としてインターネットなどのネットワークに参加して双方向性情報授受が可能になった。このネットワークの利点を用い、各種サービスを提供するシステムが注目されている。このシステムには、サーバーコンピュータとクライアントコンピュータとの関係を確立し、データの送受信(アップロードやダウンロードなど)などのサーバークライアント型のネットワークシステムがある。また、近年では、ピアツーピア(所謂P2P)型のネットワークシステムが実現されている。ピアツーピア型のネットワークシステムは、ネットワークに接続した複数のコンピュータの各々をピア(Peer)として対等な関係にあるように機能を提供するべくシステムを構築したり、さらに何れか1つのコンピュータに一部の機能を集約管理させた機能部を搭載させてシステムを構築したりする。
上記ネットワークシステムにおいてアプリケーションを実行するためにネットワークアプリケーションが各種開発されている。このネットワークアプリケーションの一例として、オンラインゲームが注目されており、このオンラインゲームでは、オンラインゲームに参加するユーザが所有した複数のコンピュータから対象となるオンラインゲームを稼働したコンピュータへアクセスすることにより、複数のユーザがオンラインゲームに参加できるものである。また、オンライン掲示板をコンピュータ上に設けてユーザコンピュータからその掲示板に書き込みを可能とするアプリケーションがある。また、WWW(World Wide Web)サーバを稼働してクライアントから所謂WWWブラウザによりネットワークを介してアクセス可能とするアプリケーションも知られている。
ネットワークアプリケーションシステムでは、他のコンピュータ(例えば、サーバーコンピュータやPeerコンピュータ)へ接続する自己のコンピュータ(例えばクライアントコンピュータやPeerコンピュータ)において共通の環境下で稼働することを達成するために、各々のコンピュータに、ネットワークアプリケーションシステムの共通仕様による共通のアプリケーションを導入することを要求している。
例えば、ネットワークアプリケーションの一例であるオンラインゲームでは、ユーザの多様な要求に応えるべく、予め種々の仕様を盛り込んでおき、そのアプリケーションを提供する。また、複数のコンピュータが運用したり稼働したりするコンピュータへ接続されることを想定して、そのアクセス制限や利用制限を予め設定しておく場合が多い。
図12は、ネットワークアプリケーションシステムにおける1つのコンピュータのアーキテクチャを概念的に示したものである。図12のアーキテクチャは、コンピュータのハードウェア及びそのハードウェアを稼働させるソフトウェアにより構成されるものである。コンピュータ100は、ハードウェア毎の固有仕様やオペレーティングシステム(OS)に左右されずにハードウェアの基本動作を制御するバーチャルマシン102を構成として構築される。このバーチャルマシン102は、バーチャルマシン102を利用してコンピュータ100を稼働するライブラリ104が構成に追加可能であり、バーチャルマシン102とライブラリ104との間でデータを授受するためのインタフェース106を双方に備える。
また、バーチャルマシン102には、コンピュータ100でアプリケーションを稼働するための資源であるコンテナ110が設けられる。このコンテナ110には、外部と通信するためのプロトコル(例えばHTTP)機能を実現するためのユニット112を含んでおり、外部装置との間で、HTTPプロトコルによるデータ授受が可能な構成になっている。このコンテナ110は、コンテナ110の機能拡張などのためのライブラリ114が構成に追加可能であり、コンテナ110とライブラリ114との間でデータを授受するためのインタフェース116を双方に備える。このライブラリ114により、コンピュータ100内部のデータ118に対するアクセスが可能となる。
さらに、コンテナ110には、コンポーネント120,130が配置可能である。コンポーネント120は、ユニット112を介して外部装置とデータ授受するアプリケーション機能を有しており、そのために、コンテナ110とコンポーネント120との間でデータを授受するためのインタフェース122を双方に備える。また、コンポーネント120はバーチャルマシン102との間でデータ授受するためのインタフェース124を備えている。コンポーネント130は、内部にファイルデータ134を有すると共にコンポーネント130に固有のライブラリ136を連携して構成され、内部ファイルデータ134及びライブラリ136を利用するために、コンテナ130にインタフェース132を備える。
上述のように、コンピュータ100は、機能追加などのライブラリを追加するときやアプリケーションを利用するときには、そのコンポーネントやライブラリなどの固有のインタフェースを必要とし、そのインタフェースを用いてコンポーネントやライブラリを利用することになる。
しかしながら、そもそも、ネットワークアプリケーションで、ネットワーク上を流通する情報は、そのアプリケーションで利用するデータのみが殆どであり、ネットワークアプリケーション自体に付加価値を追加する場合など、サーバー側に、機能をリアルタイムで追加したり変更したりすることは困難である。例えば、クライアント側において追加機能をダウンロードし、追加機能をインストールする処理を自動的に行うものはあるが、ネットワークアプリケーションを利用中に、サーバー側で自動的にサービスを構築する処理が完了するものはない。また、サービス変更に伴う機能追加、仕様変更、機能削除などの変更にあたっては、ネットワークアプリケーション自体に影響するため、サーバー側で仕様変更やデータ構造変更が要求され、その度にシステム停止やシステム変更が余儀なくされていた。
また、ネットワークアプリケーションを提供するサービス業者は、仕様やデータ構造を決定してネットワークアプリケーションのサービスを構築するが、その仕様やデータ構造はサービス業者が独自に定義したり制御したりすることを前提としており、サービス業者以外の第三者が関連サービスを構築することは困難であった。これは、ネットワークアプリケーションの関連サービスを構築したり運営したりすることが、ネットワークアプリケーション自体や実行環境に依存したものであり、ネットワークアプリケーションの少なくとも一部の領域を抽出した開発や運用が困難なためである。
また、ネットワークアプリケーションは、多数のコンピュータからのアクセスにより高負荷状態になることが予測されるので、予め高負荷に対する対処を想定する必要があるが、ネットワークアプリケーションのどの箇所に高負荷になることを予測することは困難であった。
本発明は、上記事実を考慮して、単純なシステム運用を可能とし、サービス提供者に同期や変更などの煩わしさを感じさせることなく関連サービス構築を容易とするための情報を授受することができる情報処理装置、システム、方法及びプログラムを得ることが目的である。
上記目的を達成するために請求項1の発明の情報処理装置は、ネットワークを介して他の装置との間で情報を授受する情報処理装置であって、データのノードまたはアプリケーションのノード若しくはそれらの組み合わせによるノード群を含む複数のノードによってツリー構造で表されると共に、前記ネットワークで自身を識別するための識別情報に、前記ツリー構造における最上位のノードから自身のノードまでの位置を前記ツリー構造に従って各ノードの名称を示す名称情報を連続して表すオブジェクト位置情報を連結した自身の位置を示す一意のアドレスが与えられたオブジェクトであって、前記アドレスに対するデータ書込領域を備えたオブジェクトを複数記憶した記憶手段と、前記ネットワークを介して他の装置との間で外部言語で表された情報を授受すると共に、前記アドレスが指定された前記記憶手段に記憶されたオブジェクトに対して呼び出し、書き込み、削除及び一部変更の少なくとも1つの処理の要求を逐次処理する授受手段と、前記記憶手段と前記授受手段との間に設けられて汎用インタフェースとして機能するエンジン手段であって、前記ネットワークを介して外部言語による前記オブジェクトを前記処理の要求と共に少なくとも1つ取得し、取得したオブジェクトのツリー構造を保持したまま該取得したオブジェクトを内部言語で表された情報に変換する第1の変換手段と、前記要求されたオブジェクトの前記アドレスを解釈しかつ解釈したアドレスのオブジェクトに対して前記要求された処理を施す制御手段と、前記記憶手段に記憶されたオブジェクトを該オブジェクトのツリー構造を保持したまま前記外部言語に変換する第2の変換手段と、含むエンジン手段と、を含んでいる。
本発明の情報処理装置によれば、記憶手段には複数のノードによってツリー構造で表されるオブジェクトが複数記憶されている。このオブジェクトは、ネットワークで自身を識別するための識別情報に、オブジェクト位置情報を連結した自身の位置を示す一意のアドレスが与えられる。識別情報には、プロトコル名とドメイン名を用いることができる。また、オブジェクト位置情報は、ツリー構造における最上位のノードから自身のノードまでの位置をツリー構造に従って各ノードの名称を示す名称情報を連続して表すことができる。例えば、オブジェクトがツリー構造として、機能、アイテム等の種類及びプロパティ等で代表される属性の順に構成される場合、識別情報の一例としてプロトコル名及びドメイン名機能に、種類及び属性”を順に連結して自身の位置を示す一意のアドレスが与えられる。そのアドレスのオブジェクトについてデータ書込領域を備えている。このデータ書込領域に属性値を格納することで、オブジェクトを表現できる。
授受手段は、ネットワークを介して他の装置との間でXML形式の言語などで記述された外部言語で表された情報を授受する。この授受では一般にプロトコルに従ってなされる。これと共に、授受手段は、アドレスが指定された記憶手段に記憶されたオブジェクトに対して呼び出し、書き込み、削除及び一部変更の少なくとも1つの処理の要求を逐次処理する。これによりオブジェクトへの処理要求を逐次処理することができる。
前記記憶手段と前記授受手段との間には、エンジン手段が設けられる。このエンジン手段は、第1の変換手段、第2の変換手段、及び制御手段を含んでいる。第1の変換手段は、XML形式の言語などで記述された外部言語によるオブジェクトを処理の要求と共に少なくとも1つ取得して取得したオブジェクトのツリー構造を保持したまま該取得したオブジェクトを内部言語で表された情報に変換する。従って、外部からオブジェクトを取得しても、オブジェクトの構造を維持した状態で利用することができる。また、第2の変換手段は、記憶手段に記憶されたオブジェクトを該オブジェクトのツリー構造を保持したまま外部言語に変換する。従って、外部へオブジェクトを出力する場合でも、オブジェクトの構造を維持できる。また、制御手段は、要求されたオブジェクトのアドレスを解釈しかつ解釈したアドレスのオブジェクトに対して要求された処理を施す。これにより、自身の位置を示す一意のアドレスで与えられるオブジェクトに対して、要求された処理を、施すことができる。
このように、本発明の情報処理装置は、オブジェクトの有するアドレスの解決をしたり、ツリー構造を維持したまま外部言語による情報に可逆変換したりすることが可能である。これによって、オブジェクトの取得やその値の取得、そして、属する機能の取得について、エンジン手段によるインタフェースによってなされる。従って、エンジン手段は、オブジェクトについて、一意のアドレスの解決やツリー構造を維持したままの可逆変換を可能とする汎用インタフェースとして機能することに相当する。
請求項2の発明は、請求項1に記載の情報処理装置において、前記アドレスは、URIで表されることを特徴とする。URI(Uniform Resource Identifier)は、TCP/IP等のプロトコルによって情報を授受するために用いることができ、これをラベルとしてアドレス表現に用いることで、オブジェクトを一意に表すことができる。
請求項3の発明は、請求項1または請求項2に記載の情報処理装置において、前記エンジン手段は、装置内部で要求されたオブジェクトのアドレスを解釈しかつ解釈したアドレスのオブジェクトについて外部記憶の場合には、前記第2の変換手段で前記外部言語に変換し、内部記憶の場合には前記授受手段へ該アドレスを出力する判断手段を含むことを特徴とする。
この判断手段により、例えば、ドメイン名を判別することによって、オブジェクトが外部記憶であるのか内部記憶であるのかを判別することができ、外部記憶にあるオブジェクトも内部記憶にあるオブジェクトも、URIによって同等に記述できるため、その違いを意識することなくオブジェクトを操作することができる。
請求項4の発明は、請求項1乃至請求項3の何れか1項に記載の情報処理装置において、前記エンジン手段では、第1の変換手段が一部変更として追加を含む処理の要求を取得し、制御手段が前記アドレスが指定された前記記憶手段に記憶されたオブジェクトに対して取得したオブジェクトのツリー構造を保持したまま該取得したオブジェクトを追加する処理またはオブジェクトへの変更を行う処理を施すことを特徴とする。
オブジェクトは、他のオブジェクトの一部に追加したり、利用したりすることが可能である。そこで、エンジン手段において、第1の変換手段が一部変更として追加を含む処理の要求を取得して制御手段がアドレスが指定された記憶手段に記憶されたオブジェクトに対して取得したオブジェクトのツリー構造を保持したまま取得したオブジェクトを追加する処理を施すことにより、オブジェクトを他のオブジェクトに追加したり利用したりできる。
請求項5の発明の情報処理システムは、請求項1乃至請求項4の何れか1項に記載の情報処理装置を、前記ネットワークに複数接続したものである。ネットワークに複数の情報処理装置を接続することで、複数の情報処理装置間でオブジェクトを授受することができる。
前記情報処理装置は、次の情報処理方法による機能を有している。詳細には、請求項6の発明は、ネットワークを介して他の装置との間で情報を授受する情報処理方法であって、データのノードまたはアプリケーションのノード若しくはそれらの組み合わせによるノード群を含む複数のノードによってツリー構造で表されると共に、前記ネットワークで自身を識別するための識別情報に、前記ツリー構造における最上位のノードから自身のノードまでの位置を前記ツリー構造に従って各ノードの名称を示す名称情報を連続して表すオブジェクト位置情報を連結した自身の位置を示す一意のアドレスが与えられたオブジェクトであって、前記アドレスに対するデータ書込領域を備えたオブジェクトを複数記憶し、前記ネットワークを介して他の装置との間で外部言語で表された情報を授受すると共に、前記アドレスが指定された前記記憶手段に記憶されたオブジェクトに対して呼び出し、書き込み、削除及び一部変更の少なくとも1つの処理の要求を逐次処理し、前記ネットワークを介して外部言語による前記オブジェクトを前記処理の要求と共に少なくとも1つ取得し、取得したオブジェクトのツリー構造を保持したまま該取得したオブジェクトを内部言語で表された情報に第1の変換をし、前記要求されたオブジェクトの前記アドレスを解釈しかつ解釈したアドレスのオブジェクトに対して前記要求された処理を施し、前記記憶手段に記憶されたオブジェクトを該オブジェクトのツリー構造を保持したまま前記外部言語に第2の変換をすることにより汎用インタフェースとして機能する工程を含んでいる。
前記情報処理方法は、次の情報処理プログラムにより、コンピュータで実行させることが可能である。詳細には、請求項7の発明は、ネットワークを介して他の装置との間で情報を授受するコンピュータで実行される情報処理プログラムであって、データのノードまたはアプリケーションのノード若しくはそれらの組み合わせによるノード群を含む複数のノードによってツリー構造で表されると共に、前記ネットワークで自身を識別するための識別情報に、前記ツリー構造における最上位のノードから自身のノードまでの位置を前記ツリー構造に従って各ノードの名称を示す名称情報を連続して表すオブジェクト位置情報を連結した自身の位置を示す一意のアドレスが与えられたオブジェクトであって、前記アドレスに対するデータ書込領域を備えたオブジェクトを複数記憶させ、前記ネットワークを介して他の装置との間で外部言語で表された情報を授受すると共に、前記アドレスが指定された前記記憶手段に記憶されたオブジェクトに対して呼び出し、書き込み、削除及び一部変更の少なくとも1つの処理の要求を逐次処理させ、前記ネットワークを介して外部言語による前記オブジェクトを前記処理の要求と共に少なくとも1つ取得し、取得したオブジェクトのツリー構造を保持したまま該取得したオブジェクトを内部言語で表された情報に第1の変換をさせ、前記要求されたオブジェクトの前記アドレスを解釈しかつ解釈したアドレスのオブジェクトに対して前記要求された処理を施させ、前記記憶手段に記憶されたオブジェクトを該オブジェクトのツリー構造を保持したまま前記外部言語に第2の変換をさせることにより汎用インタフェースとして機能させる工程を含んでいる。
以上説明したように本発明によれば、コンピュータのハードウェアやそのハードウェアを稼働させるオペレーティングシステムに依存することなく、またオブジェクトがネットワーク上の何れにあってもその違いを意識することなく利用できるので、ネットワークアプリケーション構築及び運用の負荷を軽減することができる、という効果がある。
また、本発明によれば、一意のアドレスによるオブジェクトについて、アドレスの解決をしたりツリー構造を維持したまま外部言語による情報に可逆変換したりすることができるので、オブジェクトを扱う方法を事前に掌握したり定義したりする必要がなく、必要に応じてオブジェクトを利用することができる。
以下、図面を参照して本発明の実施の形態の一例を詳細に説明する。本実施の形態は、ネットワークアプリケーションシステムの一例として、オンラインゲームをネットワークアプリケーションとし、オンラインゲームをを利用する利用側と、そのオンラインゲームを運用する運用側とからなるシステムにおいて、ネットワーク上で情報授受を行う場合に本発明を適用したものである。
図2には、本発明が適用可能なネットワークシステムの概略構成が示されている。図2に示したように、ネットワークシステム10は、各々同一または異なる操作者が操作可能な複数のコンピュータ12が、それぞれモデム、ルータ、ターミナル・アダプタ(Terminal Adapter)等の接続装置16を介して、ネットワーク(例えば、インターネット)18に接続されて構成されている。複数のコンピュータ12は、ネットワーク18を介して、相互通信により情報授受が可能な構成である。
また、以下の説明では、図2に示したように、複数のコンピュータ12のうち少なくとも1つのコンピュータ12がオンラインゲームを運用するための各種情報を提供するコンピュータ(以下、「第1サーバ・コンピュータ」という)13として機能し、また、コンピュータ12のうち少なくとも1つのコンピュータ14は、ユーザ側でオンラインゲームを利用するコンピュータ(以下、「ユーザ・コンピュータ」という)14として機能する構成を一例として説明する。なお、複数のコンピュータ12のうち少なくとも1つのコンピュータ12は、他のサーバ・コンピュータの一部の機能を実行したり引き継いだりして(詳細は後述)、その機能を実行するコンピュータ(以下、「第2サーバ・コンピュータ」という)15として機能する場合がある。
なお、第1サーバ・コンピュータ13、ユーザ・コンピュータ14、第2サーバ・コンピュータ15を各々1台ずつとして説明するが、本発明は、これに限定されるものではなく、複数台でもよい。また、本実施の形態では、サーバ・コンピュータ及びクライアント・コンピュータとの間で情報授受を実行する場合を説明するが、情報の授受はサーバ・コンピュータ及びクライアント・コンピュータの間に限定されるものではなく、コンピュータ間及びコンピュータ内の情報授受を含むものである。
上記ネットワーク18は本発明のネットワークに相当する。このネットワークは、インターネットやイントラネット等のネットワークを含み、複数の装置間を無線または有線で結合可能な構成であればよい。例えば、複数のローカルエリアネットワーク間を電話回線や無線通信回線で接続した構成を含むものである。また、ネットワーク内に電話回線や無線通信回線との接続のための中継局を設け、この中継局を介して電話回線や無線通信回線に接続された端末をネットワークに参加させてもよい。また、コンピュータ12は、携帯電話やPDA等の小型の携帯端末を用いることができる。
本実施の形態では、ネットワークとしてインターネットを適用した場合を説明する。なお、本実施の形態では、詳細は後述するが、単にデータを元のままの状態で授受するのみではなく、URI(Uniform Resource Identifier)を指定してTCP/IP等のプロトコルによって情報を授受する。一方、周知のように、1つのコンピュータを、WWW(World Wide Web)サーバとして機能させ、他のコンピュータをWWWクライアントとして機能させるアプリケーションがある。このアプリケーションでは、ネットワークを介してサーバ・コンピュータに任意にアクセス可能な構成とし、アクセス位置(アクセス先のサーバ・コンピュータの位置、及びサーバ・コンピュータ内の情報の位置で構成されるデータ)は、URIを指定してデータを元のままの状態で授受する。
本実施の形態では、第1サーバ・コンピュータ13は、ユーザ・コンピュータ14からアクセス要求があった場合、URIによるラベルで指定された位置にあるデータ等を、その構造を維持したままネットワーク18を介して、アクセス元のユーザ・コンピュータ14へ送信する。この送受信には、HTTP(Hyper Text Transfer Protocol)等のプロトコルを用いることができる。なお、コンピュータ12の識別には、IP(Internet Protocol)アドレスやドメイン名が用いることができる。
図3に示すように、コンピュータ12は、CPU12A、ROM12B、及びRAM12Cが入出力インタフェース12Eを介してデータやコマンドを授受可能に接続された構成であり、入出力インタフェース12Eには、フラッシュメモリなど2次メモリ12D,ハードディスクドライブなどの大容量記憶装置12Fが接続されている。また、コンピュータ12は、当該コンピュータで指示入力をするために、各々キーボード、マウス等の入力装置12Gが設けられており、コンピュータによる処理結果等を表示するためにディスプレイ12Hが設けられている。さらに、コンピュータ12には、ネットワーク18に接続するためのネットワーク接続装置12J、フレキシブルディスクや光ディスクなどの記憶媒体に読み書きするためのメディア装置12Kが接続されている。なお、コンピュータ12は、汎用的かつ一般的なハードウェア構成であるため、詳細な説明を省略すると共に、コンピュータ12に内蔵可能な機器や接続可能な機器についても汎用的かつ一般的なハードウェア構成であるため、その構成及び詳細な説明を省略する。
図1に、上記構成によるコンピュータ12についてハードウェア資源とソフトウェア資源を用いて稼働するときの、機能的なブロック図を示した。図1は、第1サーバ・コンピュータ13の構成の一例を示したものである。第1サーバ・コンピュータ13のアーキテクチャは、ランタイム部20、コンテント・エンジン部30、及びコンテント部40で構成されている。
なお、本実施の形態のランタイム部20は本発明の授受手段に対応し、コンテント・エンジン部30は本発明のエンジン手段に対応し、コンテント部40は本発明の記憶手段に対応する。
ランタイム部20は、主に、他のコンピュータとの情報授受や第1サーバ・コンピュータ13のハードウェア資源に対する各種処理を実施する機能部であり、コンテント・エンジン部30から見て、所謂、OS及び通信機能などを隠蔽し、マシン依存性を含む環境依存性を解消するための層である。このランタイム部20は、従来技術のユニット112と同様に、外部と通信するためのプロトコル(例えばHTTP)機能を実現するための通信ユニット22を含んでおり、外部装置との間で、通信ユニット22の定めるプロトコルによるデータ授受が可能な構成になっている。
図1の例ではランタイム部20が有する通信ユニット22として、SOAPユニット25及びHTTPユニット26を備えた場合を示している。なお、通信プロトコルとしてHTTPやSOAPに限定されるものではない。また、コンテント・エンジン部30は、シリアライズされたメッセージを通信ユニット22との間で授受するが、通信ユニット22の用いるプロトコルの違いはランタイム部20で解消されるため、その違いに左右されることはない。詳細は後述するが、URIによって記述されたラベルによってコンテントを把握するが、そのURIには、プロトコル名が記述されており、そのURIによって吸収される。
コンテント・エンジン部30は、本実施の形態において、オブジェクト(後述するコンテント)を一意に定めることを可能にする主要な制御を行う機能部であり、詳細にはオブジェクト(コンテント)を構成するノードによる階層構造管理を行うものである。コンテント部40は、コンテント・エンジン部30によって制御される少なくとも1つのコンテントを記憶した記憶部であり、図1の例では、アプリケーションを構成する1または複数のノードからなるコンテント42、ファイル44Aを内包したコンテント44、データベース50にアクセスするライブラリとして機能するコンテント46、第1サーバ・コンピュータ13内に格納されたファイルにアクセスするライブラリとして機能するコンテント48を有している。
ここで、オブジェクトは、データ・ノードや実行体であるアプリケーション・ノードの各々、及びそれらの組み合わせによるノード群を含む総体をいい、以下の説明では、コンテントと総称する。また、コンテントは、ノードによるツリー形状で表すことができる階層構造を有することができる。すなわち、コンテントは、アプリケーションを構成する1または複数のノードからなるモジュール、アプリケーションが利用するライブラリ、データベース、ファイル、テキストデータ(マルチメディアデータ)などのリソース等についての総称である。
上記コンテント44の一例として、アプリケーションにおいてランプを利用する場合を説明する。まず、図7には、アプリケーション内でランプを定義するための一例を示した。ランプは、アプリケーション内の売買価格(100)、重量(50)、残燃料(30)を初期値として有しており、その状態を表すステートの値は、点灯、消灯、一定間隔実行の3種類が定められている。ランプの現在状態は消灯で、点灯はランプを点灯するときに利用するアプリケーション(点灯ロジック)の指定であり、消灯はランプを消灯するときに利用するアプリケーション(消灯ロジック)の指定であり、一定間隔実行はランプの点灯に伴い減少する燃料を求めるアプリケーション(点灯・燃料減少ロジック)の指定である。なお、図7には、これらの定義をユーザに示すためのイメージ(左側)と、アプリケーションで表示されるランプ自体のイメージ(右側)とを示した。
上記コンテント44としてランプを採用した場合、そのランプを特定するノードが必要である。図5には、本実施の形態においてコンテントとしてランプを表現するための構造例を示した。ランプを表現するコンテントは、ノードによるツリー構造とされ、その基点は、格納位置である。基点は、コンテントを授受するためのプロトコル名、及びコンテントが格納(配置)されたコンピュータやコンピュータ上の位置を表すドメイン名(及び格納位置)により与えられる。本実施の形態では、コンテントを識別するためにURI(Uniform Resource Identifier)をラベルとして用いている。例えば、通信プロトコルにHTTPプロトコルを用い、コンテントが配置されたサーバを示すドメイン名が "game_A" のとき、"http://game_A" となる。ランプコンテントがこれに属すると設定するので、基点に対して”/”を付与する。すなわち、ランプコンテントのみで考えた場合、基点は、”/”で表される。この基点である”/”以前にプロトコル名及びドメイン名(必要であれば格納位置)が与えられることにより、ランプコンテントを一意なアドレスで表現することが可能となる。
すなわち、コンテント・エンジン部30の管理下のツリー構造によるコンテント42は、URIによるラベルとして、「プロトコル名://ドメイン名」を基点とし、続けてコンテント42のツリー構造が表される。
図5の例では、アプリケーションで利用する品目としてlampがある場合、基点("/")の下位ノードにカテゴリとして利用可能品目の定義部分とユーザの指定部分とを分類するためのノードが属される。すなわち、基点の下位にitemsとuserのノードが並列に属している。itemsのノードは、下位に属する品目の親ノードを表すもので、図5の例ではlampノードが下位に属している。このlampノードには、図6に示すように、各種状態値やロジックを表すノードが下位に並列に属している。また、userのノードは、上記itemsのノードを所有または利用可能なユーザの各種データに対する親ノードであり、図5の例ではtaroノード、lampノード、fuelノードの順に各ノードが下位に属している。従って、図5の例では、ユーザ「taro」が、品目として「lamp」を有しており、その残量が「25」であることを表している。この「lamp」は、点灯及び消灯にロジックを有し、さらに、点灯時には、徐々に燃料が減少するロジックを有している。
これらの各ノードをツリー構造を維持して列挙するときには、”/”等の所定記号で連続させるように設定する。すなわち、”/”等の所定記号は、直前と直後のノードが親子関係にあることを明示するためのものである。言い換えれば、全てのノードは、基点のノードからのパス表現による一意のアドレス表現がなされる。各々のノードは、値を有する場合にその値を格納する領域を有している。
次に、図4を参照して、ランタイム部20及びコンテント・エンジン部30の主要構成と共に、コンテント部40に対する動作の一例を説明する。
ランタイム部20は、他のコンピュータ12から情報を授受する通信ユニット22(図4では、受信側を通信ユニット22A、他のコンピュータ12への情報の出力側を通信ユニット22Bと記載)、メッセージを受け取ると共に貯留して逐次出力(要求)するメッセージプール24を備えている。コンテント・エンジン部30は、デシリアライズ部32,パス解決部34,ドメイン判断部36,及びシリアライズ部38を有している。デシリアライズ部32は、通信ユニット22からのコンテントの情報(例えば、XML形式で記述された構造化データ)を受け取りコンテントの構造を維持したままの各種情報を内部情報として変換してメッセージプール24へ出力する機能部である。パス解決部34は、メッセージプール24からのメッセージを受け取り、メッセージの対象となるコンテントのアドレスを把握してそのアドレスのコンテントに対して要求の処理を施す機能部である。シリアライズ部38は、内部情報であるコンテントの要求などのメッセージをコンテントの構造を維持したままの情報(例えば、XML形式で記述された構造化データ)に変換する機能部である。ドメイン判断部36は、コンテントからの要求のメッセージが自己のコンピュータ内部に対するものであるか外部コンピュータに対してであるかを判断する機能部である。この判断は、URIのドメイン名が自己のコンピュータのものであるか否かを判別することで達成できる。
従って、アプリケーションを構成する複数のノードからなるコンテント42が、データやロジックなどのノードを呼び出す場合、まずドメイン判断部36で内部コンテントに対する要求メッセージか否かを判断し、内部であるときは、メッセージプール24に対してメッセージを出力し、その処理を待つ。一方、外部に対する要求であるときは、その要求メッセージをシリアライズ部38でXML形式で記述し、要求の機能を示す一意のアドレスへ向けて通信ユニット22から出力する。この後、外部からコンテントを受け取る。この場合、通信ユニット22によりXML形式によるメッセージを受け取り、デシリアライズ部32において内部情報に変換されてメッセージプール24に貯留される。そして、パス解決部34により一意のアドレスによるパスが解決されて、コンテントが格納される。
すなわち、本実施の形態では、URIでラベリングされた一意のアドレスによるコンテントは、アドレスの解決がなされたり、ツリー構造を維持したままXML文書に可逆変換したりすることが可能である。この可逆変換とは、シリアライズ部38によるシリアライズ変換と、デシリアライズ部32によるデシリアライズ変換である。これによって、コンテントの取得やその値の取得、そして、属する機能の取得について、コンテント・エンジン部30による同一のインタフェースによってなされる。従って、コンテント・エンジン部30は、コンテントについて、URIでラベリングされた一意のアドレスの解決がなされたり、ツリー構造を維持したままXML文書に可逆変換したりすることが可能な汎用インタフェースとして機能することとなる。
また、本実施の形態では、メッセージプール24を備えてコンテントへの処理要求を逐次処理することができるので、非同期メッセージングを実現することができる。
なお、本実施の形態のシリアライズ部38は本発明のエンジン手段を構成する第2の変換手段に対応し、デシリアライズ部32は本発明の第1の変換手段に対応し、パス解決部34は本発明の制御手段に対応する。また、本実施の形態のドメイン判断部36は、本発明のエンジン手段を構成する判断手段に対応する。
次に、ランタイム部20及びコンテント・エンジン部30の処理を各々個別に説明する。図8には、ランタイム部20の処理の流れを示し、図9にはコンテント・エンジン部30の処理の流れを示した。
ランタイム部20では、図8のステップ200において内部または外部よりのラベルを取得する。このラベルは、URIで記述されたもので、プロトコル名及びドメイン名から内部または外部からの要求を判別できる。次のステップ202では、内部からの要求であるか否かを判断する。ステップ202で否定されると、ステップ204において、外部からのメッセージを取得する。この取得は、通信ユニット22の受け取りに相当する。次のステップ206では、取得したメッセージをデシリアライズ部32へ出力する。一方、ステップ202で肯定されると、ステップ208へ進み、コンテント・エンジン部30からメッセージを取得する。この取得は、デシリアライズ部32及びドメイン判断部36からの受け取り、またはシリアライズ部38からの受け取りである。次のステップ210では、メッセージが外部への出力要求か否かを判断する。この判断は、シリアライズ部38からの出力に相当するか否かの判断である。ステップ210で肯定されたときは、ステップ214へ進み、メッセージを通信ユニット22によって出力する。一方、ステップ210で否定されたときは、ステップ212でメッセージをメッセージプール24に貯留し処理する。この処理は要求に応じて出力する処理である。
コンテント・エンジン部30では、図9のステップ300において、URIを読み取ると共に、コンテントからのものであるか否かを判断する。ステップ300で否定されると、ステップ302においてランタイム部20からのメッセージを取得し、次のステップ304でデシリアライズを要求するものであるか否かを判断する。ステップ304で否定されると、ステップ310へ進み、一意アドレス処理を実行する(例えば、図10)。一方、ステップ304で肯定されると、ステップ306においてXML形式などのメッセージを内部情報にデシリアライズ部32でデシリアライズ変換し、次のステップ308でメッセージプール24へ出力する。
一方、ステップ300で肯定されると、ステップ312へ進み、コンテントからのメッセージを取得する。次のステップ314では、メッセージが要求するアドレスが外部であるか内部であるかをドメイン名により判断する。内部に対するものであるときは、ステップ308へ進みメッセージプール24へ出力する。一方、外部であるときは、ステップ316においてシリアライズ部38によるシリアライズ変換を行い、変換結果の情報(XML形式)を次のステップ318において、通信ユニット22へ出力する。
図10には、コンテントの一意のアドレスを解釈してコンテントを取得する処理の一例、すなわち、パス解決部34の処理の一例を示した。
図10のステップ320では、アドレスを取得し、次のステップ322において、ノードを取得する。このノードは、上述のURIによるドメイン名及び格納位置に基づきノードを取得する処理である。次のステップ324では、取得したアドレスに下位層があるか否かを判断する。この判断は、上述のように、”/”で区切られた識別子が存在するか否かの判別により達成される。ステップ324で肯定されたときは次のステップ326で下位層ノードを取得し、全てのノードについて取得するまで繰り返す(ステップ324で否定)。ステップ324で否定されると、ステップ328へ進み、コンテントを出力する。
次に、図13を参照して、上記構成によるコンテントを利用することで達成可能な関連サービスの構築について説明する。ここでは、関連サービスとして、オンラインゲーム上で利用されるアイテムの取引を掲示板を利用して行う場合を説明する。ここでいう、アイテムとは、アプリケーションgame_A内におけるキャラクタ、このキャラクタが利用可能なオンラインゲーム内の装備や道具などをいう。
第1サーバ・コンピュータ13ではオンラインゲームであるアプリケーションgame_Aが稼働すると共に、このオンラインゲームであるアプリケーションgame_Aのアイテムを取引するためのアイテム取引のコンテント(アイテム取引モジュール40C)を含んで構成されている。また、第2サーバ・コンピュータ15ではアイテム取引に関する掲示板のアプリケーションを実行させるためのコンテント(掲示板モジュール40B)を含んで構成されており、掲示板のアプリケーションが稼働されている。すなわち、第2サーバ・コンピュータ15において掲示板の運営を管理するアプリケーション(コンテント)を以下の説明では、便宜上、管理ツール40Aとし、掲示板の処理を実行するアプリケーション(コンテント)を、掲示板モジュール40Bとする。また、第1サーバ・コンピュータ13でアイテム取引処理を実行するアプリケーション(コンテント)を、アイテム取引処理モジュール40Cとする。また、以下の説明ではコンテント・エンジン部を省略して説明する。
また、ここでの説明では、アイテム売却を希望するユーザはプレーヤU、アイテム購入を希望するユーザはプレーヤVとして各々ユーザ・コンピュータを操作するものとし、掲示板の運営を管理する管理者を掲示板運営者Wとしてアイテムの売買処理を説明する。なお、プレーヤUが操作するユーザ・コンピュータ14上で稼働される、掲示板を介したアイテム売買処理を実行するアプリケーション(コンテント)を、プレーヤモジュール14Aとし、プレーヤVが操作するユーザ・コンピュータ14上で稼働される、掲示板を介したアイテム売買処理を実行するアプリケーション(コンテント)を、プレーヤモジュール14Bとする。また、以下の説明では、掲示板の運営者がアイテム取引コンテントを利用して掲示板にアイテム取引のサービスを追加する場合を説明する。
まず、掲示板運営者Wは、アイテム取引方法照会のため、キーボードなどの操作(指示入力P10)による指示によって、管理ツール40Aからアイテム取引処理モジュール40Cに対してアクセスし、「アイテム取引内容を取得」という指示のメッセージM20を出力する。この管理ツール40Aからアイテム取引処理モジュール40Cへのアクセスは、上述の汎用インタフェース(コンテント・エンジン部30)を介してなされるので、互いの固有言語には依存しない。次に、アイテム取引処理モジュール40Cは、アイテム取引内容に関する情報として次の3つの取引情報を取得し(プロセスR10)、返信する(メッセージM21)。第1の取引情報は、取り扱っているアイテムの調査方法を記述した情報であり、第2の取引情報は、アイテムの価格の調査方法を記述した情報であり、第3の取引情報は、アイテムの購入方法を記述した情報である。この返信を受けて、管理ツール40Aはディスプレイへの表示などにより、掲示板運営者Wに対して照会結果を提示する(指示出力P11)。掲示板運営者Wは、照会結果を基にして、キーボードなどの操作(指示入力P12)による指示によって、管理ツール40Aから掲示板モジュール40Bに対して「アイテム取引サービスを追加」という指示のメッセージM22を出力する。これによって、掲示板モジュール40Bでは、アイテム取引サービスの追加処理が実行される(プロセスR11)。
次に、プレーヤUはキーボードなどの操作(指示入力P13)によりプレーヤモジュール14Aからアプリケーションgame_Aで利用することができる「アイテム売却希望」というメッセージM23を第2サーバ・コンピュータ15の掲示板モジュール40Bへ送信する。すなわち、この送信は、稼働された掲示板にアイテムの売却希望の情報を書き込む処理である。この掲示板をプレーヤVが参照して取得を希望する場合、プレーヤVはキーボードなどの操作(指示入力P14)によりプレーヤモジュール14Bから「アイテム購入希望」というメッセージM24を掲示板モジュール40Bへ送信する。すなわち、この送信は、掲示板にアイテムの購入希望の情報を書き込む処理である。
掲示板モジュール40Bでは、売買者と購入者の双方の書き込みを監視すなわちアイテム取引の成立を監視しており(プロセスR12)、取引が成立した場合に、「アイテム取引成立」というメッセージM25をアイテム取引処理モジュール40Cへ送信する。この送信情報には、プレーヤUがアイテムを売ってプレーヤVが買うというメッセージを含んでいる。また、売買金額を付加してもよい。
アイテム取引処理モジュール40Cは、「プレーヤUの所持金を販売金額に応じて増加させると共に、持ち物リストから販売したアイテムを削除」というメッセージM26をプレーヤモジュール14Aへ送信する。また、アイテム取引処理モジュール40Cは、「プレーヤVの所持金を購入金額に応じて減少させ、持ち物リストにアイテムを追加」というメッセージM27をプレーヤモジュール14Bへ送信する。ここで、アイテムの管理がアイテム取引処理モジュール40Cでなされているときは、アイテム取引処理モジュール40Cにおいて、プレーヤUの所持金を販売金額に応じて増加させると共に、持ち物リストから販売したアイテムを削除し、プレーヤVの所持金を購入金額に応じて減少させ、持ち物リストにアイテムを追加する(プロセスR13)。また、各プレーヤモジュールでなされるときは、プレーヤモジュール14AにおいてプレーヤUの所持金を販売金額に応じて増加させると共に、持ち物リストから販売したアイテムを削除し(プロセスR14)、プレーヤVの所持金を購入金額に応じて減少させ、持ち物リストにアイテムを追加する(プロセスR15)。なお、アイテム管理を他の装置で行うときは、装置に対してこれらの情報を送信すればよい。
このように、コンテントに一意のアドレスが与えられており、そのオブジェクトに容易に到達することができるので、サービス提供者(本実施の形態では掲示板)が自在に、コンテントを利用することができる。すなわち、上記のようにサービス提供者が掲示板にアイテム取引サービスを追加する場合、オンラインゲームアプリケーション内のアイテム取引コンテントのアドレスを取得し、掲示板サービスを稼働しているサーバに登録するだけでよい。これによって、従来、ネットワークアプリケーション構築者が定義した方法のみでしか関係するサービスを稼働することが困難であったものを、汎用インタフェースを用いることで、関連サービスを容易に構築することができる。
次に、図11を参照して、上記構成によるコンテントを利用することで達成可能な負荷分散について説明する。ここでは、第1サーバ・コンピュータ13の負荷が増大したときに、第1サーバ・コンピュータ13の負荷を軽減するために、第1サーバ・コンピュータ13で稼働しているコンテントを他のコンピュータ12(第2サーバ・コンピュータ15)へ移動して実行させる場合を説明する。
なお、第1サーバ・コンピュータ13は、アプリケーションとしてgame_Aをネットワーク上で稼働し、そのアプリケーションgame_Aにユーザ・コンピュータ14などのクライアント・コンピュータからアクセスすることで参加する場合を想定する。また、第1サーバ・コンピュータ13は、コンテントとして、アプリケーションgame_Aの運用を管理するアプリケーションを有し、管理者ADMの指示により、アプリケーションgame_Aの各コンテントを操作できるものとする。
また、ここでの説明では、ユーザ・コンピュータ14を操作するユーザはプレーヤOPとしてアプリケーションgame_Aに参加するものとし、以下の説明では、負荷分散の一例として、アプリケーションgame_A内におけるキャラクタの移動処理を説明する。なお、第1サーバ・コンピュータ13に属するアプリケーションgame_Aの運用を管理するアプリケーション(コンテント)を以下の説明では、便宜上、運用管理ツール42Aとし、キャラクタの移動処理を実行するアプリケーション(コンテント)を、移動処理モジュール42Bとする。また、後述するように第2サーバ・コンピュータ15に移動されたキャラクタの移動処理を実行するアプリケーション(コンテント)を、移動処理モジュール42Cとする。また、第1サーバ・コンピュータ13と第2サーバ・コンピュータ15のコンテント・エンジン部30の混同を避けるため、第1サーバ・コンピュータ13はコンテント・エンジン部30B、第2サーバ・コンピュータ15はコンテント・エンジン部30Cとする。
まず、ユーザ・コンピュータ14では、クライアント側のアプリケーション(コンテント)としてプレーヤモジュールが稼働され、プレーヤOPはキーボードなどの操作(指示入力P01)によりプレーヤモジュールからアプリケーションgame_A内で「プレーヤPが移動する」というメッセージM01を第1サーバ・コンピュータ13へ送信する。この送信では、移動処理モジュール(コンテント)42Bのアドレスを指定しており、移動処理モジュール42Bの一意のアドレスを第1サーバ・コンピュータ13に対して送信することになる。第1サーバ・コンピュータ13では、コンテント・エンジン部30Bにおいて、メッセージを取得し、移動処理モジュール42B(例えば、図1のコンテント42)が呼び出され、移動処理モジュール42Bが管理するプレーヤPの位置情報を変更する(プロセスR01)。
このとき、第1サーバ・コンピュータ13に対して他のコンピュータ12からプレーヤの移動についてのメッセージが集中すると、移動処理モジュール42Bの処理に対する負荷が増大する。この負荷状況を、管理者ADMは監視しており、負荷分散の実施を判断する。なお、この判断は、管理者ADMが行って指示入力してもよいし、CPUの負荷状況を数値化し、所定値以上の負荷のときに自動的に実行してもよい。ここでは、管理者ADMが指示入力する場合を説明する。
管理者ADMはキーボードなどの操作(指示入力P02)により移動処理モジュール42Bの負荷分散を指示し、移動処理モジュール42Bに対して「移動対象のコンテントへのメッセージをメッセージプールに貯留した状態を維持する」という指示のメッセージM02をコンテント・エンジン部30Bへ出力する。次に運用管理ツール42Aは、移動処理モジュール42Bを移動するため、移動処理モジュール42Bのシリアライズ要求のメッセージM03をコンテント・エンジン部30Bに対して出力する。コンテント・エンジン部30Bはこれを受けて移動処理モジュール42Bのシリアライズを行う。次に運用管理ツール42Aは、シリアライズした移動処理モジュール42Bを、第2サーバ・コンピュータ15へ送信するメッセージM04をコンテント・エンジン部30Bへ出力し、ランタイム部20から第2サーバ・コンピュータ15へ送信される。
第2サーバ・コンピュータ15では、第1サーバ・コンピュータ13からのシリアライズされた移動処理モジュール42Bを取得し、デシリアライズして格納する。このとき、移動処理モジュール42Bのコンテント構造はそのまま維持されるが、そのコンテントの一意のアドレスが、第2サーバ・コンピュータ15として与えられることになる。次に運用管理ツール42Aは、第1サーバ・コンピュータ13から移動された移動処理モジュール42Bを削除する指示のメッセージM05をコンテント・エンジン部30Bへ出力する。これにより、コンテント・エンジン部30Bは、移動処理モジュール42Bを削除する。なお、ここでいう削除とは、即時削除ではなく、移動処理モジュール42Bで継続的に行われている処理が完了したときに削除することである。
ここで、第1サーバ・コンピュータ13から移動処理モジュール42Bを削除すると、任意のコンピュータ12から一意のアドレスで移動処理モジュール42Bに対するアクセスが要求されるとき、そのコンテントが存在せず、要求に応じることができない。そこで、運用管理ツール42Aは、上述の削除指示のメッセージM05の後、参照を表すコンテント42Baを設ける指示のメッセージM06をコンテント・エンジン部30Bへ出力する。このコンテント42Baは、移動処理モジュール42Bの位置に、移動処理モジュール42Cを参照することを表すコンテントである。これにより、移動処理モジュール42Bが指示されても、容易に移動処理モジュール42Cを呼び出すことができる。次に、運用管理ツール42Aは、コンテント・エンジン部30Bに対して、移動処理モジュール42Bに対する「メッセージをメッセージプールに貯留した状態を解除する」という指示のメッセージM07をコンテント・エンジン部30Bへ出力する。これにより、第1サーバ・コンピュータ13では、メッセージプール24から順次メッセージが取り出され、処理が再開される。
この後、プレーヤモジュールから「プレーヤPが移動する」というメッセージM10が第1サーバ・コンピュータ13へ送信された場合、この送信では、移動処理モジュール(コンテント)42Bのアドレスが指定されているが、そのアドレスには参照を表すコンテント42Baがある(M12)ので、コンテント・エンジン部30Bは、その参照先である第2サーバ・コンピュータ15の移動処理モジュール42Cへ向けてメッセージを転送する(M12)。第2サーバ・コンピュータ15では、コンテント・エンジン部30Cにおいて、メッセージを取得し、移動処理モジュール42Cが呼び出され、移動処理モジュール42Cが管理するプレーヤPの位置情報を変更する(プロセスR02)。
このように、本実施の形態では、コンテントに一意のアドレスが与えられており、そのオブジェクトに容易に到達することができる。また、コンテントをツリー構造で定めているので、コンテントを構造を維持したまま入出力が可能である。これにより、入出力インタフェースを予め設定することなく、コンテントをそのまま利用することができ、装置間で容易に情報を授受することができる。
また、本実施の形態では、一意のアドレスが与えられた上記構成によるコンテントを利用することで、コンテントを装置間で移動することができ、負荷分散をアプリケーションの稼働中に無停止で行うことができる。従って、予め負荷分散を前提としたシステム構築をする必要がない。
また、コンテントに一意のアドレスが与えられており、そのオブジェクトに容易に到達することができるので、例えば掲示板等のサービス提供者が自在に、ネットワークアプリケーションで利用可能なコンテントを利用することができる。これによって、従来、ネットワークアプリケーション構築者が定義した方法のみでしか関係するサービスを稼働することが困難であったものを、ネットワークアプリケーション構築時に想定しない関連サービスとしてサービス提供者が容易に構築することができる。
また、本実施の形態では、一意のアドレスが与えられた上記構成によるコンテントを利用することで、ネットワークアプリケーションの実行環境(運用環境)に連動したものとなり、ネットワークアプリケーション開発時や関連サービス開発時にあって、分業体制を促進することができる。
上記実施の形態では、インターネット等のネットワークの一例を説明したが、このネットワークは、有線及び無線のいずれでもよい。
また、本実施の形態では、URIによるアドレス付与されたコンテントをHTTPプロトコルなどで授受する場合を説明したが、プロトコルを限定するものではない。また、授受するものとして、XML形式で記述された形態の情報に限定されるものではなく、マークアップ言語でない構造化文書のための規格(例えばYAML等)などで記述された形態の情報でもよい。また、この他、ネットワーク間で流通可能な共通の規格による言語形式を採用してもよい。すなわち、以下の条件に合致する形態のものであればよく、任意の形態を採用することができる。その条件とは、コンテントの階層構造を表現できること、処理が固有言語に依存しないこと、プロトコルと親和性があること、多様なデータ形式を表現できること、である。
また、本実施の形態では、ランタイム部20、コンテント・エンジン部30、コンテント部40の何れかの間で、情報授受例えばメッセージの授受をした場合を説明したが、情報授受は各部の間で直接実行されることに限定されない。例えば、キャッシュメモリを備えて情報授受を一時的に記憶し同種の情報授受に対して過去の情報授受を実行する所謂キャッシュ機能を追加してもよい。
また、ネットワーク上や装置内で情報授受する場合、認証機構を付加してコンテントの内部または外部からの取得や呼び出しを許可または制限するアクセス制限機能やライセンスコントロール機能を追加してもよい。
本発明の実施の形態に係るネットワークシステムのコンピュータについてハードウェア資源とソフトウェア資源を用いて稼働するときの機能的なブロック図である。 本発明の実施の形態に係るネットワークシステムの概念構成図である。 コンピュータの基本構成を示すブロック図である。 本発明の実施の形態に係るコンピュータの機能ブロック図である。 コンテントの構造の一例を示すイメージ図である。 コンテント内の一部コンテントを示すイメージ図である。 アプリケーション内で利用可能なコンテントの一例としてのランプの定義例を示すイメージ図である。 本実施の形態にかかるサーバ・コンピュータにおけるランタイム部の処理の流れを示すフローチャートである。 本実施の形態にかかるサーバ・コンピュータにおけるコンテント・エンジン部の処理の流れを示すフローチャートである。 本実施の形態にかかるサーバ・コンピュータのコンテント・エンジン部で機能するパス解決部におけるコンテントの一意のアドレス処理の一例を示すフローチャートである。 本発明の実施の形態に係るネットワークシステムにおいて、負荷分散を説明するための、コンピュータ間の情報授受を示すイメージ図である。 従来のネットワークシステムのコンピュータについてハードウェア資源とソフトウェア資源を用いて稼働するときの機能的なブロック図である。 本発明の実施の形態に係るネットワークシステムにおいて、関連サービスの構築を説明するための、コンピュータ間の情報授受を示すイメージ図である。
符号の説明
13…第1サーバ・コンピュータ
14…ユーザ・コンピュータ
15…第2サーバ・コンピュータ
18…ネットワーク
20…ランタイム部
22…通信ユニット
24…メッセージプール
30…コンテント・エンジン部
32…デシリアライズ部
34…パス解決部
36…ドメイン判断部
38…シリアライズ部
40…コンテント部
42…コンテント
44…コンテント

Claims (7)

  1. ネットワークを介して他の装置との間で情報を授受する情報処理装置であって、
    アプリケーションの2以上のノード、またはデータのノードとアプリケーションのノードの組み合わせによるノード群を含む複数のノードによってツリー構造で表されると共に、前記ネットワークで自身を識別するための識別情報に、前記ツリー構造における最上位のノードから自身のノードまでの位置を前記ツリー構造に従って各ノードの名称を示す名称情報を連続して表すオブジェクト位置情報を連結した自身の位置を示す一意のアドレスが与えられたオブジェクトであって、前記アドレスに対するデータ書込領域を備えたオブジェクトを複数記憶した記憶手段と、
    前記ネットワークを介して他の装置との間で外部言語で表された情報を授受すると共に、前記アドレスが指定された前記記憶手段に記憶されたオブジェクトに対して呼び出し、書き込み、削除及び一部変更の少なくとも1つの処理の要求を逐次処理する授受手段と、前記記憶手段と前記授受手段との間に設けられて汎用インタフェースとして機能するエンジン手段であって、前記ネットワークを介して外部言語による前記オブジェクトを前記処理の要求と共に少なくとも1つ取得し、取得したオブジェクトのツリー構造を保持したまま該取得したオブジェクトを内部言語で表された情報に変換する第1の変換手段と、前記要求されたオブジェクトの前記アドレスを解釈しかつ解釈したアドレスのオブジェクトに対して前記要求された処理を施す制御手段と、前記記憶手段に記憶されたオブジェクトを該オブジェクトのツリー構造を保持したまま前記外部言語に変換する第2の変換手段と、含むエンジン手段と、
    を含む情報処理装置。
  2. 前記アドレスは、URIで表されることを特徴とする請求項1に記載の情報処理装置。
  3. 前記エンジン手段は、装置内部で要求されたオブジェクトのアドレスを解釈しかつ解釈したアドレスのオブジェクトについて外部記憶の場合には、前記第2の変換手段で前記外部言語に変換し、内部記憶の場合には前記授受手段へ該アドレスを出力する判断手段を含むことを特徴とする請求項1または請求項2に記載の情報処理装置。
  4. 前記エンジン手段では、第1の変換手段が一部変更として追加を含む処理の要求を取得し、制御手段が前記アドレスが指定された前記記憶手段に記憶されたオブジェクトに対して取得したオブジェクトのツリー構造を保持したまま該取得したオブジェクトを追加する処理またはオブジェクトへの変更を行う処理を施すことを特徴とする請求項1乃至請求項3の何れか1項に記載の情報処理装置。
  5. 請求項1乃至請求項4の何れか1項に記載の情報処理装置を、前記ネットワークに複数接続した情報処理システム。
  6. ネットワークを介して他の装置との間で情報を授受する情報処理方法であって、
    アプリケーションの2以上のノード、またはデータのノードとアプリケーションのノードの組み合わせによるノード群を含む複数のノードによってツリー構造で表されると共に、前記ネットワークで自身を識別するための識別情報に、前記ツリー構造における最上位のノードから自身のノードまでの位置を前記ツリー構造に従って各ノードの名称を示す名称情報を連続して表すオブジェクト位置情報を連結した自身の位置を示す一意のアドレスが与えられたオブジェクトであって、前記アドレスに対するデータ書込領域を備えたオブジェクトを複数記憶し、
    前記ネットワークを介して他の装置との間で外部言語で表された情報を授受すると共に、前記アドレスが指定された前記記憶手段に記憶されたオブジェクトに対して呼び出し、書き込み、削除及び一部変更の少なくとも1つの処理の要求を逐次処理し、
    前記ネットワークを介して外部言語による前記オブジェクトを前記処理の要求と共に少なくとも1つ取得し、取得したオブジェクトのツリー構造を保持したまま該取得したオブジェクトを内部言語で表された情報に第1の変換をし、前記要求されたオブジェクトの前記アドレスを解釈しかつ解釈したアドレスのオブジェクトに対して前記要求された処理を施し、前記記憶手段に記憶されたオブジェクトを該オブジェクトのツリー構造を保持したまま前記外部言語に第2の変換をすることにより汎用インタフェースとして機能する工程を含む情報処理方法。
  7. ネットワークを介して他の装置との間で情報を授受するコンピュータで実行される情報
    処理プログラムであって、
    アプリケーションの2以上のノード、またはデータのノードとアプリケーションのノードの組み合わせによるノード群を含む複数のノードによってツリー構造で表されると共に、前記ネットワークで自身を識別するための識別情報に、前記ツリー構造における最上位のノードから自身のノードまでの位置を前記ツリー構造に従って各ノードの名称を示す名称情報を連続して表すオブジェクト位置情報を連結した自身の位置を示す一意のアドレスが与えられたオブジェクトであって、前記アドレスに対するデータ書込領域を備えたオブジェクトを複数記憶させ、
    前記ネットワークを介して他の装置との間で外部言語で表された情報を授受すると共に、前記アドレスが指定された前記記憶手段に記憶されたオブジェクトに対して呼び出し、書き込み、削除及び一部変更の少なくとも1つの処理の要求を逐次処理させ、
    前記ネットワークを介して外部言語による前記オブジェクトを前記処理の要求と共に少なくとも1つ取得し、取得したオブジェクトのツリー構造を保持したまま該取得したオブジェクトを内部言語で表された情報に第1の変換をさせ、前記要求されたオブジェクトの前記アドレスを解釈しかつ解釈したアドレスのオブジェクトに対して前記要求された処理を施させ、前記記憶手段に記憶されたオブジェクトを該オブジェクトのツリー構造を保持したまま前記外部言語に第2の変換をさせることにより汎用インタフェースとして機能させる工程を含む情報処理プログラム。
JP2004071389A 2004-03-12 2004-03-12 情報処理装置、システム、方法及びプログラム Expired - Lifetime JP4313703B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004071389A JP4313703B2 (ja) 2004-03-12 2004-03-12 情報処理装置、システム、方法及びプログラム
PCT/JP2005/004372 WO2005088469A1 (ja) 2004-03-12 2005-03-11 情報処理装置、システム、方法及び記録媒体
US10/558,101 US8312109B2 (en) 2004-03-12 2005-03-11 Content manipulation using hierarchical address translations across a network
US11/566,152 US8312110B2 (en) 2004-03-12 2006-12-01 Content manipulation using hierarchical address translations across a network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004071389A JP4313703B2 (ja) 2004-03-12 2004-03-12 情報処理装置、システム、方法及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009096716A Division JP5059048B2 (ja) 2009-04-13 2009-04-13 情報処理装置、システム、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2005258942A JP2005258942A (ja) 2005-09-22
JP4313703B2 true JP4313703B2 (ja) 2009-08-12

Family

ID=34975769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004071389A Expired - Lifetime JP4313703B2 (ja) 2004-03-12 2004-03-12 情報処理装置、システム、方法及びプログラム

Country Status (3)

Country Link
US (1) US8312109B2 (ja)
JP (1) JP4313703B2 (ja)
WO (1) WO2005088469A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8296354B2 (en) * 2004-12-03 2012-10-23 Microsoft Corporation Flexibly transferring typed application data
JP2007193626A (ja) * 2006-01-20 2007-08-02 Brother Ind Ltd コンテンツ配信システム、ノード装置及びその情報処理方法並びにそのプログラム
US20070177583A1 (en) * 2006-01-31 2007-08-02 Microsoft Corporation Partial message streaming
EP2254458A1 (en) * 2008-02-04 2010-12-01 Bayer HealthCare, LLC Semiconductor based analyte sensors and methods
US7991915B2 (en) * 2008-05-05 2011-08-02 Sentilla Corporation Software platform for radio network
CA2735670A1 (en) * 2008-09-19 2010-03-25 Swetha Chinnayelka Analyte sensors, systems, testing apparatus and manufacturing methods
WO2010033660A1 (en) * 2008-09-19 2010-03-25 Bayer Healthcare Llc Lancet analyte sensors and methods of manufacturing
WO2010033668A1 (en) * 2008-09-19 2010-03-25 Bayer Healthcare Llc Analyte sensors, testing apparatus and manufacturing methods
CN102171557B (zh) 2008-09-19 2016-10-19 安晟信医疗科技控股公司 具有增强的电化学活性的电化学装置及其制造方法
KR101374821B1 (ko) 2008-12-30 2014-03-25 카나타 리미티드 정보 처리 시스템, 제 1 정보 처리 장치, 제 2 정보 처리 장치 및 제 3 정보 처리 장치
JP6159511B2 (ja) * 2012-06-01 2017-07-05 任天堂株式会社 情報処理システム、情報処理装置および情報処理方法
US10326732B1 (en) * 2018-10-08 2019-06-18 Quest Automated Services, LLC Automation system with address generation

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4769772A (en) * 1985-02-28 1988-09-06 Honeywell Bull, Inc. Automated query optimization method using both global and parallel local optimizations for materialization access planning for distributed databases
US6253254B1 (en) * 1996-07-11 2001-06-26 Ansgar Erlenkoetter Hyper media object management
US6976093B2 (en) * 1998-05-29 2005-12-13 Yahoo! Inc. Web server content replication
JP2001147812A (ja) * 1999-11-22 2001-05-29 Toshiba Corp クラス生成方法、オブジェクト生成方法、インタフェースオブジェクト生成方法及びオブジェクト実行システム
US6721727B2 (en) * 1999-12-02 2004-04-13 International Business Machines Corporation XML documents stored as column data
US6408298B1 (en) * 1999-12-15 2002-06-18 Microsoft Corporation Methods and systems for copying and moving across virtual namespaces
JP3949341B2 (ja) * 2000-03-03 2007-07-25 株式会社ソニー・コンピュータエンタテインメント エンタテインメント装置及び記録媒体
US6767284B1 (en) * 2000-03-14 2004-07-27 John R. Koza Skill games
JP2001282730A (ja) * 2000-03-30 2001-10-12 Sony Corp 情報処理装置、サーバ接続方法、プログラム格納媒体及びネットワーク接続システム
JP2001312581A (ja) 2000-04-27 2001-11-09 Toshiba Corp コンピュータシステム、コンピュータ、情報提供方法、記憶媒体
US20020029259A1 (en) * 2000-07-26 2002-03-07 Nec Corporation Remote operation system and remote operation method thereof
JP4078802B2 (ja) * 2000-12-26 2008-04-23 ソニー株式会社 情報処理システム、情報処理方法、情報処理装置、および情報記録媒体、並びにプログラム記録媒体
KR20010025567A (ko) * 2001-01-06 2001-04-06 정용석 로고 도메인을 이용한 인터넷 사이트 접속방법
US20020199014A1 (en) * 2001-03-26 2002-12-26 Accton Technology Corporation Configurable and high-speed content-aware routing method
JP4252229B2 (ja) * 2001-03-28 2009-04-08 ユミルリンク株式会社 情報交換システム、情報通信端末、情報交換方法、プログラム、および、記録媒体
JP3824298B2 (ja) * 2001-07-26 2006-09-20 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバ、ウェブコンテンツ編集装置、コンピュータを用いてこれらを実現するプログラム、及びそのウェブコンテンツ編集方法並びに提供方法
US7177935B2 (en) * 2001-10-05 2007-02-13 International Business Machines Corporation Storage area network methods and apparatus with hierarchical file system extension policy
US6763347B1 (en) * 2001-10-19 2004-07-13 Nick Zhang Indexing management for hierarchical main memory
US6826568B2 (en) * 2001-12-20 2004-11-30 Microsoft Corporation Methods and system for model matching
US20050154708A1 (en) * 2002-01-29 2005-07-14 Yao Sun Information exchange between heterogeneous databases through automated identification of concept equivalence
US20040133581A1 (en) * 2002-05-21 2004-07-08 High-Speed Engineering Laboratory, Inc. Database management system, data structure generating method for database management system, and storage medium therefor
US7150004B2 (en) * 2002-08-21 2006-12-12 International Business Machines Corporation Programmatically serializing complex objects using self-healing techniques
JP3870144B2 (ja) * 2002-09-27 2007-01-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 木構造文書送受システム、木構造文書送信装置、木構造文書受信装置、木構造文書送受方法、木構造文書送信方法、木構造文書受信方法、及びプログラム
JP4372450B2 (ja) * 2003-05-07 2009-11-25 株式会社日立製作所 ストレージシステムの制御方法、ストレージシステム、及びストレージ装置
EP1521471B1 (en) * 2003-05-08 2015-03-04 Sony Corporation Information access system, information providing device, information access device, information providing method, and information access method
WO2005010680A2 (en) * 2003-07-15 2005-02-03 Wildtangent, Inc. Multi-session user launching and invitation system and method
US20060068919A1 (en) * 2003-08-21 2006-03-30 Gottfurcht Elliot A Method and apparatus for playing video and casino games with a television remote control
US7478100B2 (en) * 2003-09-05 2009-01-13 Oracle International Corporation Method and mechanism for efficient storage and query of XML documents based on paths
US7681114B2 (en) * 2003-11-21 2010-03-16 Bridgeborn, Llc Method of authoring, deploying and using interactive, data-driven two or more dimensional content
US7698289B2 (en) * 2003-12-02 2010-04-13 Netapp, Inc. Storage system architecture for striping data container content across volumes of a cluster
KR100568234B1 (ko) * 2003-12-13 2006-04-07 삼성전자주식회사 마크업 랭귀지 기반의 데이터 관리 방법과 그 장치 및기록매체
US20050187912A1 (en) * 2004-02-24 2005-08-25 International Business Machines Corporation Management of configuration data using extensible markup language
JP4181080B2 (ja) * 2004-03-31 2008-11-12 株式会社東芝 階層型データベース管理システム、階層型データベース管理方法及び階層型データベース管理プログラム
US8015211B2 (en) * 2004-04-21 2011-09-06 Architecture Technology Corporation Secure peer-to-peer object storage system
JP2006018430A (ja) * 2004-06-30 2006-01-19 Ricoh Co Ltd 情報処理装置、ネットワークシステム、プログラム、データ構造及び記憶媒体
US9077611B2 (en) * 2004-07-07 2015-07-07 Sciencelogic, Inc. Self configuring network management system
US8462808B2 (en) * 2004-09-02 2013-06-11 Brother Kogyo Kabushiki Kaisha Information server and communication apparatus
JP2005196801A (ja) 2005-02-02 2005-07-21 Sharp Corp 情報処理装置、アドレス情報管理方法およびアドレス情報管理システム

Also Published As

Publication number Publication date
WO2005088469A1 (ja) 2005-09-22
JP2005258942A (ja) 2005-09-22
US20070067492A1 (en) 2007-03-22
US8312109B2 (en) 2012-11-13

Similar Documents

Publication Publication Date Title
Smith The contract net protocol: High-level communication and control in a distributed problem solver
JP4313703B2 (ja) 情報処理装置、システム、方法及びプログラム
US8335862B2 (en) Programmatic management of software resources in a content framework environment
Schwabe et al. Cohesive design of personalized web applications
JP2007310891A (ja) コンピュータソフトウェア開発の方法およびシステム
KR20100072232A (ko) 현실세계 웹 애플리케이션과 3d 가상세계를 이어주는 방법 및 장치
JP2001056810A (ja) データベースアクセスシステム
Kuno Surveying the e-services technical landscape
JP2008165447A (ja) データアクセス装置、データアクセス方法、及び、コンピュータプログラム
CN114020718A (zh) 一种不可更改nft作品处理方法及其装置
US20230229671A1 (en) Web services having live data updates
JP2002259259A (ja) 画像データ通信システム、画像データ通信方法および記憶媒体
JPH11167584A (ja) ページ遷移方法及びその実施装置並びにその処理プログラムとデータを記録した媒体
JP5059048B2 (ja) 情報処理装置、システム、方法及びプログラム
Hackmann et al. Extending BPEL for interoperable pervasive computing
US8312110B2 (en) Content manipulation using hierarchical address translations across a network
JP2002229836A (ja) ピア・ツー・ピアで情報を共有し活用する方法
JP2006277046A (ja) 電子商取引システム、電子商取引処理方法およびプログラム
Helal et al. The internet enterprise
JPH1153379A (ja) メッセージ仲介方法及びシステム及びメッセージ仲介プログラムを格納した記憶媒体
JP4669245B2 (ja) フレームワーク間連携プログラム、フレームワーク間連携方法、フレームワーク間連携装置、およびフレームワーク間連携システム
US20020095349A1 (en) Net market system
JPH05342123A (ja) ネットワークシステムのコマンド転送方式
Zhang et al. Web service enabled text categorization system: Service infrastructure designing
Kettner et al. Logic Apps

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050623

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051212

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060214

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060623

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20081024

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20081024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090413

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090515

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120522

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4313703

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130522

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20180522

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term