JP2006004415A - コンテキスト交換を用いたエニュメレーションのセッションのためのフレキシブルなコンテキスト管理 - Google Patents

コンテキスト交換を用いたエニュメレーションのセッションのためのフレキシブルなコンテキスト管理 Download PDF

Info

Publication number
JP2006004415A
JP2006004415A JP2005145601A JP2005145601A JP2006004415A JP 2006004415 A JP2006004415 A JP 2006004415A JP 2005145601 A JP2005145601 A JP 2005145601A JP 2005145601 A JP2005145601 A JP 2005145601A JP 2006004415 A JP2006004415 A JP 2006004415A
Authority
JP
Japan
Prior art keywords
processing system
data
computer processing
context
data receiver
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.)
Granted
Application number
JP2005145601A
Other languages
English (en)
Other versions
JP4726539B2 (ja
JP2006004415A5 (ja
Inventor
Alan S Geller
エス.ゲラー アラン
Donald F Box
エフ.ボックス ドナルド
Luis F Cabrera
フェリペ カブレラ ルイス
Raymond W Mccollum
ダブリュー.マックコラム レイモンド
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006004415A publication Critical patent/JP2006004415A/ja
Publication of JP2006004415A5 publication Critical patent/JP2006004415A5/ja
Application granted granted Critical
Publication of JP4726539B2 publication Critical patent/JP4726539B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B09DISPOSAL OF SOLID WASTE; RECLAMATION OF CONTAMINATED SOIL
    • B09BDISPOSAL OF SOLID WASTE NOT OTHERWISE PROVIDED FOR
    • B09B3/00Destroying solid waste or transforming solid waste into something useful or harmless
    • B09B3/40Destroying solid waste or transforming solid waste into something useful or harmless involving thermal treatment, e.g. evaporation
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B02CRUSHING, PULVERISING, OR DISINTEGRATING; PREPARATORY TREATMENT OF GRAIN FOR MILLING
    • B02CCRUSHING, PULVERISING, OR DISINTEGRATING IN GENERAL; MILLING GRAIN
    • B02C21/00Disintegrating plant with or without drying of the material
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61LMETHODS OR APPARATUS FOR STERILISING MATERIALS OR OBJECTS IN GENERAL; DISINFECTION, STERILISATION OR DEODORISATION OF AIR; CHEMICAL ASPECTS OF BANDAGES, DRESSINGS, ABSORBENT PADS OR SURGICAL ARTICLES; MATERIALS FOR BANDAGES, DRESSINGS, ABSORBENT PADS OR SURGICAL ARTICLES
    • A61L2209/00Aspects relating to disinfection, sterilisation or deodorisation of air
    • A61L2209/10Apparatus features

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Food Science & Technology (AREA)
  • Physics & Mathematics (AREA)
  • Thermal Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】 どの程度の量のメッセージ間のコンテキスト情報をデータプロバイダによって保持されるかに対する制御を保持しながら、要求駆動のエニュメレーションのセッションにおいて要求されたデータアイテムを供給するメカニズムを供給すること。
【解決手段】 データアイテムの要求を受け取ると、データプロバイダは、情報の第1の部分が供給されたことを反映するコンテキスト情報とともに、第1の応答において供給すべきデータアイテムの部分を識別する。データプロバイダは、どの程度の量のコンテキストをデータレシーバのシステムに供給すべきかの決定を行い、適当なコンテキスト情報をデータレシーバに供給する。データプロバイダは、データアイテムの第1の部分を含む応答を供給する。データレシーバは、供給された第1のコンテキスト情報を、データアイテムの次の部分に対する第2の要求に含め、データ転送セッションの連続性を可能にする。
【選択図】 図4

Description

本発明は、一般には、コンピュータ処理技術に関し、より詳細には、どのコンピュータ処理システムが通信のためのコンテキスト情報を管理するかを制御しながら、多重応答で多重されたデータアイテムをネットワーク配布することに関する。
コンピュータ処理技術は、我々の仕事や遊びのやり方を変容させた。今やコンピュータ処理システムは多種多様な形態をとっており、デスクトップコンピュータ、ラップトップコンピュータ、タブレットPC、パーソナル・デジタル・アシスタント(PDA)、家庭用機器、等がある。コンピュータ処理システムの最も基本的な形態において、コンピュータ処理システムは、システムメモリおよび1つもしくは複数のプロセッサを備える。システムメモリのソフトウェアを、プロセッサによって実行することができ、結果としてコンピュータ処理システムのその他のハードウェアに所望の機能を実行させることができる。
ネットワーク技術によって、コンピュータ処理システムは、たとえ広大な距離にわたっても通信を行うことができ、それによってコンピュータの機能を拡張することが可能となる。例えば、ネットワーク技術は、電子メール、ウェブブラウジング、ファイル転送、インスタントメッセージ、電子ホワイトボード、ネットワークコラボレーション、等ようなアプリケーションを可能にする。
ネットワークアプリケーションの中には、大量の情報の転送を伴うものがある。例えば、サイズが数テラバイトのデータベースをダウンロードしたいと思う場合がある。たとえ高帯域幅ネットワーク上においても、このダウンロードには数日を要する可能性がある。かなり信頼性のあるネットワーク環境においてさえ、全期間にわたって、ネットワーク通信が維持できない可能性が高い。接続が失われると、データ転送全体を最初から再び始めなくてはならないことが多い。
大規模なデータ転送の信頼性および効率性を向上させる一つの従来式の方法は、データを一度に一部分ずつ別個の電子メッセージにして転送する方法である。時には、この方法は単一の要求に応答して自動的に達成することができる。しかしながら、データレシーバがデータ転送プロセスをいくぶん制御できるようにするために、データレシーバは、転送データ全体の一部分を含む各々の電子メッセージに対して要求を送出することができる。例えば、ウェブサイトは、ウェブサイトに関連する大量のデータを有しており、ウェブページ、画像、音声ファイル、他のマルチメディア、スクリプト等がある。ウェブブラウザは、データアイテムの各々に対して別個の要求を送出することが多い。この技術は、「要求駆動のエニュメレーション技術(request−driven enumeration technology)」と呼ぶこととし、この技術においては、データアイテムの収集は、別個の要求に個別に応答して、一度に一部分ずつ「エニュメレート(enumerate)」される。
データレシーバのコンピュータ処理システムに対する期待に応えるためには、各要求が、要求の適正なコンテキストにおいて理解されることが重要である。例えば、全部で50個のデータアイテムを、一度に10個のデータアイテムずつ、5つの異なる要求に対する5つの応答のセッションで転送するものと仮定する。第1の要求が送出されると、データプロバイダは、50個のデータアイテムの識別を知るだけではなく、第1の要求であることを知ることも重要である。データプロバイダは、最初の10個のデータアイテムを転送することを知る。第2の要求を受け取ると、データプロバイダは、先の10個のデータアイテムがすでに供給されたことを知ることが重要である。そうでなければ、データプロバイダは、最初の10個のデータアイテムを再び供給する可能性がある。したがって、要求駆動のエニュメレーション技術においては、データプロバイダは、要求に対する適正なコンテキストを持たなくてはならない。本明細書の説明および本特許請求の範囲においては、要求駆動のエニュメレーション技術によるセッションにおける、要求に対する「コンテキスト(context)」を、要求に応答してデータアイテムのどの部分を供給するかをデータプロバイダが知るのに必要もしくは役立つ、任意の情報として定義する。
従来から、このコンテキスト情報の維持に対する責任は静的である。例えば、データプロバイダは、特定のデータレシーバへの大量のデータ転送に対するセッション情報を維持することができる。このセッション情報には、コンテキスト情報を含めることができる。他の従来技術においては、データレシーバが、コンテキスト情報を維持する。このコンテキスト情報は、データプロバイダがデータレシーバに供給する。次いで、データレシーバは、データアイテムの収集の次の部分に対する次の要求の中に、コンテキスト情報を含める。どのシステムがコンテキスト情報を管理しているかにかかわらず、コンテキスト情報の管理の責任は、データ転送セッションが開始されるときには、予め定められている。さらに、コンテキスト管理の責任は、セッションが確立されている間、変化することがない。
データプロバイダもしくはデータレシーバにとって、コンテキスト情報を維持するのが有利かどうかは、周辺環境によって決まる。周辺環境の多くは、非常に動的である。したがって、有利になるものとしては、データ転送セッションのためのコンテキスト情報の管理における、データプロバイダとデータレシーバの間の労力分割に対して、データプロバイダのコンピュータ処理システムが、より柔軟かつ動的に制御をすることを可能にするメカニズムがある。
従来技術についての前述の問題は、本発明の原理によって克服され、原理とは、データレシーバのコンピュータ処理システムからの別個の要求に応答して要求されたデータアイテムの部分が供給される要求駆動のエニュメレーションのセッションにおいて、データプロバイダのコンピュータ処理システムが、要求されたデータアイテムを供給するためのメカニズムを目的とするものである。このメカニズムによって、データプロバイダは、データプロバイダが保持するメッセージ間のコンテキスト情報の量、およびデータレシーバに供給されるコンテキスト情報の量を制御することが可能となる。
データレシーバに供給すべきデータアイテムに対する第1の要求を受け取ると、データプロバイダは、データレシーバに供給すべきデータアイテムを識別する。この識別は、少なくとも部分的には第1の要求内の情報に基づいて行うことができる。次いで、データプロバイダは、第1の要求に対応する第1の応答において供給すべきデータアイテムの第1の部分を識別する。さらに、第1の部分の情報が供給されたことを反映する、コンテキスト情報が識別される。次いで、データプロバイダは、どの程度の量のコンテキストをデータレシーバのコンピュータ処理システムに供給すべきかについて決定する。次いで、データプロバイダは第1の応答を構築し、この応答にはデータアイテムの第1の部分が含まれる。また、データプロバイダは、データプロバイダが適当であると考えるだけの量のコンテキスト情報を、レシーバのコンピュータ処理システムに供給する。
データレシーバは、この供給された第1のコンテキスト情報を、データアイテムの次の部分に対する第2の要求の中に含める。データプロバイダは、この供給された第1のコンテキスト情報を要求と要求との間で、保持する必要がない。代わりに、データプロバイダは、第2の要求から供給された第1のコンテキストを読み取る。このことは、データプロバイダが、データレシーバに送信するデータアイテムの第2の部分を識別するのに役立つ。次いで、データプロバイダは、第2の応答に含めるべき第2のコンテキスト情報を生成する。
この第2に供給されるコンテキスト情報は、そのときの環境に応じて、先の第1に供給されるコンテキスト情報と同一もしくは異なる範囲を有することがある。例えば、第1に供給されるコンテキスト情報に、コンテキスト情報の全部が含まれることがある。データレシーバが第2の要求を迅速に送信する場合には、データレシーバが能動的に関係して、要求が迅速に連続してくるように思われるので、次の応答には、比較的少ないコンテキスト情報を含めるか、またはまったく含める必要がなく、このことは、データプロバイダがコンテキスト情報を長くは維持する必要がないことを意味する。
したがって、本発明の原理によって、データプロバイダは、そのときの環境に応じて、コンテキスト管理におけるデータプロバイダの役割を動的に調整することについて、大幅な柔軟性を得ることができる。本発明のさらなる特徴および利点は、以下の説明に記述してあり、部分的には記述から明白であるか、もしくは本発明の実施から知ることができる。本発明の特徴および利点は、添付の本特許請求の範囲に具体的に指摘した機器および組合せによって、実現して獲得することができる。本発明のこれら、および他の特徴は、以下の本明細書の説明と添付の本特許請求の範囲からより完全に明白になるか、もしくは以下の記載に従って本発明を実施することによって知ることができる。
本発明の上記および他の利点および特徴を獲得する方法について説明するために、上記で簡単に記述した本発明のより具体的な記述を、添付の図面に示した本発明の具体的な実施形態を参照して行う。添付の図面は、本発明の代表的な実施形態のみを示しており、したがって、本発明の範囲を限定するものとは考えないことを理解した上で、本発明を、添付の図面を使用して、さらに具体的かつ詳細に記述し、説明する。
本発明の原理は、要求されたデータアイテムの部分がデータレシーバのコンピュータ処理システムからの別個の要求に応答して供給される、要求駆動のエニュメレーションのセッションにおいて要求されたデータアイテムを供給する、データプロバイダのコンピュータ処理システムのためのメカニズムに関する。メカニズムによって、データプロバイダは、どの程度の量のメッセージ間のコンテキスト情報をデータプロバイダによって保持し、およびどの程度の量のコンテキスト情報をデータレシーバに供給するかを、制御することが可能となる。
図面を参照すると、同一の参照番号は同一の要素を意味しており、適当なコンピュータ処理環境に実装したとして、本発明を示してある。以下の記述は、本発明の図示した実施形態に基づくものであり、本明細書に明示的に記述していない代替実施形態に関して、本発明を限定するものと解釈すべきではない。
以下の記述において、本発明は、特に断らない限り、1つまたは複数のコンピュータによって実行される、動作および演算の記号表現を参照して記述してある。したがって、動作および演算は、時にはコンピュータ実行されると記すこともあり、コンピュータの処理ユニットによる構造形式のデータを表す電気信号の操作が含まれることが理解されるであろう。コンピュータの処理ユニットによる操作によって、データが変換されるか、もしくはデータがコンピュータのメモリシステム内の場所に維持され、この操作によって、当業者によく理解されている方法により、コンピュータの演算が再構成されるか、もしくは他の方法で変更される。データが維持されるデータ構造とは、データのフォーマットによって定義される固有の特性を有するメモリの物理的な場所である。しかしながら、本発明は前述の文脈で記述してあるが、限定を意味するものではなく、当業者であれば、以下に記述する動作および演算をハードウェアに実装することもできることを認識するであろう。図1は、装置に有用な例示的コンピュータアーキテクチャの概略図を示す。
説明の目的で、描いたアーキテクチャは適当な環境の一例を示すものにすぎず、本発明の使用もしくは機能の範囲についてのいかなる限定をも意味するものではない。また、コンピュータ処理システムは、図1に示す構成要素のいずれか、もしくは構成要素の組合せに関して、何らかの依存性もしくは必要条件を有するものとして解釈すべきではない。
本発明は、他の多数の汎用もしくは専用のコンピュータ処理のまたは通信の、環境もしくは構成において使用可能である。本発明での使用に好適な、周知のコンピュータ処理システム、環境、および構成の例としては、限定はされないが、モバイル電話、ポケットコンピュータ、パーソナルコンピュータ、サーバ、マルチプロセッサシステム、マイクロプロセッサを基部とするシステム、ミニコンピュータ、メインフレームコンピュータ、および上記のシステムもしくは装置のいずれかを含む、分散コンピュータ処理環境がある。
コンピュータ処理システムの最も基本的な構成において、コンピュータ処理システム100は、通常、少なくとも1つの処理ユニット102およびメモリ104を備える。メモリ104は、(RAMのような)揮発性、(ROM、フラッシュメモリ、等の)不揮発性、もしくは両者の組合せとすることができる。この最も基本的な構成は、図1に破線106で示してある。
記憶媒体装置は、付加的な特徴および機能を有することができる。例えば、記憶媒体装置には、限定はされないが、PCMCIAカード、磁気および光ディスク、ならびに磁気テープを含む、追加の(取り外し可能および固定)記憶装置を含めることができる。追加の記憶装置を、図1に取り外し可能記憶装置108および固定記憶装置110によって示してある。コンピュータ記憶媒体には、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、もしくは他のデータなどの情報を記憶するために任意の方法もしくは技術で実装された、揮発性および不揮発性の、取り外し可能および固定の媒体を含めることができる。メモリ104、取り外し可能記憶装置108、および固定記憶装置110は、すべてコンピュータ記憶媒体の例である。コンピュータ記憶媒体としては、限定はされないが、RAM、ROM、EEPROM、フラッシュメモリ、他のメモリテクノロジ、CD−ROM、DVD(digital versatile disks)、他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、他の磁気記憶装置、および所望の情報を記憶するのに使用可能であるとともに、コンピュータ処理システムによってアクセスが可能である他の任意の媒体がある。
本明細書において使用する場合には、「モジュール」もしくは「構成要素」という用語は、コンピュータ処理システム上で実行されるソフトウェアのオブジェクトまたはルーチンを意味する場合がある。本明細書に記述する、異なる構成要素、モジュール、エンジン、およびサービスは、コンピュータ処理システムで実行されるオブジェクトもしくはプロセス(例えば、別個のスレッドとして)として実装することができる。本明細書に記述するシステムおよび方法は、ソフトウェアに実装することが望ましいが、ソフトウェアおよびハードウェアへのもしくはハードウェアへの実装も可能であり企図され得る。
コンピュータ処理システム100には、例えば、ネットワーク120を介して、ホストが他のシステムおよび装置と通信することを可能にする、通信チャネル112を含めることもできる。通信チャネル112は、通信媒体の例である。通信媒体には、通常、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または例えば搬送波もしくは他の搬送メカニズムなどの変調されたデータ信号中の他のデータが包含されるとともに、任意の情報伝達媒体が含まれる。例としてであって限定ではなく、通信媒体には、有線ネットワークおよび有線で直結接続などの有線媒体、ならびに音響、無線、赤外線、および他の無線媒体などの無線媒体が含まれる。本明細書で使用するコンピュータ読み取り可能な媒体という用語には、記憶媒体および通信媒体の両方が含まれる。
また、コンピュータ処理システム100は、キーボード、マウス、ペン、音声入力の構成要素、タッチ入力装置などの、入力構成要素114を有することもできる。出力構成要素116としては、スクリーンディスプレイ、スピーカ、プリンタ、等、およびスクリーンディスプレイ、スピーカ、プリンタ、等を駆動するためのレンダリングモジュール(「アダプタ」と呼ばれることが多い)がある。コンピュータ処理システム100は、電源118を備える。構成要素はすべて、本技術分野において周知であり、ここでは詳しく述べる必要はない。
図2は、データレシーバのコンピュータ処理システム210にネットワーク接続する機能を有するデータプロバイダのコンピュータ処理システム220を含む、ネットワーク環境200を示す。本明細書の説明および本特許請求の範囲においては、「コンピュータ処理システム」とは、システムメモリおよび、システムメモリからの命令を実行する機能のある少なくとも1つのプロセッサを有する任意の装置またはシステムとして定義される。代替および追加として、コンピュータ処理システムは、全体がハードウェアに実装された場合でも、任意の論理処理の機能を有することができる。したがって、データレシーバのコンピュータ処理システム210およびデータプロバイダのコンピュータ処理システム220は、必須ではないが、コンピュータ処理システム100について上述したように、構築することができる。
また、コンピュータ処理システム210および220に対する、「データプロバイダ」および「データレシーバ」という用語の使用は、データの受信がコンピュータ処理システム210によってサポートされる唯一の機能であることも、データの供給がコンピュータ処理システム220によってサポートされる唯一の機能であることもまた示唆するものではない。実際に、コンピュータ処理システムは、非常に複雑な汎用のコンピュータ処理システムである場合もあるが、これは必要条件ではない。データレシーバのコンピュータ処理システム210は、本明細書では「データレシーバ」と呼ぶこともある。同様に、データプロバイダのコンピュータ処理システム220は、本明細書では「データプロバイダ」と呼ぶこともある。
データプロバイダ220は、データレシーバ210に供給すべきある数のデータアイテム221を管理する。また、データプロバイダ220は、データレシーバ210に供給しない他のデータアイテムも管理することができる。図に示した場合には、データプロバイダ220は、場合によっては縦方向の省略符号221Gで表すような他のデータアイテムとともに、データアイテム221Aから221Fをデータレシーバのコンピュータ処理システムに供給することになっている。
データプロバイダ220は、要求駆動のエニュメレーション技術によるセッションのとおりに、メッセージ交換230を使用することによって、データアイテム221をデータレシーバ210に供給する。具体的には、データアイテム221は、単一要求への単一の応答においては、データプロバイダに供給されない。代わりに、データアイテム221は、一度に一部分ずつ、データレシーバ210に供給され、各部分は一つの要求に応答して配布される。一実施形態においては、要求駆動のエニュメレーション技術によるセッションは、データレシーバ210がデータプロバイダ220に予備のエニュメレートの要求を伝送することによって開始される。データプロバイダ220は、エニュメレートの応答をデータレシーバ210に返送することによって、セッションを確認することができる。以下にさらに詳細に記述する一つの具体例において、エニュメレートの要求および応答は、eXtensible Markup Language(XML)文書を含む、Simple Object Access Protocol(SOAP)エンベロープの形式とすることができる。しかしながら、エニュメレートの要求および応答は、Remote Method Invocation(RMI)メッセージとすることもできる。
図2に示すように、データレシーバ210は、第1の要求231Aを伝送する。応答として、データプロバイダ220は、第1の要求231Aに対する第1の応答231Bにおいて、データアイテム221Aおよび221Bを供給する。このプロセスを、データレシーバ210がデータアイテム221のすべてを受け取るまで反復することができる。具体的には、データレシーバ210は、第2の要求232Aを伝送する。応答として、データプロバイダ220は、第2の要求232Aに対する第2の応答232Bにおいて、データアイテム221Cおよび221Dを供給する。次いで、データレシーバ210は、第3の要求233Aを伝送する。応答として、データプロバイダ220は、第3の要求233Aに対する第3の応答233Bにおいて、データアイテム221Eおよび221Fを供給する。このプロセスは、縦方向の省略符号221Gによって表すさらなるデータアイテムに対して、縦方向の省略符号234で表すように、継続することができる。
図に示した場合には、少なくとも6つのデータアイテムが、各要求に対して一度に2つのデータアイテムずつ、データレシーバ210に供給されるものとして示してある。しかしながら、本発明の原理は、この実施形態に限定はされない。要求駆動のエニュメレーション技術による任意の単一のセッションを使用して、任意の数のデータアイテムを伝送することができる。さらに、データプロバイダ220は、任意の所与の要求に対する任意の所与の応答において、任意の数のデータアイテムを(もしくはデータアイテムの一部分でも)伝送することができる。また、データレシーバ210へのデータアイテムのエニュメレーションは要求駆動であるので、データレシーバ210は、さらなる要求の伝送を停止するだけで、データ転送を停止することができる。
図3は、データプロバイダが2つのコンピュータ処理システム間のコンテキスト管理の均衡に対する制御を保持することを可能にしながら、データプロバイダが、データアイテムをデータレシーバに供給する方法300のフローチャートを示す。同様に、図4は、この役割をするデータプロバイダをデータレシーバがサポートする方法400のフローチャートを示す。方法300および方法400は、ネットワーク環境200において実行できるので、図3および図4を、図2を頻繁に参照して説明する。
図3を参照すると、データプロバイダ220は、データレシーバのコンピュータ処理システムに供給すべきデータアイテムに対する要求にアクセスする(動作301)。この要求は、例えばファンクションコールによって行われる、データプロバイダ220における内部要求とすることができる。あるいはまた、この要求は、他のコンピュータ処理システムからの要求を受け取ることによってアクセスすることができる。図2に図示した本実施形態においては、データプロバイダ220は、データレシーバ210からの第1の要求231Aを受け取ることによって、この要求にアクセスすることができる。一実施形態においては、データレシーバからの後続の要求のみならずこの要求は、各々、データレシーバ210が出す、「‘プル要求’」である。ここに記述する本実施形態においては、‘プル要求’は、SOAPエンベロープに含めることができ、結果として、XML文書の形式にすることができる。‘プル要求’の一例を、以下により詳細に示す。‘プル要求’は、RMIとすることもできる。
次いで、データプロバイダ220は、データプロバイダとデータレシーバとの間のコンテキスト管理における均衡を制御しながら、データレシーバ210にデータアイテムを供給する機能の、結果指向の動作を実行する(ステップ310)。図示した本実施形態においては、このことは、少なくとも動作311から314、および321から323を含むが、この結果を達成する任意の動作で十分である。
具体的には、データプロバイダ220は、少なくとも部分的には要求内の情報に基づいて、データレシーバのコンピュータ処理システムに供給すべきデータアイテムの収集を識別する(動作311)。データアイテムは、要求中に直接的に指定することができる。さらに、データアイテムは、データアイテムの収集(本明細書においてはデータアイテムの初期収集もしくは複数のデータアイテムとも呼ぶ)を指定することによって間接的に指定することもできる。この要求には、データアイテムの最終収集を生成するためにデータアイテムの初期収集に適用するフィルタを含めることができる。一実施形態においては、識別しようとするアイテムの収集は、要求中のセッション識別子を読み取ることによって実行される。セッション識別子は、先のエニュメレートの要求と関係づけることができ、この要求においては、データアイテムが明白に識別されている。この先のエニュメレートの要求には、データアイテムを識別するためのフィルタを含めておくこともできる。
次いで、データプロバイダ220は、データアイテムの収集の第1の部分がデータレシーバのコンピュータ処理システムに供給されることを反映する第1のコンテキストを識別する(動作312)。データアイテムの収集が、例えば、XML要素である場合には、コンテキストには、先に供給された最後のXML要素のもしくは供給しようとする次のXML要素の識別子を、またはデータアイテムの収集のどの部分がすでにデータレシーバ210に供給されたかおよびデータアイテムのどの部分をさらに供給すべきかを示すのに有用な他の任意の情報を、含めることができる。
次いで、データプロバイダ220は、どの程度の量の第1のコンテキストをデータレシーバ210に供給すべきかを決定する(動作313)。このことには、動作312において識別された全部の第1のコンテキストをひとつも含めないか、一部もしくは全部を含めることができる。ここで留意すべきことは、コンテキスト情報をデータレシーバ210に供給できるとしても、データプロバイダは、コンテキストを後に検証するために、供給されたコンテキストの一部もしくは全部を重複して保持することができることである。どの程度の量のコンテキストをデータレシーバ210に供給するかの決定は、任意の決定基準のとおりに実施することができる。関係する決定基準としては、例えば、データプロバイダ220もしくはデータプロバイダ220の利用可能なメモリの、現在の処理量および利用可能な処理能力、データレシーバ210もしくはデータレシーバ210の利用可能なメモリの、現在の処理量および利用可能な処理能力、データレシーバ210とデータプロバイダ220との間の利用可能なネットワーク帯域幅、ネットワークレシーバもしくはネットワークレシーバに関連するユーザの重要性、等がある。次いで、データプロバイダ220は、データレシーバ210に適宜、第1のコンテキストを供給する(動作314)。
さらに、データプロバイダ220は、データレシーバへの第1のネットワーク応答に供給すべきデータアイテムの収集の第1の部分(全体よりも少ない)を識別する(動作321)。「第1の」という用語は、必ずしも、2つのコンピュータ処理システム間に先のエニュメレート要求もしくは応答がなかったことを意味するものではない。実際に、以下に示す一実施形態においては、プル演算を使用してデータアイテムを一度に一部分ずつ取り出すことのできるセッション中のポイントに達するために、エニュメレートの要求およびエニュメレートの応答の形式の全体的な要求/応答の交換がある。
次いで、データプロバイダは、第1の部分を含む第1のネットワーク応答を構築する(動作322)。応答の一例を、‘プル応答’の形式で以下に記述する。‘プル応答’の形式は、特有のXML構造を有するSOAPエンベロープの形式をとる。次いで、第1のネットワーク応答は、データレシーバ210に送出される(動作323)。一実施形態においては、データプロバイダ220は、第1のネットワーク応答自体に、データレシーバ210に供給される第1のコンテキストを含める。図2においては、第1のネットワーク応答は、ネットワーク応答231Bとして示してある。
エニュメレーションのセッションは要求駆動であるので、データプロバイダ220は、セッションをさらに進行させる前に、次の要求を待ち受ける(動作331)。図4を参照すると、データレシーバ210は、この段階において、セッションが続く前に、さらなる動作を実行することになっている。図4の方法400は、第1のネットワーク応答であっても、そうでなくても、エニュメレーションのセッション内でネットワーク応答を受け取るときに、データレシーバ210がとる動作を記述している。具体的には、データレシーバ210はネットワーク応答を受け取り(動作401)、ネットワーク応答中に供給されるコンテキストを含む次の要求を生成し(動作402)、次いで、次の要求をデータプロバイダ220に伝送する(動作403)。コンテキストは、先のネットワーク応答から次のネットワーク応答へ直接移すことができるが、これは必ずしもそうでなくてもよい。おそらく、先のネットワーク応答に供給されたコンテキストの一部分だけが、次の要求に供給される。さらに、次の要求に供給されるコンテキスト情報は、先のネットワーク応答においてコンテキスト情報が符号化された方法と比較して、異なる符号化を施すこともできる。さらに、次の要求に供給されるコンテキストは、データレシーバによってさらに処理しておく(例えば、暗号化および/もしくは圧縮しておく)ことができる。
データアイテムの収集の残部の任意の部分に対する第2の要求もしくは任意の後続の要求を受け取ると(動作341)、データプロバイダ220は、第2の要求から先に供給されたコンテキストを読み取り(動作342)、複数のデータアイテムの第2の部分がデータレシーバのコンピュータ処理システムに供給されたことを反映する第2のコンテキストを識別して(動作351)、どの程度の量の次のコンテキストをデータレシーバのコンピュータ処理システムに供給すべきかを決定する(動作352)。
データレシーバ210に供給されるコンテキストの部分は、先にデータレシーバ210に供給されたコンテキストと同じ範囲とすることができるが、これは必ずしもそうでなくてもよい。データプロバイダ220は、状況によって保証される場合には、先に供給したものと大きく異なるコンテキストを供給することができる。例えば、データプロバイダ220が、データレシーバ210が要求駆動のエニュメレーションに能動的に関係して、先の応答を受け取るといつでも迅速に要求を発行していることを発見すると仮定する。この場合には、セッションは迅速に完了して、かなり長い時間にわたってメモリ資源を拘束することがないことが予測されるので、データプロバイダ220が、データレシーバ210にまったく供給することなく、全体コンテキストを維持するコストは小さくすることができる。次いで、データプロバイダ220は、データプロバイダ220がデータレシーバ210に送ろうと考える次のコンテキストの部分を供給する(動作353)。
データプロバイダ220は、また、要求から読み取った先のコンテキストを使用して、データレシーバに供給すべきデータアイテムの収集の次の部分を識別する(動作361)。次いで、データプロバイダ220は、データアイテムの収集の次の部分を含む、次のネットワーク応答を構築する(動作362)。次いで、次のネットワーク応答が、データレシーバ210に送出される(動作363)。この段階において、供給するべきデータアイテムの収集のデータアイテムがもうない(決定ブロック370においてNoである)場合には、セッションはこの時点で終了する。しかしながら、さらにデータアイテムがある(決定ブロック370においてYesである)場合には、セッションは動作331において次の要求を待ち受けることによって継続する。
本発明の一般的な原理について記述したが、次に本発明の具体的な一実施形態をより詳細に記述する。この具体的な実施形態においては、セッションにおける要求および応答の各々は、XML文書を含むSOAPエンベロープとして構築される。
上記に簡潔に述べたエニュメレートの要求の形式を以下に示す。前述のように、データレシーバ210は、要求駆動のエニュメレーションのセッションを開始するために、データプロバイダ220にエニュメレートの要求を伝送する。分かりやすくするために行番号を付与してある。
Figure 2006004415
行1から行16は、SOAPエンベロープ全体を定義するXML要素を表す。行2から行9は、SOAPエンベロープのためのヘッダー要素を表す。行3から行5は、アクションがエニュメレートの要求であることを定義する(行4の「Enumerate」を参照)アクションのXML要素を表す。行6は、セッション識別子を識別する。行7は、データプロバイダのアドレスを表す。行8は、ヘッダーのXML要素内に追加のXML要素がある場合があることを表す。行10から行15は、SOAPボディのXML要素を表す。行11から行14は、エニュメレーションのセッションに必要な情報を定義するエニュメレートのXML要素を表す。例えば、行12は、フィルタ要素を識別する。このフィルタ要素は、フィルタダイアレクトの属性を含み、これはフィルタを表現するためのクエリー言語(例えば、SQL、XPATH、もしくは他のURI)を定義する。さらに、フィルタ要素は「任意の」属性を含み、これは、指定のクエリー言語を使用してフィルタを表現する。本明細書の説明および本特許請求の範囲において、「クエリー言語」とは、最初の複数データアイテムをひとつも含まないか、一部もしくは全部を含むフィルタリングされたデータアイテムを生成するために、最初の複数データアイテムに対するフィルタを表現することに使用することができる、任意の組のセマンティックな規則である。
以下は、上記の形式に続く、エニュメレートの要求の一例であり、分かりやすくするために行番号を付与してある。
Figure 2006004415
行(05〜07)は、このメッセージがエニュメレートの要求であり、データ源がエニュメレートの応答メッセージで応答することが期待されることを示す。wse:Filter要素は存在せず、結果として得られるエニュマレーションのコンテキストは、すべての利用可能な要素を返すことが期待される。
データプロバイダ220は、要求駆動のエニュメレーションのセッションを完全に初期化するために、エニュメレートの要求に対して、エニュメレートの応答で応答するとともに、以下の形式に準拠することが可能であり、ここで分かりやすくするために行番号を付与してある。
Figure 2006004415
行1から行14は、SOAPエンベロープ全体を定義するXML要素を表す。行2から行7は、SOAPエンベロープのヘッダー要素を表す。行3から行5は、アクションがエニュメレートの応答であることを定義するアクションのXML要素を表す(行4の「EnumarateResponse」を参照)。行6は、行2から行7にわたるヘッダーのXML要素内に追加のXML要素がある可能性があることを表している。行8から行13は、SOAPボディのXML要素を表す。行9から行12は、エニュメレーションのセッションの初期化を完了するために使用する情報を定義するエニュメレートの応答のXML要素を表す。例えば、行10はエニュメレーションのコンテキストのXML要素であり、これには、セッションにおける将来の任意の‘プル要求’のためのコンテキストを識別するのに十分な情報を含む最初のコンテキストを含めることができる。EnumerateContext要素は、新規のエニュメレーションのコンテキストのXML表現を含む。データレシーバ210は、‘プル応答’メッセージ(以下にさらに記述する)がこのエニュメレーションのコンテキストを更新するまで、かつ更新しない限り、このXMLデータをこのエニュメレーションのコンテキストのための‘プル要求’中に渡す。行11は、このエニュメレーションのコンテキストのXML要素内に、さらにXML要素が含まれる可能性があることを表す。
以下に示すのは、上記の形式に続く仮定のエニュメレートの応答である。
Figure 2006004415
行06から行08は、メッセージがエニュメレートの応答メッセージであることを示す。行15から行17は、下記の‘プル演算’をサポートするエニュメレーションコンテキストのXML表現である。
この‘プル演算’は、データレシーバ210が‘プル演算’のメッセージをデータプロバイダ220に送ることによって開始することができる。以下は、‘プル要求’のための例示的形式であり、分かりやすくするために行番号を付与してある。
Figure 2006004415
行1から行20は、SOAP構造の‘プル要求’である、XML要素全体を定義している。行2から行10は、ヘッダーのXML要素を定義している。行3から行5は、アクション要素であり、この要素においては、アクションはプル要求として定義される(行4の「Pull」を参照のこと)。行6はメッセージ識別子のXML要素である。この要素は、‘プル要求’をセッションと関係づける識別子を含む。行7は、「返信先」のXML要素であり、これは‘プル要求’への応答のためのアドレスを供給する。行8は、データプロバイダ220のアドレスを指定する、アドレスのXML要素である。行9は、ヘッダーのXML要素に含まれるさらなるXML要素がある可能性があることを示す。
行11から行19は、ボディのXML要素を表す。具体的には、行12から行18は、‘プル’のXML要素を表し、これは‘プル要求’に使用される情報を含む。例えば、行13はエニュメレーションのコンテキスト要素であり、この要素においては、先に供給されたエニュメレーションの要素が挿入される。このエニュメレーションのコンテキストは、セッションのコンテキストが何かを識別するために、データプロバイダ220によって使用される。
行14は、最大時間のXML要素であり、これはデータプロバイダ220が‘プル要求’を受け取った後にデータプロバイダ220が関連する‘プル応答’を供給する前に許容すべき最大時間を反映している。関連する‘プル応答’を送る前に、データプロバイダ220は、この最大時間を超過しないことを保証にすることになる。
行15は、最大要素数のXML要素であり、これはプロバイダ220が関連する‘プル応答’において許容すべきXML要素の最大数を反映する。関連する‘プル応答’を送る前に、データプロバイダ220は、プル応答がこの最大数より多いXML要素を含まないことを保証にすることになる。
行16は、最大文字数のXML要素であり、これはプロバイダ220が関連するプル応答内に許容すべき文字の最大数である。関連する‘プル応答’を送る前に、データプロバイダ220は、‘プル応答’がこの最大文字数より多くを含まないことを保証することになる。
以下は、‘プル要求’の例であり、分かりやすくするために行番号を付与してある。
Figure 2006004415
表2の行(05)から行(07)は、このメッセージは‘プル要求’であり、データ源は、‘プル応答’メッセージで応答すると期待される。行(16)は、応答メッセージは、‘プル要求’メッセージを受け取って後、30秒以下で生成しなくてはならないことを示している。行(17)は、10個以下の要素が、‘プル応答’メッセージのボディ内に戻されるべきことを示す。
‘プル要求’を受け取り、処理するときに、データレシーバ210は、‘プル応答’を生成することができる。以下は、‘プル応答’の例示的な形式であり、分かりやすくするために行番号を付与してある。
Figure 2006004415
行1から行18は、SOAPエンベロープのXML要素全体を表す。行2から行7は、SOAPエンベロープのためのヘッダー要素を表す。行3から行5は、アクションがプル応答であることを定義するアクションのXML要素を表す(行4の「PullResponse」を参照のこと)。行6は、行2から行7をまたぐヘッダーのXML要素内に追加のXML要素がある可能性があることを表す。
行8から行17は、ボディXMLの要素を表す。行9から行16は、応答の部分である要素を含む、プル応答のXML要素を表す。行10は、次の要求に対するエニュメレーションのコンテキストを含むエニュメレーションのコンテキストのXML要素である。行11から行13は、応答内に供給すべきデータアイテムの全部分を含む、アイテムのXML要素を表す。行12は、実際にデータアイテムを包含する下層のXML要素を表す。行14は、シーケンスの終了のXML要素であり、これは、すべてのデータアイテムがデータレシーバ210に供給されたときに、設定することができる。このようにして、データレシーバ210に、エニュメレーションのセッションの終わりを知らせることができる。ボディのXML要素は、1つもしくは複数のデータアイテムがスキップされたために、供給されるデータアイテムが連続ではなくなるときを指定する、別の任意選択のXML要素を有することができる。このXML要素は、なぜデータアイテムがスキップされたかも指定する。例えば、データアイテムはそのときに使用中であり、したがってアクセスが制限されたためである。さらに、データアイテムは、‘プル要求’によって課せられる最大時間、最大要素数、もしくは最大文字数の制限のために、応答の中にすべて含めることができなかったためである。
以下は、‘プル応答’の例であり、分かりやすくするために行番号を付与してある。
Figure 2006004415
表3の行(06)から(08)は、このメッセージが‘プル応答’メッセージであることを示している。行(15)から(19)は、この‘プル要求’によって返される5つの要素である。wsen:EndOfSequence(行20)の要素の存在は、それ以上、利用可能な要素はないこと、およびエニュメレーションのコンテキストはすでに無効であることを示す。
一つの最適化策として、開放演算を実施して、データアイテムが供給される前に、データレシーバ210がセッションを終了することを可能にすることができる。‘開放演算’は、データレシーバ210が‘開放要求’をデータプロバイダ220に送ることによって開始される。例示の開放メッセージは、以下の形式を有し、分かりやすくするために行番号を付与してある。
Figure 2006004415
行4は、メッセージを‘開放要求’であると識別し、行12から行15は、開放されているエニュメレーションのセッションに対するエニュメレーションのコンテキストを識別する。
‘開放要求’の処理が成功すると、データプロバイダ220は、‘開放応答’を供給することが可能となり、‘開放応答’は以下の例示的な形式を有し、分かりやすくするために行番号を付与してある。
Figure 2006004415
行4は、メッセージを‘開放応答’として識別する。
したがって、本発明の原理によって、データプロバイダは、そのときの環境に応じて、コンテキスト管理におけるデータプロバイダの役割を動的に調整することにおいて、広く柔軟性を有することが可能となる。
本発明は、本発明の趣旨もしくは本質的な特徴から逸脱することなく、他の特有の形態に具現することができる。記述した実施形態は、すべての点で、ただ説明的であって限定的ではないとしてだけと考えるべきである。したがって、本発明の範囲は、前述の説明ではなく、添付の本特許請求の範囲によって示されるものである。本特許請求の範囲の意味および同等の範囲に入るすべての変更は、本特許請求の範囲に含めるものである。
本発明の特徴を実現することのできる、適当なコンピュータ処理システムを示す図である。 データプロバイダのコンピュータ処理システムが、本発明の原理のとおりの要求駆動のエニュメレーションのメッセージ交換を使用することによって、データレシーバのコンピュータ処理システムに、いくつかのデータアイテムを供給する、ネットワーク環境を示す図である。 本発明の原理のとおりに、データプロバイダがコンテキスト管理の均衡を制御することを可能にしながら、データプロバイダのコンピュータ処理システムが、いくつかのデータアイテムをデータレシーバのコンピュータ処理システムに供給する方法のフロー図である。 データレシーバが、データレシーバのコンピュータ処理システムと協働して、2つのコンピュータ処理システム間のコンテキスト管理の責任の均衡を制御する、データプロバイダのコンピュータ処理システムを支援する方法のフロー図である。

Claims (50)

  1. データレシーバのコンピュータ処理システムにネットワーク接続可能なデータプロバイダのコンピュータ処理システムを含む環境において、前記データプロバイダのコンピュータ処理システムが、どの程度の量のメッセージ間の状態の情報を前記データプロバイダのコンピュータ処理システムによって保持するかを制御しながら、複数の要求されたデータアイテムを複数の別個のメッセージにして前記データレシーバのコンピュータ処理システムに供給する方法であって、
    データレシーバのコンピュータ処理システムに供給すべきデータアイテムに対する要求にアクセスする動作と、
    少なくとも部分的に前記要求内の情報に基づいて、前記データレシーバのコンピュータ処理システムに供給すべき複数のデータアイテムを識別する動作と、
    前記データレシーバのコンピュータ処理システムへの第1のネットワーク応答内に供給すべき前記複数のデータアイテムの第1の部分を識別する動作であって、前記第1の部分は前記複数のデータアイテムの全体よりも少なくする動作と、
    前記複数のデータアイテムの第1の部分を含む前記第1のネットワーク応答を構築する動作と、
    前記第1のネットワーク応答を前記データレシーバのコンピュータ処理システムに送出する動作と、
    前記複数のデータアイテムの前記第1の部分が前記データレシーバのコンピュータ処理システムに供給されることを反映するコンテキストを識別する動作と、
    どの程度の量の前記コンテキストを前記データレシーバのコンピュータ処理システムに供給すべきかを決定する動作と、
    どの程度の量の前記コンテキストを前記データレシーバのコンピュータ処理システムに供給すべきかを決定する前記動作によって決定されるとおりに、前記データレシーバのコンピュータ処理システムにコンテキストを供給する動作と
    を含むことを特徴とする方法。
  2. 前記供給されるコンテキストは、前記第1のネットワーク応答内にあることを特徴とする請求項1に記載の方法。
  3. 前記供給されるコンテキストは、前記複数のデータアイテムの前記最後が供給されたことを示すことを特徴とする請求項1に記載の方法。
  4. 前記データレシーバのコンピュータ処理システムに供給すべきデータアイテムに対する要求にアクセスする前記動作は、前記データレシーバのコンピュータ処理システムに供給すべき前記データアイテムに対する内部要求にアクセスする動作を含むことを特徴とする請求項1に記載の方法。
  5. 前記データレシーバのコンピュータ処理システムに供給すべきデータアイテムに対する要求にアクセスする前記動作は、前記データレシーバのコンピュータ処理システムに供給すべき前記データアイテムに対するネットワーク要求を前記データレシーバのコンピュータ処理システムから受け取る動作を含むことを特徴とする請求項1に記載の方法。
  6. 前記複数のデータアイテムは最終の複数のデータアイテムであって、少なくとも部分的に前記要求内の情報に基づいて前記データレシーバのコンピュータ処理システムに供給すべき複数のデータアイテムを識別する前記動作は、
    少なくとも部分的に前記要求内の情報に基づいて最初の複数データアイテムを識別する動作と、
    前記要求内に指定されるさらなる基準に基づいて前記最終の複数のデータアイテムを選択する動作と
    を含むことを特徴とする請求項1に記載の方法。
  7. 前記要求内に指定されたさらなる基準に基づいて前記最終の複数のデータアイテムを選択する前記動作は、
    少なくとも部分的に前記要求内の情報に基づいてクエリー言語を識別する動作と、
    前記識別されたクエリー言語を使用して前記要求内のクエリーを解釈する動作と、
    前記解釈されたクエリーを適用することによって前記最終の複数のデータアイテムをフィルタリングする動作と
    を含むことを特徴とする請求項6に記載の方法。
  8. 前記データレシーバのコンピュータ処理システムへの第1のネットワーク応答内に供給すべき前記複数のデータアイテムの第1の部分を識別する前記動作は、
    前記第1のネットワーク応答内に供給すべきデータアイテムの最大数を前記要求から読み取る動作と、
    前記複数のデータアイテムの前記第1の部分は前記データアイテムの最大数に等しいことを決定する動作と
    を含むことを特徴とする請求項1に記載の方法。
  9. 前記データレシーバのコンピュータ処理システムへの第1のネットワーク応答内に供給すべき前記複数のデータアイテムの第1の部分を識別する前記動作は、
    前記第1のネットワーク応答内に供給される文字数の最大数を前記要求から読み取る動作と、
    前記複数のデータアイテムの前記第1の部分は前記文字数の最大数以下であることを決定する動作と
    を含むことを特徴とする請求項1に記載の方法。
  10. 前記データレシーバのコンピュータ処理システムへの第1のネットワーク応答内に供給すべき前記複数のデータアイテムの第1の部分を識別する前記動作は、
    前記第1のネットワーク応答が必要とする最大応答時間を前記要求から読み取る動作と、
    前記第1のネットワーク応答は、前記複数のデータアイテムの前記第1の部分を与える、前記最大応答時間内の戻りであることを判定する動作と
    を含むことを特徴とする請求項1に記載の方法。
  11. どの程度の量の前記コンテキストを前記データレシーバのコンピュータ処理システムに供給すべきかを決定する前記動作は、前記コンテキストが前記データレシーバのコンピュータ処理システムにまったく供給されないことを決定する動作を含むことを特徴とする請求項1に記載の方法。
  12. どの程度の量の前記コンテキストを前記データレシーバのコンピュータ処理システムに供給すべきかを決定する前記動作は、前記コンテキストの一部が前記データレシーバのコンピュータ処理システムに供給されることを決定する動作を含むことを特徴とする請求項1に記載の方法。
  13. 前記データレシーバのコンピュータ処理システムに供給される前記コンテキストの一部を重複して保持する動作をさらに含むことを特徴とする請求項12に記載の方法。
  14. どの程度の量の前記コンテキストを前記データレシーバのコンピュータ処理システムに供給すべきかを決定する前記動作は、前記コンテキストの全部が前記データレシーバのコンピュータ処理システムに供給されることを判定する動作を含むことを特徴とする請求項1に記載の方法。
  15. 前記データレシーバのコンピュータ処理システムに供給される前記コンテキストの一部を重複して保持する動作をさらに含むことを特徴とする請求項14に記載の方法。
  16. 前記要求は、Simple Object Access Protocol(SOAP)エンベロープであることを特徴とする請求項1に記載の方法。
  17. 前記要求は、Remote Method Invocation(RMI)であることを特徴とする請求項1に記載の方法。
  18. 前記データアイテムは、eXtensible Markup Language(XML)要素であることを特徴とする請求項1に記載の方法。
  19. 前記供給されるコンテキストは第1のコンテキストである方法であって、
    前記データレシーバのコンピュータ処理システムからの前記データアイテムに対するネットワーク要求の形式の第2の要求にアクセスする動作と、
    前記第2の要求から前記第1の供給されたコンテキストを読み取る動作と、
    前記第2の要求から読み取られた前記第1の供給されたコンテキストを使用して、前記データレシーバのコンピュータ処理システムに供給すべき前記複数のデータアイテムの第2の部分を識別する動作と
    をさらに含むことを特徴とする請求項1に記載の方法。
  20. 前記複数のデータアイテムの第2の部分を含む第2のネットワーク応答を構築する動作と、
    前記第2のネットワーク応答を前記データレシーバのコンピュータ処理システムに送出する動作と、
    前記複数のデータアイテムの前記第2の部分が前記データレシーバのコンピュータ処理システムに供給されることを反映する第2のコンテキストを識別する動作と、
    どの程度の量の前記第2のコンテキストを前記データレシーバのコンピュータ処理システムに供給するかを決定する動作と、
    どの程度の量の前記第2のコンテキストを前記データレシーバのコンピュータ処理システムに供給すべきかを決定する前記動作によって決定されるとおりに、第2のコンテキストを前記データレシーバのコンピュータ処理システムに供給する動作と
    をさらに含むことを特徴とする請求項19に記載の方法。
  21. 前記第2のコンテキストは、前記第1のコンテキストと同一の範囲を有することを特徴とする請求項20に記載の方法。
  22. 前記第2のコンテキストは、前記第1のコンテキストと異なる範囲を有することを特徴とする請求項20に記載の方法。
  23. どの程度の量の前記第2のコンテキストを前記データレシーバのコンピュータ処理システムに供給するかを決定する前記動作は、
    前記データレシーバのコンピュータ処理システムの挙動を評価する動作を含むことを特徴とする請求項22に記載の方法。
  24. どの程度の量の前記第2のコンテキストを前記データレシーバのコンピュータ処理システムに供給するかを決定する前記動作は、
    前記データプロバイダのコンピュータ処理システムの現在の状態を評価する動作を含むことを特徴とする請求項22に記載の方法。
  25. データレシーバのコンピュータ処理システムにネットワーク接続可能なデータプロバイダのコンピュータ処理システムを含む環境において使用するコンピュータ・プログラム・プロダクトであって、
    前記データプロバイダのコンピュータ処理システムが、どの程度の量のメッセージ間の状態の情報を前記データプロバイダのコンピュータ処理システムによって保持するかを制御しながら、複数の要求されたデータアイテムを複数の別個の電子メッセージにして前記データレシーバのコンピュータ処理システムに供給する方法を実装する前記コンピュータ・プログラム・プロダクトであって、
    前記データプロバイダのコンピュータ処理システムの1つもしくは複数のプロセッサによって実行される場合に、前記データプロバイダのコンピュータ処理システムにおいて、
    データレシーバのコンピュータ処理システムに供給すべきデータアイテムに対する要求にアクセスする動作と、
    少なくとも部分的に前記要求内の情報に基づいて、前記データレシーバのコンピュータ処理システムに供給すべき複数のデータアイテムを識別する動作と、
    前記データレシーバのコンピュータ処理システムへの第1のネットワーク応答内に供給すべき前記複数のデータアイテムの第1の部分を識別する動作であって、前記第1の部分は前記複数のデータアイテムの全体よりも少なくする動作と、
    前記複数のデータアイテムの第1の部分を含む前記第1のネットワーク応答を構築する動作と、
    前記第1のネットワーク応答を前記データレシーバのコンピュータ処理システムに送出する動作と、
    前記複数のデータアイテムの前記第1の部分が前記データレシーバのコンピュータ処理システムに供給されることを反映するコンテキストを識別する動作と、
    どの程度の量の前記コンテキストを前記データレシーバのコンピュータ処理システムに供給すべきかを決定する動作と、
    どの程度の量の前記コンテキストを前記データレシーバのコンピュータ処理システムに供給すべきかの決定する前記動作のとおりに決定されるように、前記データレシーバのコンピュータ処理システムにコンテキストを供給する動作と
    を実行させるコンピュータ実行可能命令を含む前記コンピュータ・プログラム・プロダクト。
  26. 前記供給されるコンテキストは、前記複数のデータアイテムの前記最後が供給されたことを示すことを特徴とする請求項25に記載のコンピュータ・プログラム・プロダクト。
  27. 前記供給されるコンテキストは、前記第1のネットワーク応答内にあることを特徴とする請求項25に記載のコンピュータ・プログラム・プロダクト。
  28. 前記データレシーバのコンピュータ処理システムに供給すべきデータアイテムに対する要求にアクセスする前記動作は、前記データレシーバのコンピュータ処理システムに供給すべき前記データアイテムに対する内部要求にアクセスする動作を含むことを特徴とする請求項25に記載のコンピュータ・プログラム・プロダクト。
  29. 前記データレシーバのコンピュータ処理システムに供給すべきデータアイテムに対する要求にアクセスする前記動作は、前記データレシーバのコンピュータ処理システムに供給すべき前記データアイテムに対するネットワーク要求を前記データレシーバのコンピュータ処理システムから受け取る動作を含むことを特徴とする請求項25に記載のコンピュータ・プログラム・プロダクト。
  30. 前記複数のデータアイテムは最終の複数データアイテムであって、
    少なくとも部分的に前記要求内の情報に基づいて前記データレシーバのコンピュータ処理システムに供給すべき複数のデータアイテムを識別する前記動作は、
    少なくとも部分的に前記要求内の情報に基づいて最初の複数のデータアイテムを識別する動作と、
    前記要求内に指定されたさらなる基準に基づいて前記最終の複数のデータアイテムを選択する動作と
    を含むことを特徴とする請求項25に記載のコンピュータ・プログラム・プロダクト。
  31. 前記要求内に指定されたさらなる基準に基づいて前記最終の複数のデータアイテムを選択する前記動作は、
    少なくとも部分的に前記要求内の情報に基づいてクエリー言語を識別する動作と、
    前記識別されたクエリー言語を使用して前記要求内のクエリーを解釈する動作と、
    前記解釈されたクエリーを適用することによって前記最終の複数のデータアイテムをフィルタリングする動作と
    を含むことを特徴とする請求項30に記載のコンピュータ・プログラム・プロダクト。
  32. 前記データレシーバのコンピュータ処理システムへの第1のネットワーク応答内に供給すべき前記複数のデータアイテムの第1の部分を識別する前記動作は、
    前記第1のネットワーク応答内に供給すべきデータアイテムの最大数を前記要求から読み取る動作と、
    前記複数のデータアイテムの前記第1の部分が前記データアイテムの最大数に等しいことを決定する動作と
    含むことを特徴とする請求項25に記載のコンピュータ・プログラム・プロダクト。
  33. 前記データレシーバのコンピュータ処理システムへの第1のネットワーク応答内に供給すべき前記複数のデータアイテムの第1の部分を識別する前記動作は、
    前記第1のネットワーク応答内に供給すべき文字数の最大数を前記要求から読み取る動作と、
    前記複数のデータアイテムの前記第1の部分は前記文字数の最大数以下であることを決定する動作と
    を含むことを特徴とする請求項25に記載のコンピュータ・プログラム・プロダクト。
  34. 前記データレシーバのコンピュータ処理システムへの第1のネットワーク応答内に供給すべき前記複数のデータアイテムの第1の部分を識別する前記動作は、
    前記第1のネットワーク応答が必要とする最大応答時間を前記要求から読み取る動作と、
    前記第1のネットワーク応答は、前記複数のデータアイテムの前記第1の部分を与える、前記最大応答時間内の戻りであることを決定する動作と
    を含むことを特徴とする請求項25に記載のコンピュータ・プログラム・プロダクト。
  35. どの程度の量の前記コンテキストを前記データレシーバのコンピュータ処理システムに供給すべきかを決定する前記動作は、前記コンテキストが前記データレシーバのコンピュータ処理システムにまったく供給されないことを決定する動作を含むことを特徴とする請求項25に記載のコンピュータ・プログラム・プロダクト。
  36. どの程度の量の前記コンテキストを前記データレシーバのコンピュータ処理システムに供給すべきかを決定する前記動作は、前記コンテキストの一部が前記データレシーバのコンピュータ処理システムに供給されることを決定する動作を含むことを特徴とする請求項25に記載のコンピュータ・プログラム・プロダクト。
  37. 前記方法は、
    前記データレシーバのコンピュータ処理システムに供給される前記コンテキストの一部を重複して保持する動作をさらに含むことを特徴とする請求項36に記載のコンピュータ・プログラム・プロダクト。
  38. どの程度の量の前記コンテキストを前記データレシーバのコンピュータ処理システムに供給すべきかを決定する前記動作は、前記コンテキストの全部が前記データレシーバのコンピュータ処理システムに供給されることを判定する動作を含むことを特徴とする請求項25に記載のコンピュータ・プログラム・プロダクト。
  39. 前記方法は、
    前記データレシーバのコンピュータ処理システムに供給される前記コンテキストの一部を重複して保持する動作をさらに含むことを特徴とする請求項38に記載のコンピュータ・プログラム・プロダクト。
  40. 前記要求は、SOAPエンベロープであることを特徴とする請求項25に記載のコンピュータ・プログラム・プロダクト。
  41. 前記要求は、RMIであることを特徴とする請求項25に記載のコンピュータ・プログラム・プロダクト。
  42. 前記データアイテムは、XML要素であることを特徴とする請求項25に記載のコンピュータ・プログラム・プロダクト。
  43. 前記供給されるコンテキストは第1のコンテキストであって、前記方法は、
    前記データレシーバのコンピュータ処理システムからの、前記データアイテムに対するネットワーク要求の形式の第2の要求にアクセスする動作と、
    前記第2の要求から、前記第1の供給されるコンテキストを読み取る動作と、
    前記第2の要求から読み取られた第1の供給されるコンテキストを使用して、前記データレシーバのコンピュータ処理システムに供給すべき前記複数のデータアイテムの第2の部分を識別する動作と
    を含むことを特徴とする請求項25に記載のコンピュータ・プログラム・プロダクト。
  44. 前記コンテキストは第1のコンテキストであって、前記方法は、
    前記複数のデータアイテムの第2の部分を含む第2のネットワーク応答を構築する動作と、
    前記第2のネットワーク応答を前記データレシーバのコンピュータ処理システムに送出する動作と、
    前記複数のデータアイテムの前記第2の部分が前記データレシーバのコンピュータ処理システムに供給されることを反映する第2のコンテキストを識別する動作と、
    どの程度の量の前記第2のコンテキストを前記データレシーバのコンピュータ処理システムに供給すべきかを決定する動作と、
    どの程度の量の前記第2のコンテキストを前記データレシーバのコンピュータ処理システムに供給すべきかを決定する前記動作のとおりに決定されるように、第2のコンテキストを前記データレシーバのコンピュータ処理システムに供給する動作をさらに含むことを特徴とする請求項43に記載のコンピュータ・プログラム・プロダクト。
  45. 前記第2のコンテキストは、前記第1のコンテキストと同じ範囲を有することを特徴とする請求項44に記載のコンピュータ・プログラム・プロダクト。
  46. 前記第2のコンテキストは、前記第1のコンテキストと異なる範囲を有することを特徴とする請求項44に記載のコンピュータ・プログラム・プロダクト。
  47. どの程度の量の前記第2のコンテキストを前記データレシーバのコンピュータ処理システムに供給するかを決定する前記動作は、前記データレシーバのコンピュータ処理システムの挙動を評価する動作を含むことを特徴とする請求項46に記載のコンピュータ・プログラム・プロダクト。
  48. どの程度の量の前記第2のコンテキストを前記データレシーバのコンピュータ処理システムに供給するかを決定する前記動作は、前記データプロバイダのコンピュータ処理システムの現在の状態を評価する動作を含むことを特徴とする請求項46に記載のコンピュータ・プログラム・プロダクト。
  49. データレシーバのコンピュータ処理システムにネットワーク接続可能なデータプロバイダのコンピュータ処理システムを含む環境において、前記データプロバイダのコンピュータ処理システムが、どの程度の量のメッセージ間の状態の情報を前記データプロバイダのコンピュータ処理システムによって保持するかを制御しながら、複数の要求されたデータアイテムを、複数の別個の電子メッセージにして前記データレシーバのコンピュータ処理システムに供給する方法であって、
    データレシーバのコンピュータ処理システムに供給すべきデータアイテムに対する要求にアクセスする動作と、
    前記データプロバイダのコンピュータ処理システムと前記データレシーバのコンピュータ処理システムとの間のコンテキスト管理における均衡を制御しながら、前記データレシーバのコンピュータ処理システムに前記データアイテムを供給するステップを含むことを特徴とする方法。
  50. 前記データプロバイダのコンピュータ処理システムと前記データレシーバのコンピュータ処理システムの間のコンテキスト管理における均衡を制御しながら、前記データレシーバのコンピュータ処理システムに前記データアイテムを供給する前記ステップは、
    少なくとも部分的に前記要求内の情報に基づいて、前記データレシーバのコンピュータ処理システムに供給すべき複数のデータアイテムを識別する動作と、
    前記データレシーバのコンピュータ処理システムへの第1のネットワーク応答内に供給すべき前記複数のデータアイテムの第1の部分を識別する動作であって、前記第1の部分は前記複数のデータアイテムの全体よりも少なくする動作と、
    前記複数のデータアイテムの第1の部分を含む前記第1のネットワーク応答を構築する動作と、
    前記第1のネットワーク応答を前記データレシーバのコンピュータ処理システムに送出する動作と、
    前記複数のデータアイテムの前記第1の部分が前記データレシーバのコンピュータ処理システムに供給されることを反映するコンテキストを識別する動作と、
    どの程度の量の前記コンテキストを、前記データレシーバのコンピュータ処理システムに供給すべきかを決定する動作と、
    どの程度の量の前記コンテキストを、前記データレシーバのコンピュータ処理システムに供給すべきかを決定する前記動作のとおりに決定されるように、前記データレシーバのコンピュータ処理システムにコンテキストを供給する動作と
    を含むことを特徴とする請求項49に記載の方法。
JP2005145601A 2004-06-18 2005-05-18 コンテキスト交換を用いたエニュメレーションのセッションのためのフレキシブルなコンテキスト管理 Expired - Fee Related JP4726539B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/872,119 US7603426B2 (en) 2004-06-18 2004-06-18 Flexible context management for enumeration sessions using context exchange
US10/872,119 2004-06-18

Publications (3)

Publication Number Publication Date
JP2006004415A true JP2006004415A (ja) 2006-01-05
JP2006004415A5 JP2006004415A5 (ja) 2008-07-03
JP4726539B2 JP4726539B2 (ja) 2011-07-20

Family

ID=35011160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005145601A Expired - Fee Related JP4726539B2 (ja) 2004-06-18 2005-05-18 コンテキスト交換を用いたエニュメレーションのセッションのためのフレキシブルなコンテキスト管理

Country Status (12)

Country Link
US (1) US7603426B2 (ja)
EP (1) EP1608131B1 (ja)
JP (1) JP4726539B2 (ja)
KR (1) KR20060047650A (ja)
CN (1) CN1710907A (ja)
AT (1) ATE405086T1 (ja)
AU (1) AU2005201952B2 (ja)
BR (1) BRPI0501797A (ja)
CA (1) CA2506214A1 (ja)
DE (1) DE602005008821D1 (ja)
MX (1) MXPA05005343A (ja)
RU (1) RU2382402C2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011515893A (ja) * 2008-02-12 2011-05-19 マイクロソフト コーポレーション Omadmプロトコルを用いて目標を絞り込むクエリー

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080165281A1 (en) * 2007-01-05 2008-07-10 Microsoft Corporation Optimizing Execution of HD-DVD Timing Markup
CN101740089B (zh) * 2008-11-17 2012-03-07 深圳Tcl新技术有限公司 在相连设备上播放便携播放器上文件的方法和相应设备
CN101751968A (zh) * 2008-11-28 2010-06-23 深圳Tcl新技术有限公司 存储设备的信息管理方法及电子设备
US9195768B2 (en) * 2011-08-26 2015-11-24 Amazon Technologies, Inc. Remote browsing session management
US9128779B1 (en) * 2014-07-31 2015-09-08 Splunk Inc. Distributed tasks for retrieving supplemental job information
CN107844025A (zh) * 2017-12-11 2018-03-27 京东方科技集团股份有限公司 掩膜版、曝光装置及曝光方法
US11263201B2 (en) 2019-04-12 2022-03-01 Servicenow, Inc. Interface for supporting integration with cloud-based service providers
US10719503B1 (en) * 2019-05-02 2020-07-21 Servicenow, Inc. Interface for supporting integration with cloud-based service providers

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004023341A1 (ja) * 2002-09-03 2004-03-18 Fujitsu Limited 検索処理システム、その検索サーバ、クライアント、検索処理方法、プログラム、及び記録媒体

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0674414B1 (en) * 1994-03-21 2002-02-27 Avid Technology, Inc. Apparatus and computer-implemented process for providing real-time multimedia data transport in a distributed computing system
US5724514A (en) * 1994-11-25 1998-03-03 Netmanage System, method and apparatus for controlling the transfer of data objects over a communications link
JP2912840B2 (ja) * 1994-12-07 1999-06-28 富士通株式会社 ファイル管理システム
US5621892A (en) * 1995-10-10 1997-04-15 Intel Corporation Method and apparatus for managing alerts and events in a networked computer system
EP0773503B1 (en) * 1995-11-10 2004-03-31 Kabushiki Kaisha Toshiba File transfer method, method for a file requesting client device, and file server device
US6553410B2 (en) * 1996-02-27 2003-04-22 Inpro Licensing Sarl Tailoring data and transmission protocol for efficient interactive data transactions over wide-area networks
US6085251A (en) * 1998-04-02 2000-07-04 The United States Of America As Represented By The Secretary Of The Air Force Implementing a parallel file transfer protocol
US6018780A (en) * 1998-05-19 2000-01-25 Lucent Technologies Inc. Method and apparatus for downloading a file to a remote unit
US6192412B1 (en) * 1998-07-28 2001-02-20 Lucent Technologies, Inc. Computer file transmission system and method
AU2001294881A1 (en) 2000-09-27 2002-04-08 Eizel Technologies, Inc. Segmenting electronic documents for use on a device of limited capability
GB2381424B (en) 2001-10-26 2005-01-05 Roke Manor Research A method of controlling the amount of data transferred between a terminal and a server

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004023341A1 (ja) * 2002-09-03 2004-03-18 Fujitsu Limited 検索処理システム、その検索サーバ、クライアント、検索処理方法、プログラム、及び記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011515893A (ja) * 2008-02-12 2011-05-19 マイクロソフト コーポレーション Omadmプロトコルを用いて目標を絞り込むクエリー

Also Published As

Publication number Publication date
US7603426B2 (en) 2009-10-13
CN1710907A (zh) 2005-12-21
US20060047757A1 (en) 2006-03-02
DE602005008821D1 (de) 2008-09-25
MXPA05005343A (es) 2005-12-21
EP1608131B1 (en) 2008-08-13
RU2382402C2 (ru) 2010-02-20
JP4726539B2 (ja) 2011-07-20
KR20060047650A (ko) 2006-05-18
CA2506214A1 (en) 2005-12-18
EP1608131A3 (en) 2006-06-21
EP1608131A2 (en) 2005-12-21
ATE405086T1 (de) 2008-08-15
RU2005114224A (ru) 2006-11-20
AU2005201952B2 (en) 2009-10-08
BRPI0501797A (pt) 2006-01-24
AU2005201952A1 (en) 2006-01-12

Similar Documents

Publication Publication Date Title
JP4726539B2 (ja) コンテキスト交換を用いたエニュメレーションのセッションのためのフレキシブルなコンテキスト管理
US9298747B2 (en) Deployable, consistent, and extensible computing environment platform
US9332063B2 (en) Versatile application configuration for deployable computing environments
US8458727B2 (en) Asynchronous client to server updates
US8615531B2 (en) Programmatic data manipulation
RU2379755C2 (ru) Система и способ для совместного использования объектов между компьютерами по сети
US7716290B2 (en) Send by reference in a customizable, tag-based protocol
JP2010521721A (ja) ウェブデータ使用のプラットフォーム
US9009740B2 (en) Invocation of additional processing using remote procedure calls
EP2201479A2 (en) Data-driven synchronization
US20100333104A1 (en) Service-Based Endpoint Discovery for Client-Side Load Balancing
CN109729121B (zh) 一种云存储系统及用于云存储系统中实现自定义数据处理的方法
US20060206453A1 (en) Dynamically Sizing Buffers to Optimal Size in Network Layers When Supporting Data Transfers Related to Database Applications
JP2009533757A (ja) ネットワーク応答バッファリング動作の管理
US8280950B2 (en) Automatic client-server code generator
CN110288309B (zh) 数据交互方法、装置、系统、计算机设备以及存储介质
US7370051B2 (en) Database driven type extensibility
JP2000181765A (ja) デ―タ記憶システムおよび操作方法
JP2005085061A (ja) メッセージ通信仲介装置、メッセージ通信仲介プログラムおよびメッセージ通信仲介方法
JPH09160888A (ja) 疎結合多重計算機システムにおけるトランザクション負荷分散システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080519

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101202

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110405

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: 20110412

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees