JP4890740B2 - ウェブブラウザに対する非同期メッセージのプッシュ - Google Patents

ウェブブラウザに対する非同期メッセージのプッシュ Download PDF

Info

Publication number
JP4890740B2
JP4890740B2 JP2003575286A JP2003575286A JP4890740B2 JP 4890740 B2 JP4890740 B2 JP 4890740B2 JP 2003575286 A JP2003575286 A JP 2003575286A JP 2003575286 A JP2003575286 A JP 2003575286A JP 4890740 B2 JP4890740 B2 JP 4890740B2
Authority
JP
Japan
Prior art keywords
web browser
request
web
server
asynchronous message
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
JP2003575286A
Other languages
English (en)
Other versions
JP2005519409A (ja
Inventor
チェン、ミングテ
イップ、シング
マ、ヤン
アルナイズ、ギルバート
ティルマライ、スリカント・クリシュナプラム
チャンコタズ、デイビッド
フアング、クアング
アンナデータ、アニル・クマール
Original Assignee
シーベル・システムズ・インコーポレイテッド
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
Priority claimed from US10/033,146 external-priority patent/US20030206192A1/en
Application filed by シーベル・システムズ・インコーポレイテッド filed Critical シーベル・システムズ・インコーポレイテッド
Publication of JP2005519409A publication Critical patent/JP2005519409A/ja
Application granted granted Critical
Publication of JP4890740B2 publication Critical patent/JP4890740B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/5183Call or contact centers with computer-telephony arrangements
    • H04M3/5191Call or contact centers with computer-telephony arrangements interacting with the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

本発明はインターネットを介した通信に関する。更に詳しくは、ウェブブラウザに対してメッセージを非同期にプッシュすることによって制御されるユーザインタフェースに関する。
インターネットは、情報伝達のクライアント/サーバモデルの下で動作する。このようなモデルでは、情報が存在するサーバとクライアントのコンピュータが接続される。クライアントは情報の伝達に関してサーバに依存している。実際のところ、クライアントはサーバのサービスを要求している。サーバによってアクセス可能なデータベースがクエリされる場合は、このサービスには、情報の検索やクライアントに対する情報送信が含まれる。これらサービスの別実施例は、これより後“ウェブサーバ”と呼ぶWorld Wide Web上のサーバよりのウェブページ伝達、および送受信メール処理である。インターネットのユーザは、サーバコンピュータに接続し、サーバのリソース使用を要求する。
典型的には、クライアントコンピュータとはローカルに存在するパーソナルコンピュータであって、またサーバコンピュータ(ホスト)とはより高性能なコンピュータであって、データを格納し、またデータを格納した別のコンピュータシステムに対するアクセスを有している。サーバに対する接続は、電話回線、ローカルエリアネットワーク(LAN)、またはインターネット上のワイドエリアネットワークをベースとしたTCP/IPを介して作成される。ウェブのために、クライアントのコンピュータ上で実行されるマイクロソフトインターネットエクスプローラーの様なウェブブラウザソフトウェアがクライアント/サーバの環境である。クライアント/サーバの関係におけるサーバは、典型的にはサーバコンピュータ上で実行される、例えば、マイクロソフト社のインターネットインフォメーションサーバ(MIS)の様なウェブサーバソフトウェアである。クライアント/サーバの関係によって、多くのクライアントがサーバ上に格納されている同一のアプリケーション及びファイルに対してアクセス可能となっている。
ウェブ上の典型的な通信には、特定のウェブページのリクエストをウェブサーバに送信するウェブブラウザと、前記リクエストを処理してウェブブラウザに対しウェブページのフォームのレスポンスを送信して戻すウェブサーバとを含む。リクエスト及びレスポンスは、ハイパーテキストトランスファープロトコル(HTTP)を用いて通信される。HTTPはウェブプロトコルであって、リクエストやレスポンスを送信するためのトランスフォームコントロールプロトコル/インターネットプロトコル(TCP/IP)に含まれるものである。
一般的には、ネットワークにおける通信は、同期もしくは非同期のいずれかで実行され得る。ここで同期とはリクエスト側がメッセージを送信し、レスポンスが戻るまでブロックされるものであり、非同期とはリクエスト側がメッセージを送信し、レスポンスが戻るまで待機しないものである。用語“同期”は、ここではリクエスト側即ちウェブブラウザが、HTTPリクエストに対するレスポンスを待つ間に渡ってブロックされている状態を示し、用語“非同期”とは、ウェブブラウザがHTTPリクエストに対するレスポンスがレシーブされていないにも関わらずブロックされていない状態を示す。非同期のリクエストに対するレスポンスが到達する場合、リクエスト側は、レスポンスの準備完了を送信側によって通知され、レスポンスを受け取るか否かを選択し得る。
ウェブブラウザは高い安全性をもって設計されているので、厳格な同期規則をもってウェブサーバよりの情報をレシーブする。ウェブ接続においては、インターネットに対するTCP/IP接続がユーザのウェブブラウザを開始時に確立される。HTTP接続は、ウェブブラウザがウェブサーバよりウェブページをリクエストするときに確立される。クライアント−サーバの間のHTTP接続は、実際に情報が交わされる間のみ継続される。そのようなわけで、ウェブページがウェブサーバより転送され終わると、サーバコンピュータとクライアントコンピュータ間のHTTP接続が遮断される。HTTP接続が遮断されているにも関わらず、ウェブブラウザのユーザは、TCP/IP接続を介したインターネットに対する接続を保持したままである。
クライアント/サーバモデルは、クライアント側のコンピュータに、インターネット内に存在するホストサーバに接続し、またウェブをサーチするべくウェブブラウザソフトウェアを起動させることを可能とし、サーチを実行しファンクションを修正する。基本的にクライアント/サーバモデルでは、ウェブが、ウェブブラウザを稼働させる複数の個人のパーソナルコンピュータによって全アクセスが可能な数千のホストコンピュータにおいて提供されている、限りなく巨大なファイルストレージ媒体、すなわちデータベースとして機能しうるようにする。
インターネットがクライアント/サーバモデルの条件下で機能するので、クライアントのウェブブラウザはウェブサーバよりの情報をリクエストし、情報をレシーブするように設計されている。クライアントのウェブブラウザが数分ほどの比較的短い時間にウェブサーバよりのレスポンスをレシーブしないとすると、HTTP接続を確立しようとする試みは中断されてよい。ウェブブラウザはブロックされるので、ウェブサーバはウェブサーバよりのレスポンスを待つ間に別のことを実行できない。同時に、ウェブサーバはウェブブラウザに対するレスポンスを送信しようと試み、HTTP接続がロストされると送信のための試みが比較的短時間の経過の後中断され得る。故に、ウェブブラウザはレスポンスを無限に待ち続ける設定にされておらず、むしろウェブサーバよりほぼ瞬時にウェブページをレシーブするべく設計されている。
しかし、サーバがクライアントに対して情報を“プッシュ”し得ることが望ましい場合がある。例えば、それは時折、インターネットがプッシュ技術として既知の技術を用いて個人に対し情報を一掃送信するのに用いられる。プッシュ技術を用いると、所定の時間間隔、または特定のイベント発生に基づいて、データがクライアントコンピュータシステムへと自動送信される。これらの特定のイベントは、情報の自動生成リクエスト即ち自動化されたプル(pull)を含んでいてよく、インターネットユーザは時間毎に各ユーザリクエストを含まない特定情報を自動でレシーブする。
典型的には、インターネットユーザは特定タイプの情報をレシーブするためにプッシュ技術を提供するサービスに加入している。プッシュテクノロジーを提供するウェブサイトは“チャネル”と称されており、典型的にはチャネルによって関心のある特定領域内の情報が提供される。チャネルの発信元は情報を収集して、加入者より特定された自動的な時間間隔で加入者へと情報を提供する。
この様な加入型チャネルは、典型的には、加入者のコンピュータにダウンロードされた加入型ソフトウェアを有するべく実行される。加入型ソフトウェアプログラムは、特定時間間隔で規則的に作動し、関心のあるウェブページを要求しチャネル内のアップデート用のチェックを実行する。アップデートされたものは、リクエストを実行するクライアントのコンピュータハードディスクドライブ上に格納されてよく、ユーザは後からそれらの情報を閲覧してもよく、その場合インターネット上にログオンしなくとも閲覧が可能である。
ウェブブラウザは最初、ウェブブラウザによるウェブページの要求が無い限りは、ウェブページもしくはデータにアクセスしないように設計されている。クライアント/サーバ同期リクエスト/レスポンスモデルでの動作によって、ユーザが、例えば“スパム(spamming)”がマシン自体若しくはクライアントコンピュータ上のユーザセッションに対し非常に破壊的であるといった、必要としないウェブページ即ちデータファイルを受信しないようにされる。加入型チャネルは、ユーザ一承認の到達前に獲得されることによってこの限定を解除し、特定の間隔で、加入ユーザに代わって要求を実行してもよい。しかし、加入型チャネルは、クライアントコンピュータシステムにインストールされる追加ソフトウェアを要求するかもしれない。
インターネットが広く普及したことで、多くの企業が標準的なソフトウェアブラウザに組み込んで動作するソフトウェアの開発を懸命に行っており、追加的なソフトウェアがクライアントのコンピュータシステム上にインストールされる必要を回避する。例えば、巨大な顧客のサポート組織では、顧客サポートを行う業者が自宅のコンピュータよりアプリケーションへとアクセス可能であることが望ましく、例えば、旅行中で専用アプリケーションソフトウェアが利用不可能な別地域でもアプリケーションへとアクセス可能であることが望ましい。しかし、ウェブブラウザは基本的にはウェブページを要求・表示するために設計されており、サーバとの高度な相互通信を実行するためには設計されていない。故に、複雑なユーザインタフェイスを提供することは従来より高機能なクライアントソフトウェアを提供するという場合に限定されてきた。複数の条件下では、最初にウェブページを要求するウェブブラウザの使用をすることなく、ウェブサーバが、顧客サポートアプリケーションのようなアプリケーションをサポートするウェブブラウザへと非同期に情報をプッシュし得ることが望ましい。用語“非同期メッセージ”は、ここでウェブサーバによって送信されるメッセージを指しており、ここでは、ウェブページのためのウェブブラウザリクエストに対する同期的なレスポンスではなく、ウェブブラウザがメッセージを待つ間ブロックされていない。そのような非同期のメッセージプッシュが望ましい状況例とは、ユーザが瞬時に通知されるべきイベントが発生する場合である。ウェブサーバは、緊急のヘルプが必要とされる時、更には業者が特定ウェブサイトに現在アクセスしていない時、業者に対するイベント通知を実行して良い。
クライアントコンピュータシステムにインストールされなくてはならないアプリケーションプログラムを要求することなく、ウェブサーバが非同期のメッセージのプッシュを実行することを実現するのは難しい。仮に、加入チャネルがブラウザページのクライアントを完璧に実行するならば、加入チャネルは加入ウェブサイトに対するログオン時にのみユーザに対してアップデートを提供し、特定時間間隔でアップデートを提供することはない。ユーザは、アップデートをレシーブするためにウェブサイトにログオンしなければならないかもしれない。ユーザが、加入サービスのウェブサイトに継続的に接続状態にある場合にのみ、瞬間的なアップデートのレシーブが確実に実行される。多くの加入者に対してサービスを行うためには、加入サービス側が充分な連続接続状態を提供するとは考えにくい。このソリューションはスケーラブルではない。
他のソリューションは、例えばJava(登録商標)アプレットのようなプログラムであってクライアントコンピュータシステムの一部分でリスニングスレッドを生じさせるプログラムを有することであり、それによってウェブサーバが適当な時刻にいつでも情報をプッシュし得る。しかしながら、ポートは、ウェブサーバよりというわけではなく、ポートを感知したいずれかのアプリケーションよりのメッセージを受信しやすい。このソリューションは、セキュリティ上のリスクを抱える。加えて、ウェブサーバは全クライアントを記憶していなければならず、メッセージは正しいクライアントへとプッシュされる。ウェブサーバは、対応するクライアントに対して非同期メッセージをプッシュするため、適切なポートに対する接続を開始しなければならない。
更に別のソリューションとしては、ウェブブラウザがウェブブラウザへと伝達されるべきメッセージを有するのがどのウェブサーバであるのかを問い合わせるために、ウェブブラウザがウェブサーバを継続的にポールすることがあげられる。しかし、このソリューションはやはりスケーラブルではない。例えば、一定のポールリクエスト送信する数千の顧客サポート業者を有する顧客サポート用アプリケーションは、ウェブサーバに負担をかけてしまうかもしれない。ウェブサーバは、通常のリクエストに適切なサービスをできない障害となるかもしれない。
必要とされているのは、ウェブサーバがウェブブラウザへと非同期でメッセージをプッシュすることを許容するための、安全かつスケーラブルな方法である。ウェブブラウザが他のタスクを実行し得るべく、ウェブよりの情報を受信する目的でブロックされないことが望ましい。また、ウェブブラウザは、不必要なメッセージの受信から保護されることが望ましい。
本発明は、ウェブブラウザによって表示されたユーザインタフェースを制御するための方法及びシステムを提供するものである。
本発明の一側面によれば、方法にはウェブブラウザによって表示されたユーザインタフェースを制御する過程が含まれる。方法には、更にウェブサーバにウェブブラウザに対する非同期メッセージをプッシュさせる過程であって、ウェブブラウザが前記非同期メッセージに応答してユーザインタフェースの変化を示すことを特徴するものが含まれる。
本発明の別の側面によれば、方法は、非同期メッセージをレシーブするのに利用可能なウェブブラウザを登録することによってウェブブラウザによって表示されるユーザインタフェースを制御する過程を含む。ウェブブラウザは、前記非同期メッセージを待つ間もブロックされていない。更に方法は、ウェブサーバにウェブブラウザに対する非同期メッセージをプッシュさせる過程を含み、ウェブブラウザは非同期メッセージに応答し、ユーザインタフェースが変化することを特徴としている。
本発明の更に別の側面では、ウェブブラウザにウェブサーバに対するウエイトリクエストを提供させることによってウェブブラウザが表示するユーザインタフェースを制御する過程を含み、ここでウエイトリクエストはウェブブラウザに関連付けられている。方法は更に、非同期メッセージのソースを識別する過程と、ソースとウエイトリクエストとを関連付ける過程とを有しており、ここで関連付ける過程がウェブブラウザを非同期メッセージの受信者として認識することを特徴としている。方法は更に、ウェブブラウザに対し非同期メッセージをプッシュする過程を含み、ここでブラウザは非同期メッセージに応答してユーザインタフェース変化を表示することを特徴としている。
コンピュータシステム、コンピュータプログラム製品、及び上述したような各方法を実現するためのシステムが提供される。
先に述べた内容は要約であって、当然に、詳細な説明を単純化し、一般化し、また省略したものであって、当業者であれば本発明がそれに限定されないことはご理解頂けよう。特許請求の範囲によってのみ示される本発明のその他の側面、進歩性、及び利点は、以下に示す詳細な説明に限定されるものではない。
以下の記載は、本発明の実施例を詳細に説明するものであり、本発明をこれに限定するものではない。むしろ、複数の変形実施例が、特許請求の範囲に記載された発明に包含される。
以下の記載では、説明のため、本発明の完全な理解を提供する目的で、複数の特定実施例が開示されているが、当業者であれば、特定実施例以外の方法で本願発明を実施しうることは明白である。
「一実施例」若しくは「ある実施例」におけるレファレンスは、実施例に関連して記載された特定の特徴、構造、特性が、少なくとも一つの本願の実施例に含まれることを意味している。明細書内の「一実施例に於いて」という言い回しは、同一の実施例に対してすべてが参照されるものではなく、また、互いに別の実施例を除外する独立した実施例、すなわち代替実施例に対しすべてが参照されるものでもない。さらには、複数の実施例によって示されているが別の実施例では示されていない様々な特徴が記載されている。同様に、複数の実施例のためには用いられて良いが、別の実施例では用いられない、異なる様々な条件が記載されていても良い。
図1は、メディアタイプの異なる複数の通信チャネルを介した、顧客のサポートリクエスト及び/または情報リクエストに対して、業者側が応答し得るためのクライアント/サーバシステム100の一実施例を示す図である。クライアント/サーバシステム100は、本願の親出願であってMingte Chen, Anil K. Annadata,及びKuang Huangらによる「マルチチャネル通信用ユーザインタフェース」と命名された、2001年3月31日出願の09/823,531(代理人ディスク番号M−11518US、出願人参照番号SIEB062/US)にて詳細に開示されている。クライアント/サーバシステム100は、ウェブブラウザに対して、ウェブサーバよりのメッセージの非同期のプッシュを実行するシステムの実施例であるが、本願はそれに限定されていない。ウェブブラウザに対して非同期にメッセージをプッシュするための能力が、インターネットを介してアクセス可能である複数のソフトウェアアプリケーションに対しても適用可能である。
クライアント/サーバシステム100は、顧客をサポートする業者が用いるためのユーザインタフェースを提供するツールバー105の制御を目的として、ウェブブラウザクライアント104Aへと非同期メッセージが送信されることを可能にする。非同期メッセージが、1つ若しくは複数の通信チャネルを介した通信の到達を、クライアントに通知する。クライアント/サーバシステム100は、メディアタイプの異なった複数の通信チャネルをサポートする。これらメディアタイプには、これに限定するものではないが、電話、E-MAIL、ファックス、ウェブコラボレーション、インターネットコールミーナウ(internet call me now)及びインターネットコールミーレイター(internet call me later)、ウェブチャット、ワイヤレスアクセスプロトコル、ページング、及びショートメッセージサービスなどが含まれる。
親出願では、3つのタイプのクライアント104が開示されており、それはウェブブラウザクライアント104A、シン(thin)クライアント104B、専用クライアント104Cの3つである。クライアント/サーバシステム100がクライアントとしてウェブブラウザのみで動作し得ることから、本発明はアプリケーションに関しウェブブラウザクライアント104Aに限定されている。
ウェブブラウザクライアント104Aは、クライアントのコンピュータシステム(図示せず)上で実行されるマイクロソフトインターネットエクスプローラーのようなウェブブラウザプログラムを含む。ウェブブラウザクライアント104Aは、ウェブサーバ188と通信し、ウェブブラウザクライアント104Aに対しウェブサーバ188より非同期にプッシュされたメッセージをレシーブする。ウェブブラウザクライアント104Aは、ウェブサーバ188のようなウェブサーバよりのJava(登録商標)アプレットのような命令をダウンロードする能力を有しており、その命令を実行する。
クライアント/サーバシステム100におけるアプリケーションサーバ126は、ウェブブラウザクライアント104Aへの情報のために機能し、またウェブサーバ188を介して情報を送信する。ここでウェブサーバは、表示のためにウェブページやウェブブラウザクライアント104Aのためのその他のユーザインタフェースの変化を提供する。
ウェブブラウザクライアント104Aは、ツールバー105を有して示されている。当業者であれば、ツールバーの機能を提供するその他ユーザインタフェースが本願の精神を逸脱することなく利用可能であることがお判りであろう。ツールバー105は、ウェブブラウザクライアント104Aを介したユーザインタフェースの一部として示されている。
通信サーバ109は、セッションモード通信サーバ110、リクエストモード通信サーバ140、及びインバウンド通信レシーバ170を含む。各々の通信サーバ110、140、及び170が、メッセージを非同期にプッシュする能力を有していてよい。しかしながら、セッションモード通信サーバ110がウェブブラウザクライアント104Aによって示されるユーザインタフェースを制御するので、このアプリケーションについては、セッションモード通信サーバ110の機能に限定して話を進めるものとする。
更にここでは、複数の実施例においてユーザに着信通知を行うような電話を介した通信に関する非同期のメッセージを図示しているが、本願は通信または非通信のものの何れかに関連するいかなるタイプの非同期メッセージもサポート可能である。
ウェブブラウザクライアント104Aを使用する業者(ここではユーザとして取り扱われる)は、ウェブサーバ188を介して企業のウェブページにアクセスすることによってクライアント/サーバシステム100にログインする。セッションが業者のために確立され、少なくとも1つの通信チャネル130を通じて送受信が行われる。
セッションは、ここではオブジェクトマネージャサーバ107と称される別個のビジネスプロセスサーバへと向けられた、ウェブサーバ188よりの論理接続である。オブジェクトマネージャサーバ107は、ビジネスオブジェクト及びビジネスロジックに対するアクセスを提供する。ビジネス処理サーバは、いつウェブブラウザクライアント104Aへのメッセージの非同期のプッシュがなされるかを決定する。ここに記載されたクライアント/サーバシステム100において、オブジェクトマネージャサーバ107は次に、セッションモード通信サーバ110のような特定ビジネス機能を提供する1つ若しくは複数の追加的サーバへの接続によってこの論理接続を拡張してもよい。セッションに関しては、図5及び図6において詳述する。
クライアント/サーバシステム100では、セッションモード通信サーバ110が、業者を、ウェブブラウザクライアント104Aを介して提供される単一のユーザインタフェースを用いた異なるメディアタイプの、例えば通信チャネル130A、130B、130C、及び130Dのような通信チャネル130を介して通信可能にさせる。この通信を確立するために、チャネルドライバ120A、120B、及び120Cのようなチャネルドライバ120が、通信API125を介したメディア特有の通信を提供する。通信API125は、セッションモード通信サーバ110が通信チャネルのメディアタイプ及び特定プロトコルとは関係なく動作することを可能とするものである。
ウェブブラウザクライアント104A、ウェブサーバ188、及びビジネス処理サーバ(オブジェクトマネージャサーバ107)の3階層アーキテクチャが、ウェブサーバ188がウェブページのリクエストを処理することを可能とし、クライアント/サーバシステム100の別コンポーネントへとビジネスロジックをオフロード(offload)する。重要なのは、オブジェクトマネージャサーバ107、通信サーバ109、及びセッションモード通信サーバ110のようなサーバによって提供される機能が、1つのサーバコンピュータシステム上で実現されてもよく、また複数のサーバコンピュータシステムを介して配信されてもよいことに留意することである。更には、典型的には大企業がウェブサーバ188の機能を実行するためにだけ完全に特化されたコンピュータシステムを有し、また複数のウェブサーバ188に類似するウェブサーバを所有しているにも関わらず、それらサーバがウェブサーバ188のような同一のコンピュータシステム上に存在してもよい。
或る実施例では、クライアント/サーバシステム100のアプリケーションサーバ126が、図1に示されているように、オブジェクトマネージャサーバ107、セッションモード通信サーバ110、リクエストモード通信サーバ140、インバウンド通信レシーバ170、ユニバーサルキュー(UQ)システム102、UQビジネスサービス106、ウェブサーバ188、ウェブサーバ146、企業アプリケーションインタフェース(EAI)オブジェクトマネージャサーバ190、及びワークフロー処理144を有している。或る実施例では、アプリケーションサーバ126における構成要素間の通信は、当技術分野で既知のトランスファーコントロールプロトコル/インターネットプロトコル(TCP/IP)のような通信プロトコルに関係する、好適な内部処理通信プロトコルを用いて実現されうる。これらコンポーネント及びそれらの間の相互作用は、親出願、及び本願の引例とされている関連出願中で詳述されている通りである。
図2はウェブブラウザに対する非同期のプッシュを実行するための3階層アーキテクチャを示している。ビジネス処理サーバ202は、非同期メッセージの発信元である。動作3−1では、ビジネス処理サーバ202がウェブサーバ188に非同期メッセージをプッシュさせており、そのことはJava(登録商標)アプレット116に対する動作3−2で示されている。ここでウェブサーバ188にはマイクロソフト社のインターネットインフォメーションサーバ(IIS)、またはApacheのような標準型オフザシェルフウェブサーバソフトウェアが含まれる。動作3−3では、Java(登録商標)アプレット116がウェブブラウザクライアント104Aによって表示されているようなユーザインタフェースを制御する。一実施例では、Java(登録商標)アプレット116は、業者が複数の異なるメディアタイプの通信チャネルを介して通信を行うためのツールバーを制御する。
図3は、ウェブブラウザクライアントへの非同期メッセージのプッシュ方法の実施例を示すフローチャートである。通信接続のセットアップステップ310では、通信接続が、ウェブブラウザ、ウェブサーバ、及びビジネス処理サーバとの間で確立される。ここで、非同期メッセージがウェブブラウザに対してプッシュされるべきであることを決定するために、ビジネス処理サーバが応答可能である。非同期メッセージをプッシュするために、それら通信接続は、ビジネス処理サーバがウェブサーバ及びウェブブラウザクライアントと常時通信可能であることを確立する。
非同期メッセージの受信準備ステップ320で、ウェブブラウザクライアントが非同期メッセージを受信し得ることを示すべく、ビジネス処理サーバに登録される。非同期メッセージのプッシュステップ333では、非同期メッセージがウェブブラウザクライアントへとプッシュされる。非同期メッセージの受信準備ステップ320に関しては、図5において詳細に説明されており、非同期メッセージのプッシュステップに関しては、図6において詳細に説明されている。
通信のインフラストラクチャ
図4は、図1に示された発明の実施例のための通信接続をセットアップする過程310を実行した結果を示すものである。図4の構成要素は、ウェブブラウザクライアント104A、ウェブブラウザクライアント104Aと直接通信をするウェブサーバ188、及び2つのビジネス処理サーバであるオブジェクトマネージャサーバ107及びセッションモード通信サーバ110を含む。本発明は1つのビジネス処理サーバによって実行可能であるが、図1のクライアント/サーバシステム100に関しては、本発明の動作を示すのに2つのビジネス処理サーバが用いられる。本発明に関して通信接続を示すにあたって、Java(登録商標)アプレット116が、ウェブブラウザクライアント104Aに、ウェブサーバ188へと通常のHTTPリクエストの一部としてのウェイトリクエスト210を送信させる。最終的には、図4において示されている通信インクラストラクチャを介して、非同期のメッセージ290がウェブサーバ188よりウェブブラウザクライアント104Aへと非同期で送信される。
ウェブサーバ188を参照すると、ウェブエンジンプラグイン185が、セッションマネージャ220、オブジェクトマネージャサーバ107、及び残りのクライアント/サーバシステム100と通信を行うために、マイクロソフト社のインターネットインフォメーションサーバ(IIS)のようなオフザシェルフ型のウェブサーバを機能的に用いる。セッションモード通信サーバ110は非同期のメッセージを発し、オブジェクトマネージャサーバ107を用いることで処理を実行しウェブサーバ188へと非同期のメッセージをプッシュするのに用いられる。ウェブエンジンプラグイン185は、永続的HTTP接続131を介してウェブブラウザクライアント104Aへとウェブサーバ188より非同期のメッセージをプッシュする。ウェブサーバ188に非同期のメッセージのプッシュを実行させることによって、ウェブブラウザクライアント104Aによって示されているユーザインタフェースが制御される。
セッションモード通信サーバ110は、セッションモード通信サーバ110、オブジェクトマネージャサーバ107、及びウェブサーバ188間の一連の接続を介して、ウェブブラウザクライアント104Aと通信をおこなう。既述のとおり、セッションとはウェブサーバ188よりオブジェクトマネージャサーバ107へと繋がった論理接続である。この実施例では、ウェブブラウザクライアント104Aのために、ウェブサーバから第1のビジネス処理サーバであるオブジェクトマネージャサーバ107へと繋がる論理接続として、アクティブ接続135Aが用いられている。この論理接続は、更に第2のビジネス処理サーバ、セッションモード通信サーバ110へと拡張されおり、アクティブ接続135Bのような接続を介している。注意して頂きたいのは、第2の接続が本発明の操作のために要求されることはないが、示されている実施例における特定の目的のためには必要とされることである。
図4における実施例では、アクティブ接続135Bがサービスリクエスト層235Aとサービスリクエストブローカー230との間のサブ接続135B−1、及びサービスリクエストブローカー230とサービスリクエスト層235Bとの間のサブ接続135B−2を含む。接続をサブ接続に分離させることは、示されている特定実施例に特徴的なものであって、本発明の必須条件ではない。
特定のウェブブラウザクライアント104Aに対応する処理が、セッション関連の各ビジネス処理サーバ上で実行される。示されている実施例においては、ユーザのセッションスレッド16がオブジェクトマネージャサーバ107上で実行され、通信サーバセッションスレッド122がセッションモード通信サーバ110上で実行される。ユーザセッションスレッド16及び通信サーバセッションスレッド122は、上述の親出願のクロスリファレンス内に於いてより詳細に説明されている。図示された実施例では、ユーザのセッションスレッド16と通信サーバセッションスレッド122との間の通信は、アクティブ接続135を介したサービスリクエストブローカー230を用いることによって達成される。
セッションモード通信サーバ110は、接続されている各クライアント、ここではウェブブラウザクライアント104Aの情報を維持する。セッションモード通信サーバ110は、顧客サポートリクエストのようなインカミングイベントをレシーブして、業者に表示されているユーザインタフェースへと非同期メッセージをプッシュすることによって、業者とインタラクティブに通信を行う。可能であれば、インカミング顧客サポートリクエストは、処理目的のみに許可された短時間の中断、及び顧客サポートリクエストの転送時間を伴って、通信チャネル130によって顧客サポートリクエストが受信されるのと概ね同時刻に、業者に対する通信を行う。このことで、とりわけ業者へのインタラクティブなリクエストのために、顧客の待ち時間が最短となる。
外部からの電話呼出(コール)のようなイベントが発生すると、業者の注意を喚起するために、インターフェースの変更通知機能を用い、ユーザインタフェースが業者に通知を実行する。例えば、ユーザインタフェースの通知機能が、非同期メッセージをレシーブしてもよく、電話の着信を業者に通知するためには、ボタンを点滅させる動作命令を提供してもよい。この通知機能はまた、業者が電話を取るまでの間、発信者に関する情報(“スクリーンポップ”)のようなその他情報の表示動作命令を提供してもよい。業者がツールバー105を用いて、着信、保留(ホールド)、またはリリース(release)する時、ユーザインタフェースは、セッションモード通信サーバ110へとコマンドを送信する。ここでサーバ110はチャネルドライバ120の内の1つと通信を行い、電話を制御する通信チャネルに対しコマンドを発信する。
通信チャネルからのメッセージを非同期でプッシュできる機能を有すること業者は、当該業者宛のE−メールのような到着ワークアイテムをリアルタイムで受することができる
セッションマネージャ
先に述べたように、ウェブサーバがウェブブラウザに対し非同期でメッセージを提供可能であるソリューションは、クライアント/サーバシステム100のような大規模配信アプリケーションが大量のユーザをサポート可能とすることが望ましい。一般的に、ウェブサーバは、ウェブブラウザクライアント104Aのような複数のウェブブラウザクライアントの要求を満たしうる。例えば、クライアント/サーバシステム100を用いる各業者は、ウェブサーバ188にアクセスするためのウェブブラウザクライアントを各自で使用する。次に、ウェブサーバ188がウェブブラウザクライアントに代行して、オブジェクトマネージャサーバ107のようなビジネス処理サーバとの通信を行う。各々のウェブブラウザクライアントは、論理的にウェブブラウザクライアントの全通信が実行されるビジネス処理サーバへと向かうウェブサーバ188よりの固有専用接続を有している。それらの論理接続がセッションと呼ばれており、セッションマネージャによって管理されている。
セッションマネージャは、各々、2つのサーバ上で実行されるコンポーネントを有していてよく、この実施例ではセッションマネージャ220Aがウェブサーバ188上で実行されており、セッションマネージャ220Bがオブジェクトマネージャサーバ107上で実行されている。セッションマネージャ220A及びセッションマネージャ220Bは、まとめてセッションマネージャ220として称される。セッションマネージャ220の2つのコンポーネント同士は、アクティブ接続135Aのようなそれらの間に存在する物理接続を確立して処理を行うので、2つのサーバ188及び107上の各プロセスが通信可能である。セッションマネージャ220Aは、セッションマネージャリスニングスレッド224を生成し、アクティブ接続135Aに従う。セッションマネージャ220Aは、セッションデータ222Aにおいて示されているようなセッション関連のローカルデータを保持しており、セッションマネージャ220Bはセッションデータ220B内にローカルセッションデータを維持する。
複数のアクティブ接続が2つのサーバ間で確立されてもよい。図2を参照すると、アクティブ接続135Aはウェブサーバ188及びオブジェクトマネージャサーバ107の間に1つのアクティブ接続を示しており、追加的なアクティブ接続は図示されていない。各ウェブブラウザクライアントが、かなりの時間アイドル状態であり得るので、ネットワークリソースを保存してスケーラビリティを達成するためには、アクティブ接続が各ウェブブラウザクライアントに確立されなくてもよい。セッションマネージャは、アクティブ接続がウェブブラウザクライアント間で共有されるようにする。
クライアント/サーバシステム100のコンポーネントが通信を必要とする場合いつでも、前記コンポーネントが同一サーバシステム上の対応するセッションマネージャコンポーネントを呼び出してよい。ここでは、サーバコンピュータシステムは通信を実行可能なアクティブ接続を決定する。例えば、ウェブエンジンプラグイン185がウェブブラウザクライアント104Aのユーザのために情報を送信する必要がある場合、ウェブエンジンプラグイン185がセッションマネージャ220Aに対し情報送信の要求を行う。セッションマネージャ220Aは、アクティブ接続135Aのようなセッションマネージャ220Bに対して有効なアクティブ接続を決定し、アクティブ接続を介してセッションマネージャ220Bへ向けて情報を送信する。セッションマネージャ220Bは、ウェブブラウザクライアント104Aに対応した適切なプロセスに対する情報、即ちユーザセッションスレッド16を提供する。
セッションマネージャ220のようなセッションマネージャは、適切な内部プロセス通信プロトコルへとデータをコンバートしてもよく、そのようなプロトコルは、例えばTCP/IPのような転送プロトコルに関連して用いられるものであり、クライアント/サーバシステム100の配信コンポーネント間の通信に用いられている。
セッションマネージャ220のようなセッションマネージャを有し、クライアント/サーバシステム100のその他のコンポーネントの代わりに通信することは、接続及びセッションに関連するロジックが他の機能を実行するコンポーネントより取り除かれることを可能とする。このことが、クライアント/システム100のその他コンポーネントを単純化し、セッションマネージャ220の一部としてのセッション及び接続マネージメントの複雑性が回避される。
業者は、ウェブサーバ188を介してウェブページにアクセスし、またログイン情報を完了させることで、クライアント/システム100へとログインする。様々な接続がログインに応答して確立される。ユーザログイン時、セッションマネージャ220がアクティブ接続135Aを確立させる。通信クライアントサービス160がセッションモード通信サーバ110への接続を要求するとき、サービスリクエストブローカー230及びサービスリクエスト層235A及び235Bが、アクティブ接続135Bを確立させる。セッションモード通信サーバ110に対する接続が確立されると、Java(登録商標)アプレット116が、ウェブブラウザクライアント104A及びウェブサーバ188の間の永続(persistent)HTTP接続131を確立させる。或る実施例では、永続HTTP接続131はウェブサーバ188よりのJava(登録商標)アプレット116へ向かう物理的な双方向ソケット接続である。永続HTTP接続131はウェブブラウザクライアント104A専用であって、ウェブサーバ188がウェブブラウザクライアント104Aに対して随時非同期メッセージを送信可能であるようにする。図4で示されているような実施例に於いてそれら接続は非同期メッセージがプッシュされるようにするが、アクティブ接続135Bは本願で必要とはされていない。
アクティブ接続135A及び135Bは、ウェブブラウザクライアント104Aがアイドル状態であるかそうでないかに関わらずアクティブなままである。それらの接続はユーザがログアウト(exit)を選択するときに閉じられて良い。それら接続は、ウェブブラウザクライアント104Aが、例えば30分のような或る時間に渡ってアイドル状態であった後に終了されてもよい。ユーザが一定時間ウェブブラウザクライアント104を使用していないと、セッションマネージャ220が、ユーザはすでに利用不可能状態であるという決定をおこなってもよい。
非同期メッセージをレシーブするための準備
図5は、非同期メッセージを受信するための準備プロセスについて示すものである。
動作5−1では、ウェブブラウザクライアント104Aが非同期メッセージをレシーブすることが可能であることを示すために、Java(登録商標)アプレット116がウェブブラウザクライアント104Aに対してウェブブラウザ188へのウェイトリクエスト210を送信するようにさせる。ウェイトリクエスト210は図5において示されているようなURLに対応していてよく、
http://webserver188/.../start.swe?waitrequest=1&target=160&Session_ID=104A_ID
と示されている。
クエスチョンマーク(?)よりも前にあるURLの一部分であるパス要素は、ウェブサーバ188のためのディレクトリパスネームを示すものである。クエスチョンマークに続くURLの一部分であるURLのサーチ要素は、ネーム/バリューペアとしてパラメータ及びバリューを提供する。
この実施例中で、第1のネーム/バリューペアであるウェイトリクエストパラメータ212は、ウェブエンジンプラグイン185によってコマンドが実行されるべきであることを示す。ターゲットパラメータ214は、通信クライアントサービス160に対応したターゲットプロセス160を示しており、そこより非同期メッセージがレシーブされてもよい。Java(登録商標)アプレット116は、ウェブブラウザクライアント104Aに対応するセッションが既に図3のセットアップ通信チャネルステップ310の結果として確立されているので、標的プロセス情報にアクセスする。セッション_IDパラメータ216は、セッションのセッション_IDを示すものである。特定のウェブブラウザクライアント104Aの要求を満たすために、セッションが論理的に“専用”とされているので、セッション_IDは、ウェブサーバ188が対応ウェブブラウザクライアントに対し非同期のメッセージをプッシュすることを可能とする。本発明のその他の実施例が、URL内部に異なるパラメータを提供することがあってもよい。
Java(登録商標)アプレット116は、ウェブブラウザクライアント104AがHTTPフォーマットでウェイトリクエスト210を送信することを可能とするが、結果的にこのリクエストは標準的ウェブブラウザのURLリクエストの場合のような“タイムアウト”を起こさない。即時に同期型のレスポンスを提供されることがないにも関わらず、ウェブブラウザクライアント104Aは、レスポンス待ち時間にブロックされることはない。Java(登録商標)アプレット116は、ウェブサーバ188よりの非同期メッセージを無期限に待ち続け、ウェブブラウザクライアント104Aは、ユーザインタフェースの制御等その他タスクを実行するために解放される。
或る実施例においてウェブサーバ188は、クエスチョンマーク(?)の前に存在するURLの一部のパスエレメントの「.swe」エクステンション(拡張)211を認識する。「.swe」エクステンション211より、ウェブサーバ188はウェブエンジンプラグイン185がリクエストを取り扱ってもよいことを決定する。ウェブサーバ188は、動作5−2におけるウェブエンジンプラグイン185に対するターゲットパラメータ214及びセッション_IDパラメータ216のようなウェイトリクエスト210において付与された情報を提供する。
動作5−3において、ウェブエンジンプラグイン185は、ウェイトリクエスト210よりの情報をリクエストオブジェクト510にストアする。ここでリクエストオブジェクト510は、ウェブブラウザクライアント104Aの非同期メッセージがレシーブされるまでメモリ内部にストアされる。リクエストオブジェクト510は、Java(登録商標)アプレット116に対する非同期メッセージのプッシュに必要とされ得るリクエスト情報をセーブする。ここでJava(登録商標)アプレット116は、ウェブブラウザクライアント104Aで表示されているユーザインタフェースを制御する目的で非同期のメッセージを用いる。例えば、この情報には、ウェブブラウザクライアント104Aのためのユーザネーム及び/またはその他の識別情報が含まれていてよい。任意に、ウェブエンジンプラグイン185がJava(登録商標)アプレット116に対して“リクエストペンディング”ステータス(図示せず)を戻してもよい。リクエストオブジェクト510はメモリ内部に残り、非同期メッセージがセッションマネージャリスニングスレッド224を介して到達したことをセッションマネージャ220Aが検出するときに用いられる。
ウェブエンジンプラグイン185は、リクエストオブジェクト510よりのウェイトリクエスト210のためのコールバックオブジェクト530を生成し、クライアントウェイティングリスト550へとコールバックオブジェクト530を配置する。コールバックオブジェクト530は、非同期メッセージがウェブブラウザクライアント104Aのために受信されるとき用いられるコンテクスト情報を提供する。クライアントウェイティングリスト550は、ウェブブラウザクライアント104Aのような全てのクライアントリストを提供するが、ここでは全てのクライアントが非同期メッセージを受信可能である。
動作5−4において、セッションマネージャ220Aをウェブエンジンプラグイン185が呼び出し、ウェイトリクエスト、非同期メッセージがウェイトリクエストのためにレシーブされるときに呼び出されるべきコールバックファンクションに対するレファレンス、及びコールバックファンクションを呼び出すときに用いられるべきコンテクスト情報に対するレファレンスを提供する。この実施例では、コールバックファンクション540及びコールバックオブジェクト530に対するレファレンスが提供される。図4では、シングルタイプのコールバックファンクションのみが開示されているが、本願の精神を逸脱することなく異なるタイプの非同期メッセージ、異なるタイプのイベント、または特別な取扱いを要する別の状況のために複数のコールバックファンクションが含まれていても良い。
セッションマネージャ220は、各リクエストのための独自の識別子であるリクエスト_IDをアサインする。またセッションマネージャ220は、非同期メッセージがウェブブラウザクライアント104Aのために受信される時必要とされる情報と共に、セッションデータ222Aにおける独自の識別子であるリクエスト_IDカラム222A−1をストアする。図5において示されている実施例において、独自の識別子リクエスト_IDは104A_ID/1の値を有しており、それはウェブブラウザクライアント104Aよりの第1のリクエストであることを示している。セッションマネージャ220Aはまた、ポインタ540pの場合において、コールバックコラム222A−2におけるコールバック機能に対してレファレンスをストアする。セッションマネージャ220Aはまた、コールバックファンクションを呼び出す時に用いられるためにコンテクストコラム222A−3、即ちポインタ530pにおけるコンテクスト情報に対するレファレンスもストアする。この場合は、用いられるべきコンテクスト情報がコールバックオブジェクト530にてストアされる。別の実施例では、コールバックファンクション及びコンテクスト情報に対するストアレファレンスというよりは寧ろ、セッションマネージャ220Aが、セッションデータ222A内に、音声のコールバックファンクション及びコンテクスト情報をストアしてもよい。
動作5−5において、セッションマネージャ220Aは、リクエスト_ID及び例えばウェイトリクエスト210よりのターゲットパラメータ214の値のようなその他の情報の値を含むリクエストを、オブジェクトマネージャサーバ107内部のセッションマネージャ220Bへと送信する。セッションマネージャ220Aは、セッションマネージャ220Bに送信される前に、リクエストを適切な内部プロセス通信プロトコルへコンバートしてもよい。
セッションマネージャ220Bよりのリクエストをレシーブするとき、セッションマネージャ220Bは、リクエストを処理するための対応プロセスを決定する。ここではユーザセッションスレッド16とされる。セッションマネージャ220Bは、リクエスト_IDの値をセッションデータ222Bリクエスト_IDコラム222B−1へと配置し、ハンドラのための識別子をハンドラコラム222B−2に配置する。セッションマネージャ220Bは次に、ターゲット214の値やハンドラの識別子のようなリクエストよりの情報を、動作5−6でリクエストキュー560へと配置する。リクエストキュー560は、全ユーザ及び全タイプのサービスのためにオブジェクトマネージャサーバ107によってレシーブされた、全リクエストの一般的リクエストキューである。示された実施例においては、リクエスト_IDコラム562がリクエストのための独自の識別子リクエスト_IDを含んでおり、データコラム564は標的パラメータ値160を含んでおり、ハンドラコラム566はユーザセッション16のための識別子を含んでいる。オブジェクトマネージャサーバ107がアイドル状態の場合、オブジェクトマネージャサーバ107は動作5−7において示されているような処理を行うために、リクエストキュー560からリクエストを検索する。
オブジェクトマネージャサーバ107がリクエストキュー560よりのリクエストを検索するとき、オブジェクトマネージャサーバ107はハンドラコラム566よりのリクエストを処理するためのプロセスの識別子を含む。動作5−8において、オブジェクトマネージャサーバ107がユーザセッションスレッド16に対するリクエストを提供し、動作5−9においてユーザセッションスレッド16がウェイトマップ570へと、リクエストよりの情報を配置している。ウェイトマップ570はまた、リクエストのための独自の識別子であるリクエスト_IDをリクエスト_IDコラム572内に有しており、また非同期メッセージが予想されるプロセスの識別子(ここでは通信クライアントサービス160)をターゲットコラム574内部に有している。リクエスト_IDを、ウェイトマップ570の中に配置することがウェブブラウザクライアント104Aを“記録する”ことであり、ここでウェブブラウザクライアント104Aは、非同期メッセージをレシーブすることが可能なクライアントとしてリクエスト_IDに独自に関連付けられる。
ウェブブラウザに対する非同期メッセージのプッシュ
図6は、ビジネスプロセスサーバであるプロジェクトマネージャサーバ107よりのウェブブラウザへ向かう非同期メッセージのプッシュを示したものである。クライアント/サーバシステム100に関する非同期メッセージをプッシュする能力を開示する目的で、通信サービス113、OMリスニングスレッド234、アクティブ接続135B−1、及びサービスリクエスト層235Aが含まれた構成となっている。これらの構成要素は本発明の動作にとって必要不可欠という訳ではなく、本発明のその他の実施例は同等の機能を実現する構成要素を含んでいなくてもよい。例えば、全てのビジネスロジック機能が非同期メッセージがプッシュされるべき時に決定動作を実行するシングルタイプのビジネス処理サーバにすべてのビジネスロジック機能が含まれていても良い。
この実施例においては、アクティブ接続135B−1を介してのOMリスニングスレッド234におけるイベント610のようなイベントの到達によって、非同期のプッシュが開始される。イベント610が到達されると、サービスリクエスト層235Aがイベント610を処理するべくハンドラープロセスを決定する。このプロセスは、例えば図4におけるサービスリクエストブローカー230によるイベント610のために提供されたセッション_IDを用いて決定されてもよい。動作6−1において、ユーザセッションスレッド16内で通信サービス113がイベント610を処理するためのプロセスであると決定されると、サービスリクエスト層235Aが通信サービス113へとイベント610を提供する。動作6−2では、通信サービス113が、610_IDのリクエスト_IDカラム562における値によって識別されるリクエストキュー560内へとイベント610を送信し、動作6−3では、ハンドラカラム566におけるイベントを処理するためのプロセスとしてそのカウンターパートである通信クライアントサービス160を識別する。イベント610に対するデータ仕様は、データカラム564において提供されている。
動作6−4において、オブジェクトマネージャサーバ107がリクエストキュー560よりイベント610を回収し、通信クライアントサービス160へとイベント610を提供する。通信クライアントサーバ160は、ウェイトマップ570におけるリクエストのためのターゲットが何れであるのかを決定するためにウェイトマップ570のターゲットカラム574へとアクセスする。ターゲットカラム574において160の値を見つけると、通信クライアントサービス160がリクエスト_IDカラム574を用い、イベントが対応しているリクエストの独自の識別子リクエスト_IDを決定する。通信クライアントサービス160は、適切なイベントのレスポンスを決定し、リクエスト_ID及びイベントのレスポンスを実行するための命令を含む目的で非同期メッセージ290を生成する。例えば、イベントのレスポンスとしてはツールバー105上のボタンを点滅させたり、データの“スクリーンポップ”を生成したり、ウェブブラウザクライアント104Aの前部へとウィンドウを提示したりすることなどが含まれてもよい。非同期のメッセージ290は、Java(登録商標)アプレット116のための動作命令を含んでおり、イベントレスポンスを実行する。
動作6−5では、通信クライアントサービス160がセッションマネージャ220Bに対する非同期のメッセージ290を供給し、非同期メッセージ290を送信するためにセッションマネージャ220Bに要求を行う。
動作6−6では、セッションマネージャ220Bがセッションマネージャ220Aへと非同期メッセージ290を提供する。セッションマネージャ220Aは、まず最初に、クライアントが非同期メッセージを受信することが可能であることを通知するためにクライアントのウェイティングリスト550をチェックする。セッションマネージャ220Aは非同期メッセージ290中に提供されているリクエスト_ID値を、リクエスト_IDカラム222A−1における値と一致させる。この540のケースでは、セッションマネージャ220Aが呼び出しを行うためにコールバックファンクションを決定し、コールバックオブジェクト530を提供するためのコンテクスト情報を決定する。
動作6−7では、セッションマネージャ220Aがコールバックファンクション540へとコールバックオブジェクト530を提供する。動作6−8では、コールバックファンクション540がリクエストオブジェクト510を用いて非同期メッセージが送信されるべきウェブブラウザクライアントを決定し、ウェブブラウザクライアントに対し非同期メッセージをプッシュする。
Java(登録商標)アプレット116が非同期メッセージをレシーブするとき、永続的な接続131は閉止される。ウェブブラウザクライアント104Aが非同期メッセージをレシーブすることを可能とするためには、Java(登録商標)アプレット116が別のウェイトリクエストを送信する。通信クライアントサービス160はJava(登録商標)アプレット116との通信を継続させ、ウェブブラウザクライアント104Aによって表示されているユーザインタフェース変化を制御する。
例えば、ツールバー105におけるログアウトボタンをクリックすることによってユーザがログアウトする時に、セッションマネージャ220はオブジェクトマネージャサーバ107が、ウェブブラウザクライアントのために割り当ててきたリソースをクリーンアップする。例えば、サービスリクエストブローカー230に対するアクティブ接続135B−1及びセッションモード通信サーバ110に対するアクティブ接続135B−2が閉止されてもよい。
ここに記載されているように、ウェブブラウザに対するウェブサーバよりの非同期のプッシュはより多くの利点を有しており、例えばそれはウェブブラウザしか有していないユーザに、ユーザへとリアルタイムにデータを提供するユーザインタフェースを制御するウェブベースアプリケーションにアクセスすることを可能とさせるものである。ウェブブラウザクライアントはブロックされておらず、またユーザインタフェースの変化が非同期にプッシュされた命令によって達成され、各ユーザインタフェースの変化のためにウェブブラウザクライアントによってなされるべきリクエストを必要とすることなくユーザインタフェースの変化させる。
その他の実施例
本発明は、1つ若しくは複数のコンピュータシステム上で動作するソフトウェアアプリケーションに関して記載された。しかし、当業者であれば本発明が様々な形態のプログラム製品として配布可能であり、また本発明は実際に配布するのに用いられる特定形式のシグナルベアリングメディア(signal bearing media)に依存することなく適用されることがお分かりであろう。メディアの例としては、フロッピー(登録商標)ディスクやCD−ROMのような記録可能メディア、デジタル及びアナログ通信リンクのような転送メディアは勿論のこと、将来想定し得るメディア媒体及び配布システムのすべてが含まれる。
更に、既述の詳細な説明中では、ダイヤグラム、フローチャート、及び実施例を用いて本発明の様々な実施例を提示してきた。当業者であれば、実施例の使用によって示されてきた各ブロック図の要素、フローチャートのステップ、及び動作及び/または要素が、多岐に亘ってハードウェア、ソフトウェア、ファームウェア、またはその何れかの組み合わせ等で、個別及び/または相互に実現し得ることがお分かりになるであろう。一実施例では、本発明が特定用途向IC(ASIC)によって実現されてもよい。しかし、当業者であれば、ここに記載された実施例は、全体またはその一部分でコンピュータ上で稼働するコンピュータプログラムやファームウェアやそれらの組み合わせのように、汎用ICによって同じ様に実現し得ることがご理解頂けよう。本発明の詳細な説明を踏まえて、回路構成を設計し、及び/またはソフトウェア即ちファームウェアのためのプログラミングコードを書くことは当業者であれば可能である。
本発明は、ここに固有なことは勿論のことであるが、言及された利点を達成する目的で適合されている。本発明は特定の実施例について記載されているが、それは本発明を限定するものではない。本発明は、その形態及び機能に関する変形例や変更例を含むものである。記載された実施例は提示的なものであって本発明の精神をこれに限定するものではない。つまり、本発明の権利範囲は特許請求の範囲によってのみ限定されるものであって、あらゆる点でそれに等しいものを包含する。
図は、非同期メッセージがブラウザへとプッシュされる方式が適用されるクライアント/サーバシステムの一実施例のダイヤグラムである。 図は、非同期メッセージのウェブブラウザクライアントへのプッシュを伴う中心コンポーネントを示すものである。 図は、図1のウェブブラウザクライアントに対する非同期メッセージプッシュを示すフローチャートである。 図は、図1のクライアント/サーバシステムの実施例における通信インフラストラクチャを示す、より詳細なダイヤグラムである。 図は、図3のフローチャートにおける非同期メッセージのレシーブ準備過程を実行する際の、図1のクライアント/サーバシステムの動作を示すものである。 図は、図3のフローチャートにおける非同期メッセージのレシーブ準備過程を実行する際の、図1のクライアント/サーバシステムの動作を示すものである。 図は、図3のフローチャートにおける非同期メッセージのプッシュ過程を実行する際の、図1のクライアント/サーバシステムの動作を示すものである。 図は、図3のフローチャートにおける非同期メッセージのプッシュ過程を実行する際の、図1のクライアント/サーバシステムの動作を示すものである。

Claims (19)

  1. ウェブサーバを含むアプリケーションサーバ装置と、ウェブブラウザを含むクライアント装置とを含むクライアント/サーバシステムを用いた通信のための方法であって、
    前記アプリケーションサーバ装置に、前記クライアント装置の前記ウェブブラウザによって表示されたユーザインタフェースを制御させる制御過程を備え
    前記制御過程
    前記ウェブサーバに、入ってくるイベントに応答して、前記ウェブブラウザへと、通信チャネルからの通信の到達を示す情報を含む非同期メッセージを前記イベントの着信とは非同期にプッシュさせる過程を含み、前記入ってくるイベントは前記通信チャネルから提供されて通信サーバによって受信され、前記通信サーバは前記ウェブサーバと前記非同期メッセージの通信を行い、前記制御過程はさらに
    前記ウェブサーバに、前記非同期メッセージの前記アプリケーションサーバ装置内の発信元を識別させる過程と、
    前記ウェブブラウザに、前記ウェブサーバに対し、前記ウェブブラウザに関連付けられたウェイトリクエストを提供させる過程とを含み、前記ウェイトリクエストは、前記ウェブブラウザからの前記ウェブサーバに対して情報を求めるリクエストとは異なるリクエストであり、かつ、前記ウェブブラウザからのリクエストに対する即時のレスポンスを含めたデータをプッシュしないことを前記ウェブサーバへ求めるものであり、1つのウェイトリクエストによって前記ウェブブラウザが1つの非同期メッセージを受信可能となり、前記制御過程はさらに
    前記ウェブサーバに、前記発信元と前記ウェイトリクエストとを関連付けさせる過程を含み、これによって、前記アプリケーションサーバ装置に、前記ウェブブラウザを前記非同期メッセージの受信者として認識させ、前記関連付けさせる過程は、前記ウェイトリクエストに含まれる値を、前記発信元に対応するユーザセッションスレッドおよびセッションマネージャリスニングスレッドに記録する過程を含み、前記制御過程はさらに
    前記ウェブブラウザに、前記非同期メッセージに応答して、ユーザインタフェースの変化を表示させる過程をみ、
    前記ウェブブラウザにウェイトリクエストを提供させる過程は、前記ウェイトリクエストを提供するためのJava(登録商標)アプレットに従うリクエスト命令を、前記ウェブサーバから前記ウェブブラウザへダウンロードする過程を含み、該ダウンロードによって、前記ウェブブラウザが前記リクエスト命令を実行する、方法。
  2. 前記方法は、さらに
    前記アプリケーションサーバ装置に、前記非同期メッセージを生成させる過程を備える、請求項1に記載の方法。
  3. 前記方法は、さらに
    記アプリケーションサーバ装置に、前記非同期メッセージを生成させる過程とを備え、前記非同期メッセージは前記ウェイトリクエストを識別し、当該識別によって前記ウェブブラウザを前記非同期メッセージの受信者として識別し、前記方法はさらに
    前記アプリケーションサーバ装置に、前記ウェブサーバに対して前記非同期メッセージを提供させる過程を備える、請求項1に記載の方法。
  4. 前記方法は、さらに
    前記アプリケーションサーバ装置に、前記ウェイトリクエストよりの情報を含むコールバックファンクションに対するレファレンスをストアさせる過程と、
    前記アプリケーションサーバ装置に、前記非同期メッセージが前記ウェブサーバへと提供されるとき、前記コールバックファンクションを呼び出すために前記レファレンスを使用させる過程とを備え、前記コールバックファンクションが前記非同期メッセージをプッシュする、請求項に記載の方法。
  5. 前記方法は、さらに
    前記アプリケーションサーバ装置に、前記コールバックファンクションにコンテクスト情報を提供させる過程を備え、前記コンテクスト情報が前記ウェブブラウザを識別する、請求項に記載の方法。
  6. 前記方法は、さらに
    前記アプリケーションサーバ装置に、前記ウェブサーバとビジネス処理サーバとの間の接続に対し、前記ウェイトリクエストをアサインさせる過程と、
    前記アプリケーションサーバ装置に、前記非同期メッセージのために前記接続をリスニングさせる過程とを備える、請求項3〜5のいずれか1項に記載の方法。
  7. 前記ウェブサーバ前記非同期メッセージをプッシュさせる過程、前記アプリケーションサーバ装置に、非同期メッセージがレシーブされるとき、前記ウェブブラウザに関連付けられたコールバックファンクションを呼び出過程を含み、前記コールバックファンクションは、前記非同期メッセージをプッシュする請求項1〜6のいずれか1項に記載の方法。
  8. 前記方法は、さらに
    前記アプリケーションサーバ装置に、前記コールバックファンクションに対するレファレンスをストアさせる過程と、
    前記アプリケーションサーバ装置に、前記コールバックファンクションを呼び出すために前記レファレンスを使用させる過程とを備える、請求項に記載の方法。
  9. 前記方法は、さらに
    前記アプリケーションサーバ装置に、前記ウェブブラウザを識別するコンテクスト情報に対する第2のレファレンスをストアさせる過程と、
    前記アプリケーションサーバ装置に、前記コールバックファンクションに対し前記コンテクスト情報を提供するために前記第2のレファレンスを使用させる過程とを備える、請求項に記載の方法。
  10. 前記ユーザインタフェースの変化
    第1のユーザインタフェースオブジェクトを、ユーザの注意を視覚的に喚起するべく移動させる過程と
    ータのスクリーンポップを表示する過程と、
    スクリーンの前面へとウェブブラウザウィンドウを移動させる過程のうち少なくとも1つを有する請求項1〜9のいずれか1項に記載の方法。
  11. ウェブサーバを含むアプリケーションサーバ装置と、ウェブブラウザを含むクライアント装置とを含むクライアント/サーバシステムであって、
    前記アプリケーションサーバ装置は、前記ウェブブラウザによって表示されたユーザインタフェースを制御するように構成されており、
    前記アプリケーションサーバ装置は、
    前記ウェブサーバに前記ウェブブラウザに対し、通信チャネルからの通信の到達を示す情報を含む非同期メッセージをプッシュさせるためのプッシュモジュールを備え、前記ウェブブラウザは、前記非同期メッセージに応答してユーザインタフェースの変化を表示し、前記アプリケーションサーバ装置はさらに
    前記ウェブブラウザに前記ウェブブラウザに関連付けられたウェイトリクエストを前記ウェブサーバに対して提供させるためのリクエスト提供モジュールを備え、前記ウェイトリクエストは、前記ウェブブラウザからの前記ウェブサーバに対して情報を求めるリクエストとは異なるリクエストであり、かつ、前記ウェブブラウザからのリクエストに対する即時のレスポンスを含めたデータをプッシュしないことを前記ウェブサーバへ求めるものであり、1つのウェイトリクエストによって前記ウェブブラウザが1つの非同期メッセージを受信可能となり、前記アプリケーションサーバ装置はさらに
    前記非同期メッセージの前記アプリケーションサーバ装置内の発信元を識別するための識別モジュールと、
    前記ウェイトリクエストに前記発信元を関連付けるための関連付けモジュールとを備え、前記関連付けによって前記ウェブブラウザは、前記非同期メッセージの受信者として識別され、前記関連付けモジュールは、前記ウェイトリクエストに含まれる値を、前記発信元に対応するユーザセッションスレッドおよびセッションマネージャリスニングスレッドに記録し、
    前記リクエスト提供モジュールは、前記ウェイトリクエストを提供するためのJava(登録商標)アプレットに従うリクエスト命令を、前記ウェブサーバから前記ウェブブラウザへダウンロードさせ、該ダウンロードによって、前記ウェブブラウザが前記リクエスト命令を実行する、システム。
  12. 前記アプリケーションサーバ装置はさらに
    記非同期メッセージを生成するための生成モジュールを備え、前記非同期メッセージは、前記ウェイトリクエストを識別し、当該識別によって前記ウェブブラウザ前記非同期メッセージの受信者として識別し、前記アプリケーションサーバ装置はさらに
    前記ウェブサーバに対して前記非同期メッセージを提供するためのメッセージ提供モジュールを備える、請求項11に記載のシステム。
  13. 前記アプリケーションサーバ装置はさらに
    前記ウェイトリクエストよりの情報を有するコールバックファンクションに対するレファレンスをストアするためのストアモジュールと、
    非同期メッセージが前記ウェブサーバへと提供されるとき、前記コールバックファンクションを呼び出すために前記レファレンスを使用するための使用モジュールとを備え、前記コールバックファンクションが前記非同期メッセージをプッシュする、請求項12に記載のシステム。
  14. 前記アプリケーションサーバ装置はさらに
    前記ウェブブラウザを識別するコンテクスト情報を有する前記コールバックファンクションを提供するためのコンテクスト提供モジュールを備える、請求項13に記載のシステム。
  15. 前記アプリケーションサーバ装置はさらに
    前記ウェブサーバとビジネス処理サーバとの間の接続に対し前記ウェイトリクエストをアサインするためのアサインモジュールと、
    前記非同期メッセージのために前記接続をリスニングするためのリスニングモジュールとを備える、請求項12に記載のシステム。
  16. 前記プッシュモジュールは
    前記非同期メッセージがレシーブされるとき、前記ウェブブラウザに関連付けられたコールバックファンクションを呼び出すための呼び出しモジュールを含み、前記コールバックファンクションは、前記非同期メッセージをプッシュする、請求項11に記載のシステム。
  17. 前記アプリケーションサーバ装置はさらに
    前記コールバックファンクションに対するレファレンスをストアするためのレファレンスストアモジュールと、
    前記コールバックファンクションを呼び出すために前記レファレンスを使用するためのレファレンス使用モジュールとを備える、請求項16に記載のシステム。
  18. 前記アプリケーションサーバ装置はさらに
    前記ウェブブラウザを識別するコンテクスト情報に対する第2のレファレンスをストアするためのコンテクストストアモジュールと、
    前記コールバックファンクションに対し前記コンテクスト情報を提供するために前記第2のレファレンスを使用するコンテクスト使用モジュールとを備える、請求項17に記載のシステム。
  19. 前記ユーザインタフェースの変化
    第1のユーザインタフェースオブジェクトの、ユーザの注意を視覚的に喚起するための移動と
    ータのスクリーンポップの表示と、
    スクリーンの前面へのウェブブラウザウィンドウの移動のうち少なくとも1つである、請求項11に記載のシステム。
JP2003575286A 2001-09-29 2002-09-30 ウェブブラウザに対する非同期メッセージのプッシュ Expired - Lifetime JP4890740B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US32634501P 2001-09-29 2001-09-29
US60/326,345 2001-09-29
US10/033,146 US20030206192A1 (en) 2001-03-31 2001-10-27 Asynchronous message push to web browser
US10/033,146 2001-10-27
PCT/US2002/031152 WO2003077139A1 (en) 2001-09-29 2002-09-30 Asynchronous message push to web browser

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009009843A Division JP5023082B2 (ja) 2001-09-29 2009-01-20 ウェブブラウザに対する非同期メッセージのプッシュ

Publications (2)

Publication Number Publication Date
JP2005519409A JP2005519409A (ja) 2005-06-30
JP4890740B2 true JP4890740B2 (ja) 2012-03-07

Family

ID=40916890

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2003575286A Expired - Lifetime JP4890740B2 (ja) 2001-09-29 2002-09-30 ウェブブラウザに対する非同期メッセージのプッシュ
JP2009009843A Expired - Lifetime JP5023082B2 (ja) 2001-09-29 2009-01-20 ウェブブラウザに対する非同期メッセージのプッシュ

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2009009843A Expired - Lifetime JP5023082B2 (ja) 2001-09-29 2009-01-20 ウェブブラウザに対する非同期メッセージのプッシュ

Country Status (1)

Country Link
JP (2) JP4890740B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6886169B2 (en) * 2002-11-19 2005-04-26 Nexaweb Technologies, Inc. System and method for stateful web-based computing
US20070022198A1 (en) * 2005-07-19 2007-01-25 Samsung Electronics Co., Ltd. Method and system for pushing asynchronous notifications to networked devices
KR101068598B1 (ko) * 2007-03-30 2011-09-30 리서치 인 모션 리미티드 인터넷 콘텐츠의 전달을 관리하는 시스템 및 방법
US10462206B2 (en) 2009-10-16 2019-10-29 Real Innovations International Llc Bidirectional networked real-time data exchange using a spreadsheet application
US10498796B2 (en) 2009-10-16 2019-12-03 Real Innovations International Llc System and method for providing real-time data
US8661092B2 (en) 2009-10-16 2014-02-25 Real Innovations International Llc System and method for providing real-time data
JP2012185638A (ja) * 2011-03-04 2012-09-27 Kddi Corp 負荷分散装置、負荷分散システム、負荷分散方法及び負荷分散プログラム
US10558744B2 (en) 2016-11-20 2020-02-11 Real Innovations International Llc Bidirectional networked real-time data exchange using a spreadsheet application
JP6815922B2 (ja) * 2017-04-14 2021-01-20 株式会社日立製作所 業務連携システムおよび業務連携方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754830A (en) * 1996-04-01 1998-05-19 Openconnect Systems, Incorporated Server and web browser terminal emulator for persistent connection to a legacy host system and method of operation
GB2319431B (en) * 1996-11-12 2001-05-02 Ibm Voice mail system
US6199104B1 (en) * 1997-04-28 2001-03-06 Sabre Inc. Server-based host monitor
US5964836A (en) * 1997-09-11 1999-10-12 International Business Machines Corporation Apparatus, methods and computer program products for managing web-page-embedded sessions with a host-based application
JP4634547B2 (ja) * 1998-06-30 2011-02-16 株式会社東芝 リアルタイム情報配信方法
JP2000293452A (ja) * 1999-04-01 2000-10-20 Ntt Data Corp データ中継装置、データ通信システム、データ通信方法及び記録媒体
JP2001051917A (ja) * 1999-08-06 2001-02-23 Matsushita Graphic Communication Systems Inc 通信装置および受信通知方法
JP2002099975A (ja) * 2000-09-21 2002-04-05 Yamatake Building Systems Co Ltd 遠隔監視システム

Also Published As

Publication number Publication date
JP2005519409A (ja) 2005-06-30
JP5023082B2 (ja) 2012-09-12
JP2009146430A (ja) 2009-07-02

Similar Documents

Publication Publication Date Title
JP5023082B2 (ja) ウェブブラウザに対する非同期メッセージのプッシュ
EP1430412A1 (en) Asynchronous message push to web browser
JP5331374B2 (ja) 適応型通信アプリケーション・プログラミング・インタフェース
JP4762296B2 (ja) メディアに依存しない通信サーバ
US7315616B2 (en) System and method for maintaining real-time agent information for multi-channel communication queuing
US8839270B2 (en) Synchronization of communication connection state with communication user interface
JP3550503B2 (ja) 通信を可能とするための方法及び通信システム
EP1808789B1 (en) Improvements in and relating to remote user interfaces
US7552166B2 (en) Method of queuing requests to access a communications network
US20090252320A1 (en) System and Method for Multi-Channel Communication Queuing
JP2005530372A5 (ja)
WO2002006970A1 (en) Agent system for a secure remote access system
JP2000148677A (ja) 通信方法、通信システム、通信を制御するためのソフトウエア・プロダクトを格納した記録媒体
JP2003500929A (ja) 強化転送機能を備える企業交信サーバ
CA2428003C (en) Method for passing information from one of a plurality of first web entities to a second web entity
US20070203797A1 (en) Configurable media-independent server
JP2001142813A (ja) 非接続型プロトコル基盤のウェブサービス上で接続型プロトコル基盤のサービスを支援するためのシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070731

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071031

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071107

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071129

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080603

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080905

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080909

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081021

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090119

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090220

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090327

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20091022

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20091026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111101

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4890740

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141222

Year of fee payment: 3

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term