JPWO2002044905A1 - コンテンツ提供におけるセッション管理方法 - Google Patents
コンテンツ提供におけるセッション管理方法 Download PDFInfo
- Publication number
- JPWO2002044905A1 JPWO2002044905A1 JP2002547004A JP2002547004A JPWO2002044905A1 JP WO2002044905 A1 JPWO2002044905 A1 JP WO2002044905A1 JP 2002547004 A JP2002547004 A JP 2002547004A JP 2002547004 A JP2002547004 A JP 2002547004A JP WO2002044905 A1 JPWO2002044905 A1 JP WO2002044905A1
- Authority
- JP
- Japan
- Prior art keywords
- session
- identification information
- request message
- server computer
- terminal
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本発明は、インターネット網4に接続可能なインターネット端末1a,1b,1c、1dに対し、該インターネット網4に接続されたサーバコンピュータ6aを用いてコンテンツデータを提供する際のセッション管理方法であって、予め定められた所定時間幅;T0毎に区切られた時系列集合G[nT0,(n+1)T0但しnは0以上の整数]を形成する時系列集合形成ステップと、前記インターネット端末1a,1b,1c、1dより送信されてくる要求メッセージ中に含まれるセッション識別情報の有効期間が前記所定時間幅;T0以下である場合において、該セッション識別情報を該セッション識別情報の該当する前記時系列集合G[nT0,(n+1)T0]に登録、管理するセッション情報登録ステップと、現在の実時間がnT0〜(n+1)T0の範囲となった際に、古い集合となったG[(n−2)T0,(n−1)T0]に登録、管理されているセッション識別情報を削除する削除ステップと、を少なくとも含むようにする。
Description
技術分野
本発明は、インターネットに接続可能なインターネット端末へコンテンツデータを提供する際のセッション管理方法に関する。
背景技術
近年、コンピュータのオープンネットワークであるインターネットの普及が目さましく、その利用状況も個人のパソコン所有率が向上するとともに、企業のビジネス利用から個人利用へと移行しており、インターネットの利用人口も急増してきいる。
一方、近年の携帯電話の普及に伴い、これら携帯電話からインターネットへの接続を可能とするインターネット接続サービスが提供されるようになり、これら携帯電話によるインターネットへの接続は、移動中であっても所望の情報や音楽や画像等の各種のコンテンツを入手することが可能となることから、その利用者が急増しており、今後においてもこれら携帯電話等の無線回線を通じてインターネットにアクセスできるモバイル通信の利用人口は、その利便性や情報入手の迅速性から益々増加するものと予測されている。
このように、数年前までは一部の人のものであったインターネットが、前記のように、パソコンの家庭への普及とインターネット接続機能を持った携帯電話の広がりと共に、多くの人にとって欠かせない情報手段(道具)となってきている。
そのため企業戦略を考える上で広報や宣伝そしてEC(エレクトリックコマース)サイトとして、企業が情報等のコンテンツを提供或いは発信するためにWebサーバーを設置することが不可欠なこととなってきている。
しかしながら、従来においてこれらコンテンツの提供を行うWEBサーバにおけるセッション管理の手法は、同一ユーザからの一定の時間間隔内での要求を、先の要求と同一のセッションに含まれるとしてセッションを管理しており、この一定の時間間隔は、WEBサーバ側で設定されるようになっているため、該WEBサーバ側で管理されるセッション情報は、有効セッション及び無効セッションを含め、ユーザからの新規アクセスとともに増大することから、これらセッション情報の増大に伴いWEBサーバのレスポンスが悪化してしまうと共に、サーバ上のリソースが欠乏する一因ともなっている。また、無効セッションをサーバ上から削除する処理は、ユーザからの要求到着時に行うセッション情報の参照処理と排他的に実施する必要があるため、これも、レスポンスを悪化させる一因となっており、これらレスポンス悪化の状況が、短時間に極めて多くのアクセスがバースト的に集中する前記モバイル端末によるアクセスにおいて特に顕著となってしまうという問題があった。
よって、本発明は上記した問題点に着目してなされたもので、短期間に極めて多くのアクセスが集中した場合においても、アクセス数の増大とともに増大するセッション情報の維持管理に伴ってレスポンスが低下してしまうことを大幅に改善することのできるセッション管理方法を提供することを目的としている。
発明の開示
前記した問題を解決するために、本発明のコンテンツ提供におけるセッション管理方法は、インターネット網に接続可能なインターネット端末に対し、該インターネット網に接続されたサーバコンピュータを用いてコンテンツデータを提供する際のセッション管理方法であって、
予め定められた所定時間幅;T0毎に区切られた時系列集合G[nT0,(n+1)T0但しnは0以上の整数]を形成する時系列集合形成ステップと、
前記インターネット端末より送信されてくる要求メッセージ中に含まれるセッション識別情報の有効期間が前記所定時間幅;T0以下である場合において、該セッション識別情報を該セッション識別情報の該当する前記時系列集合G[nT0,(n+1)T0]に登録、管理するセッション情報登録ステップと、
現在の実時間がnT0〜(n+1)T0の範囲となった際に、古い集合となったG[(n−2)T0,(n−1)T0]に登録、管理されているセッション識別情報を削除する削除ステップと、
を少なくとも含むことを特徴としている。
この特徴によれば、サーバコンピュータは、有効なセッション識別情報が必ずG[nT0,(n+1)T0]並びにG[(n−1)T0,nT0]の和集合に存在するとともに、無効となったセッション識別情報の削除を、前記G[(n−2)T0,(n−1)T0]に登録、管理されているセッション識別情報を削除することで、少ない負荷にて効率良く実施できるようになるため、短期間に極めて多くのアクセスが集中した場合においても、アクセス数の増大とともに増大するセッション情報の維持管理に伴ってレスポンスが低下してしまうことを大幅に改善することができる。
本発明のコンテンツ提供におけるセッション管理方法は、前記インターネット端末より送信されてくる要求メッセージ中のセッション識別情報の有効期間が、前記所定時間幅;T0よりも大きい場合において、前記時系列集合G[nT0,(n+1)T0]とは異なる時系列に依存しない特定集合G[other]集合に登録、管理することが好ましい。
このようにすれば、仮にセッション識別情報の有効期間が、前記所定時間幅;T0よりも大きなものが存在しても、そのセッション識別情報の登録が為されて管理可能となるため、前記前記所定時間幅;T0をサーバ管理者が任意に設定できるようになる。
本発明のコンテンツ提供におけるセッション管理方法は、前記サーバコンピュータは、前記セッション管理処理を行う親サーバコンピュータと、該親サーバコンピュータに比較的高速の通信手段から成るローカルエリアネットワーク(LAN)を介して接続され、提供する各種コンテンツが同様に登録された複数の子サーバコンピュータから成るクラスタ化構造とされ、前記親サーバコンピュータは、前記セッション識別情報に対応付けて該セッション識別情報が含まれている要求メッセージに対応するコンテンツ提供処理を行う子サーバコンピュータを識別可能な識別情報を登録、管理し、前記セッション識別情報に該当する新たな要求メッセージが前記インターネット端末より送信されてきた場合に、該新たな要求メッセージに含まれるセッション識別情報に対応して登録されている子サーバコンピュータを特定し、該子サーバコンピュータに要求メッセージの振り分けを行う振り分けステップを含むことが好ましい。
このようにすれば、親サーバコンピュータ並びに子サーバコンピュータによるクラスタ化構成とされたサーバコンピュータにおいても、継続するセッションによるコンテンツ提供を同一のサーバコンピュータにて実施できるようになるとともに、これらクラスタ化構成とされたサーバコンピュータにおけるセッション管理を効率よく実施できるようになり、より多くの短期間におけるアクセスに対応できるようになる。
本発明のコンテンツ提供におけるセッション管理方法は、前記子サーバコンピュータに登録されている複数の各アプリケーション毎に前記時系列集合G[nT0,(n+1)T0]を設け、且つ各アプリケーション毎に最大振り分け上限要求メッセージ数(Mx)を設定するとともに、現在の実時間において古い集合となった各アプリケーション毎のG[(n−1)T0,(n)T0]に登録されているセッション識別情報の数(Rx)と予め定められた各アプリケーションの最低保障要求メッセージ処理数(Nx)とを比較し、該比較において前記セッション識別情報の数(Rx)が大きい場合においては、該子サーバコンピュータの残余リソースを、該子サーバコンピュータに登録されている各アプリケーション毎に予め割り当てられた振り分け比率にて割り当てられるように前記最大振り分け上限要求メッセージ数(Mx)を更新し、前記親サーバコンピュータは、可能な限り前記最大振り分け上限要求メッセージ数(Mx)を越えないように要求メッセージの振り分けを行うことが好ましい。
このようにすれば、各アプリケーションの前記最低保障要求メッセージ処理数(Nx)を越えるセッションがあった場合において、そのアプリケーションが登録されている子サーバコンピュータへの要求メッセージの振り分けが、各アプリケーション毎に予め割り当てられた振り分け比率に、該子サーバコンピュータの残余リソースが振り分けられるように前記最大振り分け上限要求メッセージ数(Mx)が更新され、該上限要求メッセージ数(Mx)を越えないように実施されるようになるため、同一の子サーバコンピュータに登録されている他のアプリケーションへのアクセスが集中することに伴って該アプリケーションの処理が圧迫されてしまい、前記最低保障要求メッセージ処理数(Nx)のアクセス処理を確保できなくなってしまうことを回避できる。
本発明のコンテンツ提供におけるセッション管理方法は、前記インターネット端末へ配信するコンテンツデータを、該インターネット端末のアクセス方式に対応する記述形式に変換する記述形式変換ステップと、該記述形式変換ステップにて変換されたコンテンツデータを該インターネット端末に対して配信する配信ステップと、を含むことが好ましい。
このようにすれば、所定形式のファイル形式にてコンテンツデータをコンピュータ(サーバー)に登録しておくだけで、前記記述形式変換ステップにてアクセスしてきたインターネット端末のアクセス方式に対応した記述形式に前記コンテンツデータが変換されてアクセスしてきたインターネット端末に配信されるようになることから、従来のように、膨大なコンテンツの各要素をアクセス方式毎の各記述形式に予め変換しておく必要がなく、これらコンテンツデータを所定形式の1ファイル形式にて1元的に管理できるようになり、これらコンテンツの更新作業における時間や費用を大幅に削減でき、よって、これらコンテンツデータのメンテナンスや開発等を容易に実施することが可能となる。また、コンテンツデータを所定形式の1ファイル形式にて1元的に管理できることから、各記述形式毎にアドレス(URL)を設ける必要がなく、これらアドレス(URL)も各アクセス方式にて同一のものとすることができることから、アクセス利用者は使用しているインターネット端末の種別が異なる場合においても同一のアドレス(URL)を使用でき、利用者にとって解りやすく利便性を向上できる。
発明を実施するための最良の形態
以下、本発明の実施例を図面に基づいて説明する。
(実施例)
図1は、本発明のコンテンツ提供におけるセッション管理方法が適用されたファイル変換プログラムである「クロスサブレット(X−Servlet)エンジン」が搭載されたコンテンツ提供サーバにより構築された本実施例のコンテンツ提供システムの構成を示すブロック図であり、図2(a)は、本実施例にて用いた前記コンテンツ提供サーバを構成する親サーバ6aであるサーバS0の構成を示すブロック図であり、図2(b)は、本実施例にて用いた前記コンテンツ提供サーバを構成する子サーバ6b、6cであるサーバS1とサーバS2の構成を示すブロック図であり、図3は、本実施例に用いた前記「クロスサブレット(X−Servlet)エンジン」の処理概要を示す図であり、図4は、本実施例に用いた前記「クロスサブレット(X−Servlet)エンジン」における処理内容を示す全体フロー図であり、図5は、端末タイプ識別処理並びにセッション管理処理においてアクセス利用者のインターネット端末から送られてくる要求メッセージより端末情報並びにセッション情報を取得する手法を示す図であり、図6は、端末タイプ識別処理における処理内容を示すフロー図であり、図7は、本実施例において用いた端末情報データベースの構成を示す図であり、図8は、引用画像の画像データの変換処理の内容を示すフロー図であり、図9は、コンテンツデータの変換処理の内容を示すフロー図であり、図10は、コンテンツデータの変換処理においてページ分割された画面例を示す図であり、図11は、本実施例におけるセッション管理の処理内容を示すフロー図であり、図12は、本実施例のクラスタ構成とされたサーバにおける要求メッセージ(リクエスト)の振り分け処理の手法についての説明図であり、図13は、振り分け処理の処理内容を示すフロー図であり、図14は、本実施例の振り分け処理における各アプリケーションの最大振り分け上限要求メッセージ数(Mx)の更新処理内容を示すフロー図であり、図15は、本実施例において用いたセッションデータベースの構成を示す図であり、図16は、前記端末情報テーブル並びに絵文字テーブルの更新処理の内容を示すフロー図である。
まず、本実施例のコンテンツ提供システムは、図1に示す構成とされており、コンテンツ提供サービスを行う配信センター5には、アクセスしてきたインターネット端末よりの要求(リクエスト)メッセージの子サーバコンピュータ6b,6cへの振り分け処理等を実施する親サーバコンピュータ6aとから成るクラスタ構成とされて各コンテンツデータの配信を実施するサーバコンピュータが設置されており、該親サーバコンピュータ6aは、インターネット網4を介して通常の電話サービスを提供しているキャリアA社、に接続されているコンピュータ端末1aや、携帯電話サービスを提供しているキャリアB社、キャリアC社、キャリアD社の中央制御局3b、3c、3dにそれぞれ接続されていて、各携帯電話サービス会社であるキャリアB社、キャリアC社、キャリアD社のそれぞれに加入している無線端末であるそれぞれの携帯電話端末1b、携帯電話端末1c、携帯電話端末1dは、各キャリア会社の基地局2b、2c、2d並びに中央制御局3b、3c、3d並びに図示しないゲートウエイサーバを通じて前記インターネット網4に接続可能とされており、該インターネット網4を経由して前記配信センター5の親サーバコンピュータ6aにアクセスできるようになっている。
また、前記親サーバコンピュータ6aは、各子サーバコンピュータ6b,6cとハブ(Hub)を介して比較的高速の双方向通信が可能なように接続されており、前記コンピュータ端末1aや携帯電話端末1b、1c、1d等のインターネット端末から前記親サーバコンピュータ6aへの要求メッセージに伴うコンテンツの配信処理を、これら親サーバコンピュータ6aと子サーバコンピュータ6b,6cとが協調して実施できるようにされている。
これら本実施例にて使用される携帯電話は、各キャリア会社における所定のアクセス方式に対応したインターネット接続機能を有する通常の携帯電話を使用することができる。尚、本実施例では、無線端末を携帯電話としているが、本発明はこれに限定されるものではなく、簡易型携帯電話(パーソナルハンディホン;PHS)であっても良く、インターネット網4に接続可能なものであれば特に限定されるものではない。
また、本実際例では、前記親サーバコンピュータ6aをインターネット網4を介して各キャリア会社の中央制御局3b、3c、3dに接続しているが、本発明はこれに限定されるものではなく、これら中央制御局3b、3c、3dと親サーバコンピュータ6aとを専用回線等にて接続すること等は任意とされる。
また、情報の発信等を行うコンテンツ提供者にも、前記インターネット網4を介して前記配信センター5に設置された親サーバコンピュータ6aとデータ通信可能に接続されたコンピュータ端末7が設置されており、これらコンピュータ端末7を用いて前記親サーバコンピュータ6aにアクセスして、該親サーバコンピュータ6aにてアクセス利用者に提供するコンテンツデータの更新を実施できるようになっている。
また、本実施例において前記親サーバコンピュータ6a並びに子サーバコンピュータ6b,6cには、図7に示すように、各キャリア並びにキャリアにおいて使用されている携帯電話端末の端末情報や閲覧ソフトであるブラウザの情報等が登録されている端末情報テーブルや、各端末やブラウザにて使用されている絵文字等の変換情報が登録されている絵文字テーブルが登録されているが、これら端末情報テーブル並びに絵文字テーブルは、新たな機種や新たなバージョンが逐次リリースされるため、これらに対応するために、逐次情報の追加、更新を行う必要があることから、これら端末情報テーブル並びに絵文字テーブルの更新を行う更新用コンピュータ端末8を管理センターに設置し、該更新用コンピュータ端末8に前記親サーバコンピュータ6aがインターネット網4を介して定期的にアクセスすることで、該親サーバコンピュータ6a並びに子サーバコンピュータ6b,6cに登録されている端末情報テーブル並びに絵文字テーブルの更新を行うようになっている。
この本実施例において用いた親サーバコンピュータ6aの構成は、図2(a)に示すように、親サーバコンピュータ6a内部にてデータの送受を行うデータバス20に、該親サーバコンピュータ6aの動作制御、特にはアクセスしてきたインターネット端末1a,1b,1c,1dとのデータ授受(セッション)の状況を管理する制御を所定の処理プログラムに基づき実施するとともに、配信するコンテンツデータを配信先のインターネット端末1a,1b,1c,1dの各社キャリアのアクセス方式に合致したファイル形式に変換する処理をファイル変換プログラムである「クロスサブレット(X−Servlet)エンジン」に基づき実施する中央演算処理装置(CPU)21、前記変換処理における処理データ等の一時記憶等を行うためのRAM24、セッション管理に必要とされる現在の時刻やアクセス時間等の時間情報を出力可能とされたリアルタイムクロック(RTC)26と、前記インターネット網4とのデータ通信を可能とする第1の通信インターフェイス22と、前記ハブを通じて各子サーバコンピュータ6b,6cとの比較的高速な双方向通信を行う第2の通信インターフェイス27と、ディスプレイ等の表示装置23と、磁気ディスクや光磁気ディスクから成り、前記中央演算処理装置(CPU)21が実施する各種制御内容が記述された制御プログラムや前記ファイル変換プログラムである「クロスサブレット(X−Servlet)エンジン」、並びにコンテンツ提供者からの提供情報が登録されたコンテンツデータベース(DB)と、各キャリア並びにキャリアにおいて使用されている携帯電話端末の端末情報や閲覧ソフトであるブラウザの情報等が登録されている端末情報テーブルや、各端末やブラウザにて使用されている絵文字等の変換情報が登録されている絵文字テーブルや各アプリケーションプログラム等が記録された記憶装置25と、が接続された比較的高速の処理が実施可能な通常のコンピュータとされており、該サーバーには、前記各種インターネット端末1a,1b,1c,1dよりアクセスする際に使用可能な単一(共通)のサーバアドレス(URL)が付与されている。
また、本実施例において用いた前記子サーバコンピュータ6b(サーバ1;S1)並びに子サーバコンピュータ6c(サーバ2;S2)の構成は、図2(b)に示すように、前記親サーバコンピュータ6aの構成とほぼ同一とされているが、前記インターネット網4とのデータ通信を可能とする第1の通信インターフェイス22には何も接続されておらず、前記インターネット網4へは第2の通信インターフェイス27にて接続されている前記親サーバコンピュータ6aを介して接続されているとともに、図12に示すように、各子サーバS1,S2には、アプリケーションAとアプリケーションBとが登録されている。
次いで、本実施例の親サーバコンピュータ6a並びに子サーバコンピュータ6b,6cとが協調して各社キャリアのコンピュータ端末1a並びに携帯電話端末1b、1c、1dにコンテンツデータの配信を行う状況の処理概要を、図3に基づき説明すると、例えばキャリアB社の携帯電話端末1bより親サーバコンピュータ6aへアクセスした場合には、まず親サーバコンピュータ6aが該携帯電話端末1bからの要求(リクエスト)メッセージの先頭に含まれるURLパスパラメータ(URL Pathparameters)にセッション情報が含まれているかの確認を実施するとともに、該セッション情報の有無や子サーバコンピュータ6b,6cの各アプリケーションの負荷状況等に応じて該要求(リクエスト)メッセージを子サーバコンピュータ6b,6cへ振り分け、該振り分けられた子サーバコンピュータ6b,6cにおいては、該要求メッセージのヘッダに含まれているユーザーエージェント情報より、該携帯電話端末1bのキャリアの種別とその端末の機種を特定可能な情報を抽出し、この情報に該当するキャリアのアクセス方式(マークアップ言語)の種別や端末の表示性能等の情報を、前記端末情報テーブルより入手するとともに、前記要求メッセージにより要求されたコンテンツデータをコンテンツデータベースより入手する。
このコンテンツデータベースより読み出されたコンテンツデータは、アクセスしてきた携帯電話端末1bのキャリア会社Bのアクセス方式であるHDML形式のファイルに変換されるとともに、該ファイル変換において、前記にて入手した携帯電話端末1bの端末情報である表示性能等の情報に基づき、該携帯電話端末1bの表示装置(LCDパネル)の表示行数並びに桁数に合致したレイアウトの表示となるように、前記変換されたHDMLファイルが例えばページ分割される等のように適宜に修正されて携帯電話端末1bへ送信、配信されるようになっており、図3に示すように、アクセスしてきた端末が前記キャリアA社のコンピュータ端末1aであればHTMLのファイル形式に、アクセスしてきた端末が前記キャリアC社或いはキャリアD社である場合には、それぞれMML並びにC―HTMLのファイル形式にそれぞれ変換されてコンテンツデータが送信、配信されることで、これら全てのアクセス端末は同一のURLアドレスの親サーバコンピュータ6aを通じて各子サーバコンピュータ6b,6cよりコンテンツデータを入手できるようになることから、コンテンツの提供者は、提供する情報を前記親サーバコンピュータ6a並びに子サーバコンピュータ6b,6cに登録、更新することで、同一のサーバアドレス(URL)にてキャリアの異なる携帯電話やコンピュータ端末の全てにコンテンツを配信することができるようになっている。
以下に、本実施例の親サーバコンピュータ6aのコンテンツデータの提供処理の内容を図4を主体に各詳細図面を併用して詳述する。
まず、アクセス利用者が使用する前記コンピュータ端末1aや携帯電話携帯電話端末1b、1c、1d(本実施例においてはこれらを総称してインターネット端末と呼称する)からの要求メッセージは、親サーバコンピュータ6aにおいて起動しているサーブレットエンジンにて受信され、該要求メッセージの先頭部分に図5に示すように付与されているURLパスパラメータ(URL Pathparameters)を入手し、該入手したURLパスパラメータ(URL Pathparameters)にセッション情報であるセッションIDが含まれているかの確認が実施される。(図13参照)
この確認においてセッションIDが存在する場合には、継続セッションであるとして、該セッションIDに該当する子サーバコンピュータ6b,6cをセッションデータベース(DB)を参照して特定し、例えば、前回のセッションを行ったのがサーバS1の子サーバコンピュータ6bである場合には、同一の子サーバコンピュータ6bに対し要求メッセージが可能な限り振り分けられるようになっている。
この振り分けの際における振り分け制御の方法は、後述するセッション管理の手法における管理データによって適宜に更新設定される最大振り分け上限要求メッセージ数(Mx)に基づいて、前記アプリケーションの最低保障要求メッセージ処理数(Nx)を確保できるように要求メッセージの振り分けが実施されるようになっているが、この手法を説明するには前記セッション管理の手法における管理データを理解する必要があるために、まず前記セッション管理の手法の説明の後に詳述する。
このようにして、各子サーバコンピュータ6b,6cに割り振られた要求メッセージからは、キャリアや端末の型式を特定可能な端末タイプIDやセッションID、パラメータ等が抽出されてクロスサブレットコアプログラムに送られる。
この端末タイプIDの取得する方法としては、図5に示すように、要求メッセージの先頭に位置して送信されてくるHTTPヘッダ中に、ユーザーエージェント情報が含まれており、該ユーザーエージェント情報には、図5にあるように、各キャリアに固有の情報が記述されているとともに、該要求メッセージを送信したインターネット端末の機種やブラウザのバージョン情報等も記述されていることから、これら記述内容がどのキャリア並びにどの型式の端末に合致するのかを、図7に示す端末情報テーブルと照合することにより特定することができる。
この抽出されたユーザーエージェント情報中の記述データに基づき端末タイプの特定を行う端末タイプ識別処理の具体的な処理内容は、図6に示すようになっており、前記ユーザーエージェント情報の記述データの取得に基づき、該記述データ中に含まれるキャリア名並びに端末の型式(機種)を示唆する単語を検出する。
次いで、該検出したキャリア名や端末機種名を検索キーワードとして端末情報テーブルを検索する。この際、該当する登録がない場合には、機種特定情報を「デフォルト」として、再度、端末情報テーブルを検索する。これでも該当しない場合には、キャリア示唆情報を「デフォルト」とする。このようにして決定したキャリア示唆情報及び機種特定情報に該当する登録情報、例えばマークアップ言語の形式やコンテンツの最大バイト数、表示画面の行数や文字数等を端末情報テーブルから取得し、以降のコンテンツ変換処理等に適用する。
尚、前記キャリア名並びに端末の型式(機種)を示唆する単語が未抽出或いは前記端末情報テーブルの検索において該当するものが存在しない場合においては、前記端末情報テーブルに登録されているキャリア各社並びに端末機種の各情報を、アクセス利用者が選択入力できるように構成されたデータ入力画面を要求メッセージを送信したインターネット端末に返信し、アクセス利用者によりキャリア会社並びに端末機種が選択された場合においては、該選択されたキャリア会社並びに端末機種関する情報を端末情報テーブルを検索して取得する。
このように、要求メッセージよりキャリア会社並びに端末機種を特定できない場合において、アクセス利用者のインターネット端末にデータ入力画面を返信してキャリア会社並びに端末機種関する情報を受け付けるようにすることは、これらキャリア会社並びに端末機種が不特定であるために、以降のコンテンツ変換処理等において不適切な変換処理が為されてしまう不都合を回避できることから好ましいが、本発明はこれに限定されるものではない。
これら端末タイプ識別処理等において使用される本実施例に用いた端末情報テーブルの構成は、図7に示すようになっており、各キャリア会社に対応する「ブラウザ」の「名前」、機種に対応する「端末」の「名前」、受信可能なコンテンツに関する情報(「マークアップ言語」の「名前」、コンテンツの文字コード、コンテンツの最大バイト数)、端末画面の大きさに関する情報(「画面」の「横文字数」及び「縦行数」)、表示可能な画像に関する情報(「画像」の「フォーマット」、「横ピクセル数」、「縦ピクセル数」、「縦横比」、「アニメーション可否」、「カラーモード」、「色/階調数」)等の各情報が登録されており、これら端末情報テーブルは、後述する更新処理により定期的に最新のものに更新されている。
次いで、クロスサブレットコアプログラムにおいては、図4に示すように、セッション情報の取得処理が実施され、これらセッション情報の具体的な処理内容は図11に示すようになっている。つまり、本実施例においては、予め定められた有効期限時間T0が設定されており、該有効期限時間T0間隔で区切られた時系列のグループ集合[G0,G1]と時系列に依らないグループ集合G(other)を各アプリケーション毎に形成し、セッションが前記予め定められた有効期限時間T0以下の場合にはそのアプリケーションのG0集合に、セッションが前記予め定められた有効期限時間T0よりも大きい場合には、そのセッションIDをそのアプリケーションのG(other)集合に格納して管理する。
ここで、G0集合は、ある時刻から前記予め定められた有効期限時間T0の間にアクセスのあった全てのセッション(ただし、有効期限が前記有効期限時間T0以下であるもの)を管理する集合である。また、現在の時刻が「ある時刻から前記有効期限時間T0を加えた時刻」を経過した場合には、G0集合をG1集合と名前を更新して管理する。そして、新たに、G0集合を「現在の時刻から前記有効期限時間T0を加えた時刻まで」と再定義して形成する。なお、G0集合をG1集合に更新する場合に、既にG1集合が存在する場合(古いG1集合がある場合)には、その古いG1集合(つまりはG2集合に該当)に含まれる内容を全て破棄する。これにより、古くなった無効セッションを効率的に削除できるようになる。
ここで、要求メッセージにセッションIDが含まれている場合、セッションIDの有効期限をチェックし、有効でない場合には、当該セッションを破棄して新規のセッションIDを作成、付与するとともに、前記要求メッセージにセッションIDが含まれていない場合にも、新規のセッションとしてセッションIDを作成、付与し、G0集合もしくはG以外(other)集合に格納する。
また、前記要求メッセージにセッションIDが含まれている場合で、該セッションIDが有効である場合には、当該セッションのラストアクセスタイムを更新して、G0集合もしくはG以外(other)集合に格納する。
尚、このセッションIDの格納の際、そのセッションを実施したサーバの番号(S1またはS2)が前記セッションIDとともにG0集合もしくはG以外(other)集合に、図15に示すように登録され、前記親サーバコンピュータ6aが行う要求メッセージの振り分け処理に使用される。
この前記親サーバコンピュータ6aが行う要求メッセージの振り分け処理について図13に基づいて詳述すると、親サーバコンピュータ6aは、セッション情報のサーバ間通信のコストを最低限に抑えるため、要求メッセージにセッションIDが含まれている場合は、そのセッションIDの発行元サーバ情報(セッション情報G0、G1、Gotherに含まれている)に基づき、発行元のサーバへの振分を試みる。
この際、高負荷等のために当該サーバに振分けることが困難な場合は、新規要求の場合と同じ手順で他のサーバに振分けるものとする。なお、このような場合には、新たに振分け先となったサーバがセッション発行元のサーバからセッション情報を受信するとともに、セッションIDの発行元サーバ情報を更新する。
このとき、例えば本実施例のようにサーバS2で、2つのアプリケーションA,Bが動作している場合、アプリケーションAのリクエストが一方的に増大すると、アプリケーションBの処理が圧迫され、該アプリケーションBが所望する最低保障要求メッセージ処理数(Nb)すら処理できなくなる可能性がある。
このような事態を避けるため、本実施例では図13に示すように、前記予め定められた有効期限時間T0区間ごと、つまりは各アプリケーションの前記G0、G1に格納されているセッションIDが該当する到達リクエスト数Rxと並びにその平均処理時間Zとを用いて、各アプリケーション毎の最大振り分け上限要求メッセージ数(Mx)を逐次更新することで、各アプリケーション毎のリクエストの割振り比率を動的に変更することで、前記最低保障要求メッセージ処理数(Nb)の処理を最低限確保できるようにしている。
具体的には、前記サーバS2のアプリケーションBにおいて最低保障要求メッセージ処理数(Nb)を確保するために、該サーバS2のアプリケーションBにおける前記G0時刻区間内での振分リクエスト数が該アプリケーションBへの最大振り分け上限要求メッセージ数(Mb)に達しているかの判定を実施し、該判定においての振分リクエスト数が該アプリケーションBへの最大振り分け上限要求メッセージ数(Mb)に達していない場合には、そのサーバを振り分け先に選定する。
また、前記判定においての振分リクエスト数が該アプリケーションBへの最大振り分け上限要求メッセージ数(Mb)に達している場合には、予め定められた所定順序にて次の振分先候補である他サーバの選定を行い、他に振分先候補が存在する場合にはその振分先候補について前記と同様に該振分先候補のサーバにおいてアプリケーションBにおける前記G0時刻区間内での振分リクエスト数がアプリケーションBへの最大振り分け上限要求メッセージ数(Mb)に達しているかの判定を行い、その振分先候補でも最大振り分け上限要求メッセージ数(Mb)に達している場合には、更に他の振分先候補というように、順次判定を繰返し実施していく。
尚、全てのサーバについて前記最大振り分け上限要求メッセージ数(Mb)に達しているかの判定を実施して新たな振分先候補が存在しない場合には、最も処理負荷の低いサーバを振り分け先のサーバに選定して振り分けを行う。
これら各処理の後、その時点の時間が前記予め定められた有効期限時間T0を経過している場合には、前述のように、それまでのG0集合が新たなG1集合に更新されることから、該新たなG1に基づいて各アプリケーションA,Bの最大振り分け上限要求メッセージ数(Ma,Mb)を更新する。
この更新処理の具体的処理内容は、図14に示すようになっており、新たなG0集合におけるそのアプリケーションのリクエスト総数と前記そのアプリケーションの最低保障要求メッセージ処理数(Nx)とを比較して、アプリケーションのリクエスト総数が最低保障要求メッセージ処理数(Nx)を越える場合には、該アプリケーションへの振り分けの比率が相対的に低くなるように、そのアプリケーションへの最大振り分け上限要求メッセージ数(Ma,Mb)が更新され、該更新された最大振り分け上限要求メッセージ数(Ma,Mb)が前記最大振り分け上限要求メッセージ数(Mb)に達しているかの判定に使用されるようになっている。
この後、コンテンツの取得、変換等の処理をおこない、処理結果をユーザに応答する前に、HTTP Cookieが使用可能であれば、セッションIDをCookieに設定してコンテンツ処理結果とともにユーザに応答する。Cookieが使用不可の場合には、コンテンツに含まれる全てのリンク先URLに対して、セッションID情報を付加してユーザに応答する。尚、前記HTTP Cookieが使用可能であっても、該HTTP Cookieをあえて使用しないようにしても良い。
次いで、前記要求メッセージ中に含まれている絵文字並びに文字コードを、前記端末タイプ識別処理にて取得したキャリア会社並びに端末機種の情報に該当して絵文字テーブルに登録されている変換内容に基づき、該当する絵文字や文字コードを所定のものに変換する。
これら所定の文字コードに変換された要求メッセージに基づき、要求されているコンテンツデータを特定し、該当するコンテンツデータをコンテンツデータベース(DB)より取得し、ドキュメントオブジェクトモデル(DOM)を作成する。
これらドキュメントオブジェクトモデル(DOM)の作成後において、スクリプト実行処理がなされる。本実施例におけるスクリプト実行処理の処理内容は、要求メッセージに基づき前記にてコンテンツデータベース(DB)より取得したコンテンツにスクリプト(ユーザ端末上で処理されるプログラムの一種)が含まれている場合には、該スクリプトをサーバ上で実行し、変数等の値を設定して、表示すべき画面の内容を確定する。
この確定した内容に対して、コンテンツの変換、絵文字の変換処理を行い、ユーザに応答する。この際、コンテンツの変換においては標準的なスタイルシートが提供されるようになっている。なお、スクリプトは、ユーザの操作に応じて、変数等の値を変化させ、表示画面をユーザ端末上の処理のみで変化させるというために用いるが、本実施例の場合には、ユーザの操作結果は、サーバ側に要求メッセージとして伝達され、サーバ側でこの処理を実施するようになっている。
このようにすることは、コンテンツに含まれる形式のスクリプトを処理する能力のないインターネット端末に対するコンテンツの提供を可能とするばかりか、これらスクリプトの処理に伴うインターネット端末における処理負荷を大幅に低減できることから好ましいが、本発明はこれに限定されるものでははい。
これらスクリプト処理の後に、コンテンツデータの変換処理を実施する。本実施例におけるコンテンツデータの変換処理の内容は、図9に示すようになっており、要求メッセージで要求されているコンテンツが既に変換済みでありキャッシュに存在する場合、キャッシュから指定のコンテンツの指定のページを取得してユーザに応答する。キャッシュに存在しない場合、サーブレット等のサーバサイドのアプリケーションプログラムを実行する等によりコンテンツを取得し、端末情報に基づき、コンテンツの変換を行う。
このとき、変換後のサイズが端末で受信可能なコンテンツサイズ(端末情報テーブルにて特定済み)を超えている場合には、取得したコンテンツを末尾から見ていって、区切れる部分(選択リスト、チェックボックス、テーブルブル等の構造要素の区切り)で区切って分割し、その最初の分割パートに対して、再度、コンテンツの変換、絵文字の変換を行う。これをコンテンツのサイズが端末で受信可能なサイズになるまで繰り返し実施し、各ページに「前ページ」或いは「次ページ」の一方または両方のリンクを付与し、この分割された各ページがユーザに応答するページとなる。そして、始めのコンテンツの未処理部分について、同様にコンテンツの変換、絵文字の変換、サイズのチェックを繰り返し、全てのコンテンツを変換し、すべてのページを作成し、キャッシュに登録する。この後、ユーザには指定のページ(パージ指定がない場合は、最初のページ)を応答する。
これらファイル変換処理におけるページ分割による表示状況を図10に基づき説明すると、コンテンツのサイズが端末で受信可能(表示可能)なサイズ(文字数)を越えている場合には、コンテンツをページ分割しないと、図10に示すようにコンテンツの一部が表示されないか或いはコンテンツ全体が表示されなくなくなってしまう。
これに対し、前述のようにページ分割を実施した場合には、図10に示すように、分割された各ページを順次移動することで全てのコンテンツ内容を漏れなく表示させることが可能となり、これら分割されたページを移動する際には、本実施例のように「前ページ」或いは「次ページ」の一方または両方のリンクを付与することで、ページ間に移動を容易に実施できるようになることから好ましいが、本発明はこれに限定されるものではない。
これらファイル変換されたコンテンツデータ中に引用画像が存在する場合には、該引用画像の画像データ変換の処理を実施する。具体的には、図8に示すように、要求メッセージの中で画像が要求されている場合、指定の画像名(例えば、a.gifとする)と、識別した端末名(例えば、N502iとする)をキーとして、キャッシュを検索する。該当するデータがキャッシュに存在した場合、指定画像a.gifのダイジェスト値を計算し、保存してあるダイジェスト値と比較する。
両者が一致した場合には、指定画像は変更されていないとして、キャッシュに保存されてある変換ずみ画像データをレスポンスとしてユーザに応答する。この場合以外は、ユーザ端末の仕様と比較して、指定の画像a.gifのサイズが大きい場合には圧縮処理を、色数が多い場合には減色処理を、フォーマットが異なる場合にはフォーマット変換を行い、処理結果をユーザに応答する。このとき、a.gifに対するダイジェスト値がキャッシュに既に存在し、かつ、それが今回算定した値と異なる場合は、a.gifに関するキャッシュ内容を全て破棄する。そして、a.gifのダイジェスト値、並びに、画像名a.gifと端末名N502iをキーとして変換後の画像をキャッシュに格納する。
このように、画像データの変換に際して変換済みの画像データに該当するものが既にキャッシュに存在するか否かを判別し、存在する場合には変換処理を行うないようにすることは、これら画像変換処理に伴う処理負荷を低減できることから好ましいが、本発明はこれに限定されるものではなく、一義的に画像変換を実施してキャッシュのデータを更新するようにしても良い。
また、これら画像データの変換とともに、変換されたコンテンツデータ中における絵文字並びに文字コードの変換処理を実施する。これら処理内容は、前記要求メッセージにおける絵文字と文字コードの変換と合わせて一連の処理として説明すると、要求メッセージで指定されたURLがサーブレット等のサーバサイドプログラムの実行である場合、要求メッセージに含まれる絵文字コードを「絵文字テーブル」を検索することによって、統一絵文字コードに変換する。また、要求メッセージを指定のサーバサイドプログラムが想定する文字コードに変換する。この後、サーバサイドプログラムを実行し、結果としてコンテンツを取得する。
要求メッセージで指定されたURLがサーバサイドプログラムの実行でない場合、指定のURL、例えば前記コンテンツ提供者のコンピュータ端末7よりコンテンツを取得するようにしても良い。
このようにして得られたコンテンツの文字コードを出力端末の文字コードに変換するとともに、コンテンツに含まれる全ての絵文字コードを「絵文字テーブル」を検索することによって出力端末用の絵文字コードに変換し、ユーザに応答する。
尚、前記「絵文字テーブル」や「情報端末テーブル」の更新は、図16に示す更新処理を定期的に実施し、前記管理センターのコンピュータ端末8にアクセスして更新することで、逐次最新のデータに更新されるようになっている。具体的には、定期的に前記管理センターのコンピュータ端末8にアクセスして問合せを発行し、該コンピュータ端末8に登録されている「端末情報データベース」の更新時刻を取得する。この時刻が親サーバコンピュータ6aにて管理する時刻よりも新しくなっている場合には、コンピュータ端末8へ要求メッセージを発行し、該コンピュータ端末8より絵文字テーブル」や「情報端末テーブル」をダウンロードして、親サーバコンピュータ6aで登録している内容を更新するとともに、該親サーバコンピュータ6aが各子サーバコンピュータ6b,6cの「絵文字テーブル」や「情報端末テーブル」を更新する。
以上、本実施例のようにすれば、有効なセッション識別情報が必ずG[nT0,(n+1)T0]である前記G0集合並びにG[(n−1)T0,nT0]であるG1の和集合に存在するとともに、無効となったセッション識別情報の削除を、新たなG[(n−2)T0,(n−1)T0]であるG2に登録、管理されているセッション識別情報を削除することで、少ない負荷にて効率良く実施できるようになるため、短期間に極めて多くのアクセスが集中した場合においても、アクセス数の増大とともに増大するセッション情報の維持管理に伴ってレスポンスが低下してしまうことを大幅に改善することができる。
以上、本発明の実施形態を図面により前記実施例にて説明してきたが、本発明はこれら実施例に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。
例えば、前記実施例においては、前記各キャリア会社A、B、C、D社の各アクセス方式に対応するように、配信するコンテンツデータを各アクセス方式に対応する記述形式に変換しているが、本発明はこれに限定されるものではなく、単一のキャリア会社B社の携帯電話端末等においても多くの機種が存在し、その中にはスクリプトを実施可能なものもあればスクリプトを実施不可能なものもあることから、単一のアクセス方式にのみ対応するサーバコンピュータに本発明を適用するようにしても良い。
また、前記実施例においては、サーバコンピュータをクラスタ化された構成としているが、本発明はこれに限定されるものではなく、これらサーバコンピュータ1つのサーバコンピュータとしたり、逆に更に多くの子サーバコンピュータを設けた構成としても良い。
更に、前記実施例では、コンテンツデータベースに登録されているコンテンツデータから変換される変換ファイルの形式としてHDML形式、C−HTML形式、MML形式を例示したが、本発明はこれに限定されるものではなく、これらファイル形式を次世代のファイル形式であるXHTML方式としても良い。
また、本実施例では、コンテンツデータベースに登録されているコンテンツデータからから直接各ファイル形式への変換を実施しているが、本発明はこれに限定されるものではなく、これら各ファイル形式への変換において、中間ファイルとして一度XML形式のファイルへの変換を実施した後、所望の各形式のファイルへの変換を実施するようにしても良い。
【図面の簡単な説明】
第1図は、本発明の実施例におけるセッション管理方法が適用されたコンテンツ提供システムの構成を示すブロック図である。
第2図(a)は、本発明の実施例にて用いた前記コンテンツ提供サーバを構成する親サーバの構成を示すブロック図である。
(b)は、本発明の実施例にて用いた子サーバの構成を示すブロック図である。
第3図は、本発明の実施例において用いた「クロスサブレット(X−Servlet)エンジン」における処理内容を示す説明図である。
第4図は、本発明の実施例において用いた「クロスサブレット(X−Servlet)エンジン」における処理内容を示す全体フロー図である。
第5図は、本発明の実施例においてアクセス利用者のインターネット端末から送られてくる要求メッセージよりセッション情報並びに端末情報を取得する手法を示す図である。
第6図は、本発明の実施例における端末タイプ識別処理における処理内容を示すフロー図である。
第7図は、本発明の実施例において用いた端末情報データベースの構成を示す図である。
第8図は、本発明の実施例における引用画像の画像データの変換処理の内容を示すフロー図である。
第9図は、本発明の実施例におけるコンテンツデータの変換処理の内容を示すフロー図である。
第10図は、本発明の実施例におけるコンテンツデータの変換処理においてページ分割された画面例を示す図である。
第11図は、本発明の実施例におけるセッション管理の処理内容を示すフロー図である。
第12図は、本発明の実施例におけるクラスタ構成とされたサーバにおける要求メッセージ(リクエスト)の振り分け処理の手法についての説明図である。
第13図は、本発明の実施例における振り分け処理の処理内容を示すフロー図である。
第14図は、本実施例の振り分け処理における各アプリケーションの最大振り分け上限要求メッセージ数(Mx)の更新処理内容を示すフロー図である。
第15図は、本実施例において用いたセッションデータベースの構成を示す図である。
第16図は、本発明の実施例における前記端末情報テーブル並びに絵文字テーブルの更新処理の内容を示すフロー図である。
符号の説明
1a コンピュータ端末
1b、1c、1d 携帯電話端末
2b、2c、2d 基地局
3b、3c、3d 中央制御局
4 インターネット網
5 配信センター
6a 親サーバコンピュータ(S0)
6b、6c 子サーバコンピュータ(S1,S2)
7 コンピュータ端末(コンテンツ提供者)
8 コンピュータ端末(管理センター)
20 データバス
21 中央演算処理装置(CPU)
22 第1通信インターフェイス
23 表示装置
24 RAM
25 記憶装置
26 リアルタイムクロック(RTC)
27 第2通信インターフェイス
本発明は、インターネットに接続可能なインターネット端末へコンテンツデータを提供する際のセッション管理方法に関する。
背景技術
近年、コンピュータのオープンネットワークであるインターネットの普及が目さましく、その利用状況も個人のパソコン所有率が向上するとともに、企業のビジネス利用から個人利用へと移行しており、インターネットの利用人口も急増してきいる。
一方、近年の携帯電話の普及に伴い、これら携帯電話からインターネットへの接続を可能とするインターネット接続サービスが提供されるようになり、これら携帯電話によるインターネットへの接続は、移動中であっても所望の情報や音楽や画像等の各種のコンテンツを入手することが可能となることから、その利用者が急増しており、今後においてもこれら携帯電話等の無線回線を通じてインターネットにアクセスできるモバイル通信の利用人口は、その利便性や情報入手の迅速性から益々増加するものと予測されている。
このように、数年前までは一部の人のものであったインターネットが、前記のように、パソコンの家庭への普及とインターネット接続機能を持った携帯電話の広がりと共に、多くの人にとって欠かせない情報手段(道具)となってきている。
そのため企業戦略を考える上で広報や宣伝そしてEC(エレクトリックコマース)サイトとして、企業が情報等のコンテンツを提供或いは発信するためにWebサーバーを設置することが不可欠なこととなってきている。
しかしながら、従来においてこれらコンテンツの提供を行うWEBサーバにおけるセッション管理の手法は、同一ユーザからの一定の時間間隔内での要求を、先の要求と同一のセッションに含まれるとしてセッションを管理しており、この一定の時間間隔は、WEBサーバ側で設定されるようになっているため、該WEBサーバ側で管理されるセッション情報は、有効セッション及び無効セッションを含め、ユーザからの新規アクセスとともに増大することから、これらセッション情報の増大に伴いWEBサーバのレスポンスが悪化してしまうと共に、サーバ上のリソースが欠乏する一因ともなっている。また、無効セッションをサーバ上から削除する処理は、ユーザからの要求到着時に行うセッション情報の参照処理と排他的に実施する必要があるため、これも、レスポンスを悪化させる一因となっており、これらレスポンス悪化の状況が、短時間に極めて多くのアクセスがバースト的に集中する前記モバイル端末によるアクセスにおいて特に顕著となってしまうという問題があった。
よって、本発明は上記した問題点に着目してなされたもので、短期間に極めて多くのアクセスが集中した場合においても、アクセス数の増大とともに増大するセッション情報の維持管理に伴ってレスポンスが低下してしまうことを大幅に改善することのできるセッション管理方法を提供することを目的としている。
発明の開示
前記した問題を解決するために、本発明のコンテンツ提供におけるセッション管理方法は、インターネット網に接続可能なインターネット端末に対し、該インターネット網に接続されたサーバコンピュータを用いてコンテンツデータを提供する際のセッション管理方法であって、
予め定められた所定時間幅;T0毎に区切られた時系列集合G[nT0,(n+1)T0但しnは0以上の整数]を形成する時系列集合形成ステップと、
前記インターネット端末より送信されてくる要求メッセージ中に含まれるセッション識別情報の有効期間が前記所定時間幅;T0以下である場合において、該セッション識別情報を該セッション識別情報の該当する前記時系列集合G[nT0,(n+1)T0]に登録、管理するセッション情報登録ステップと、
現在の実時間がnT0〜(n+1)T0の範囲となった際に、古い集合となったG[(n−2)T0,(n−1)T0]に登録、管理されているセッション識別情報を削除する削除ステップと、
を少なくとも含むことを特徴としている。
この特徴によれば、サーバコンピュータは、有効なセッション識別情報が必ずG[nT0,(n+1)T0]並びにG[(n−1)T0,nT0]の和集合に存在するとともに、無効となったセッション識別情報の削除を、前記G[(n−2)T0,(n−1)T0]に登録、管理されているセッション識別情報を削除することで、少ない負荷にて効率良く実施できるようになるため、短期間に極めて多くのアクセスが集中した場合においても、アクセス数の増大とともに増大するセッション情報の維持管理に伴ってレスポンスが低下してしまうことを大幅に改善することができる。
本発明のコンテンツ提供におけるセッション管理方法は、前記インターネット端末より送信されてくる要求メッセージ中のセッション識別情報の有効期間が、前記所定時間幅;T0よりも大きい場合において、前記時系列集合G[nT0,(n+1)T0]とは異なる時系列に依存しない特定集合G[other]集合に登録、管理することが好ましい。
このようにすれば、仮にセッション識別情報の有効期間が、前記所定時間幅;T0よりも大きなものが存在しても、そのセッション識別情報の登録が為されて管理可能となるため、前記前記所定時間幅;T0をサーバ管理者が任意に設定できるようになる。
本発明のコンテンツ提供におけるセッション管理方法は、前記サーバコンピュータは、前記セッション管理処理を行う親サーバコンピュータと、該親サーバコンピュータに比較的高速の通信手段から成るローカルエリアネットワーク(LAN)を介して接続され、提供する各種コンテンツが同様に登録された複数の子サーバコンピュータから成るクラスタ化構造とされ、前記親サーバコンピュータは、前記セッション識別情報に対応付けて該セッション識別情報が含まれている要求メッセージに対応するコンテンツ提供処理を行う子サーバコンピュータを識別可能な識別情報を登録、管理し、前記セッション識別情報に該当する新たな要求メッセージが前記インターネット端末より送信されてきた場合に、該新たな要求メッセージに含まれるセッション識別情報に対応して登録されている子サーバコンピュータを特定し、該子サーバコンピュータに要求メッセージの振り分けを行う振り分けステップを含むことが好ましい。
このようにすれば、親サーバコンピュータ並びに子サーバコンピュータによるクラスタ化構成とされたサーバコンピュータにおいても、継続するセッションによるコンテンツ提供を同一のサーバコンピュータにて実施できるようになるとともに、これらクラスタ化構成とされたサーバコンピュータにおけるセッション管理を効率よく実施できるようになり、より多くの短期間におけるアクセスに対応できるようになる。
本発明のコンテンツ提供におけるセッション管理方法は、前記子サーバコンピュータに登録されている複数の各アプリケーション毎に前記時系列集合G[nT0,(n+1)T0]を設け、且つ各アプリケーション毎に最大振り分け上限要求メッセージ数(Mx)を設定するとともに、現在の実時間において古い集合となった各アプリケーション毎のG[(n−1)T0,(n)T0]に登録されているセッション識別情報の数(Rx)と予め定められた各アプリケーションの最低保障要求メッセージ処理数(Nx)とを比較し、該比較において前記セッション識別情報の数(Rx)が大きい場合においては、該子サーバコンピュータの残余リソースを、該子サーバコンピュータに登録されている各アプリケーション毎に予め割り当てられた振り分け比率にて割り当てられるように前記最大振り分け上限要求メッセージ数(Mx)を更新し、前記親サーバコンピュータは、可能な限り前記最大振り分け上限要求メッセージ数(Mx)を越えないように要求メッセージの振り分けを行うことが好ましい。
このようにすれば、各アプリケーションの前記最低保障要求メッセージ処理数(Nx)を越えるセッションがあった場合において、そのアプリケーションが登録されている子サーバコンピュータへの要求メッセージの振り分けが、各アプリケーション毎に予め割り当てられた振り分け比率に、該子サーバコンピュータの残余リソースが振り分けられるように前記最大振り分け上限要求メッセージ数(Mx)が更新され、該上限要求メッセージ数(Mx)を越えないように実施されるようになるため、同一の子サーバコンピュータに登録されている他のアプリケーションへのアクセスが集中することに伴って該アプリケーションの処理が圧迫されてしまい、前記最低保障要求メッセージ処理数(Nx)のアクセス処理を確保できなくなってしまうことを回避できる。
本発明のコンテンツ提供におけるセッション管理方法は、前記インターネット端末へ配信するコンテンツデータを、該インターネット端末のアクセス方式に対応する記述形式に変換する記述形式変換ステップと、該記述形式変換ステップにて変換されたコンテンツデータを該インターネット端末に対して配信する配信ステップと、を含むことが好ましい。
このようにすれば、所定形式のファイル形式にてコンテンツデータをコンピュータ(サーバー)に登録しておくだけで、前記記述形式変換ステップにてアクセスしてきたインターネット端末のアクセス方式に対応した記述形式に前記コンテンツデータが変換されてアクセスしてきたインターネット端末に配信されるようになることから、従来のように、膨大なコンテンツの各要素をアクセス方式毎の各記述形式に予め変換しておく必要がなく、これらコンテンツデータを所定形式の1ファイル形式にて1元的に管理できるようになり、これらコンテンツの更新作業における時間や費用を大幅に削減でき、よって、これらコンテンツデータのメンテナンスや開発等を容易に実施することが可能となる。また、コンテンツデータを所定形式の1ファイル形式にて1元的に管理できることから、各記述形式毎にアドレス(URL)を設ける必要がなく、これらアドレス(URL)も各アクセス方式にて同一のものとすることができることから、アクセス利用者は使用しているインターネット端末の種別が異なる場合においても同一のアドレス(URL)を使用でき、利用者にとって解りやすく利便性を向上できる。
発明を実施するための最良の形態
以下、本発明の実施例を図面に基づいて説明する。
(実施例)
図1は、本発明のコンテンツ提供におけるセッション管理方法が適用されたファイル変換プログラムである「クロスサブレット(X−Servlet)エンジン」が搭載されたコンテンツ提供サーバにより構築された本実施例のコンテンツ提供システムの構成を示すブロック図であり、図2(a)は、本実施例にて用いた前記コンテンツ提供サーバを構成する親サーバ6aであるサーバS0の構成を示すブロック図であり、図2(b)は、本実施例にて用いた前記コンテンツ提供サーバを構成する子サーバ6b、6cであるサーバS1とサーバS2の構成を示すブロック図であり、図3は、本実施例に用いた前記「クロスサブレット(X−Servlet)エンジン」の処理概要を示す図であり、図4は、本実施例に用いた前記「クロスサブレット(X−Servlet)エンジン」における処理内容を示す全体フロー図であり、図5は、端末タイプ識別処理並びにセッション管理処理においてアクセス利用者のインターネット端末から送られてくる要求メッセージより端末情報並びにセッション情報を取得する手法を示す図であり、図6は、端末タイプ識別処理における処理内容を示すフロー図であり、図7は、本実施例において用いた端末情報データベースの構成を示す図であり、図8は、引用画像の画像データの変換処理の内容を示すフロー図であり、図9は、コンテンツデータの変換処理の内容を示すフロー図であり、図10は、コンテンツデータの変換処理においてページ分割された画面例を示す図であり、図11は、本実施例におけるセッション管理の処理内容を示すフロー図であり、図12は、本実施例のクラスタ構成とされたサーバにおける要求メッセージ(リクエスト)の振り分け処理の手法についての説明図であり、図13は、振り分け処理の処理内容を示すフロー図であり、図14は、本実施例の振り分け処理における各アプリケーションの最大振り分け上限要求メッセージ数(Mx)の更新処理内容を示すフロー図であり、図15は、本実施例において用いたセッションデータベースの構成を示す図であり、図16は、前記端末情報テーブル並びに絵文字テーブルの更新処理の内容を示すフロー図である。
まず、本実施例のコンテンツ提供システムは、図1に示す構成とされており、コンテンツ提供サービスを行う配信センター5には、アクセスしてきたインターネット端末よりの要求(リクエスト)メッセージの子サーバコンピュータ6b,6cへの振り分け処理等を実施する親サーバコンピュータ6aとから成るクラスタ構成とされて各コンテンツデータの配信を実施するサーバコンピュータが設置されており、該親サーバコンピュータ6aは、インターネット網4を介して通常の電話サービスを提供しているキャリアA社、に接続されているコンピュータ端末1aや、携帯電話サービスを提供しているキャリアB社、キャリアC社、キャリアD社の中央制御局3b、3c、3dにそれぞれ接続されていて、各携帯電話サービス会社であるキャリアB社、キャリアC社、キャリアD社のそれぞれに加入している無線端末であるそれぞれの携帯電話端末1b、携帯電話端末1c、携帯電話端末1dは、各キャリア会社の基地局2b、2c、2d並びに中央制御局3b、3c、3d並びに図示しないゲートウエイサーバを通じて前記インターネット網4に接続可能とされており、該インターネット網4を経由して前記配信センター5の親サーバコンピュータ6aにアクセスできるようになっている。
また、前記親サーバコンピュータ6aは、各子サーバコンピュータ6b,6cとハブ(Hub)を介して比較的高速の双方向通信が可能なように接続されており、前記コンピュータ端末1aや携帯電話端末1b、1c、1d等のインターネット端末から前記親サーバコンピュータ6aへの要求メッセージに伴うコンテンツの配信処理を、これら親サーバコンピュータ6aと子サーバコンピュータ6b,6cとが協調して実施できるようにされている。
これら本実施例にて使用される携帯電話は、各キャリア会社における所定のアクセス方式に対応したインターネット接続機能を有する通常の携帯電話を使用することができる。尚、本実施例では、無線端末を携帯電話としているが、本発明はこれに限定されるものではなく、簡易型携帯電話(パーソナルハンディホン;PHS)であっても良く、インターネット網4に接続可能なものであれば特に限定されるものではない。
また、本実際例では、前記親サーバコンピュータ6aをインターネット網4を介して各キャリア会社の中央制御局3b、3c、3dに接続しているが、本発明はこれに限定されるものではなく、これら中央制御局3b、3c、3dと親サーバコンピュータ6aとを専用回線等にて接続すること等は任意とされる。
また、情報の発信等を行うコンテンツ提供者にも、前記インターネット網4を介して前記配信センター5に設置された親サーバコンピュータ6aとデータ通信可能に接続されたコンピュータ端末7が設置されており、これらコンピュータ端末7を用いて前記親サーバコンピュータ6aにアクセスして、該親サーバコンピュータ6aにてアクセス利用者に提供するコンテンツデータの更新を実施できるようになっている。
また、本実施例において前記親サーバコンピュータ6a並びに子サーバコンピュータ6b,6cには、図7に示すように、各キャリア並びにキャリアにおいて使用されている携帯電話端末の端末情報や閲覧ソフトであるブラウザの情報等が登録されている端末情報テーブルや、各端末やブラウザにて使用されている絵文字等の変換情報が登録されている絵文字テーブルが登録されているが、これら端末情報テーブル並びに絵文字テーブルは、新たな機種や新たなバージョンが逐次リリースされるため、これらに対応するために、逐次情報の追加、更新を行う必要があることから、これら端末情報テーブル並びに絵文字テーブルの更新を行う更新用コンピュータ端末8を管理センターに設置し、該更新用コンピュータ端末8に前記親サーバコンピュータ6aがインターネット網4を介して定期的にアクセスすることで、該親サーバコンピュータ6a並びに子サーバコンピュータ6b,6cに登録されている端末情報テーブル並びに絵文字テーブルの更新を行うようになっている。
この本実施例において用いた親サーバコンピュータ6aの構成は、図2(a)に示すように、親サーバコンピュータ6a内部にてデータの送受を行うデータバス20に、該親サーバコンピュータ6aの動作制御、特にはアクセスしてきたインターネット端末1a,1b,1c,1dとのデータ授受(セッション)の状況を管理する制御を所定の処理プログラムに基づき実施するとともに、配信するコンテンツデータを配信先のインターネット端末1a,1b,1c,1dの各社キャリアのアクセス方式に合致したファイル形式に変換する処理をファイル変換プログラムである「クロスサブレット(X−Servlet)エンジン」に基づき実施する中央演算処理装置(CPU)21、前記変換処理における処理データ等の一時記憶等を行うためのRAM24、セッション管理に必要とされる現在の時刻やアクセス時間等の時間情報を出力可能とされたリアルタイムクロック(RTC)26と、前記インターネット網4とのデータ通信を可能とする第1の通信インターフェイス22と、前記ハブを通じて各子サーバコンピュータ6b,6cとの比較的高速な双方向通信を行う第2の通信インターフェイス27と、ディスプレイ等の表示装置23と、磁気ディスクや光磁気ディスクから成り、前記中央演算処理装置(CPU)21が実施する各種制御内容が記述された制御プログラムや前記ファイル変換プログラムである「クロスサブレット(X−Servlet)エンジン」、並びにコンテンツ提供者からの提供情報が登録されたコンテンツデータベース(DB)と、各キャリア並びにキャリアにおいて使用されている携帯電話端末の端末情報や閲覧ソフトであるブラウザの情報等が登録されている端末情報テーブルや、各端末やブラウザにて使用されている絵文字等の変換情報が登録されている絵文字テーブルや各アプリケーションプログラム等が記録された記憶装置25と、が接続された比較的高速の処理が実施可能な通常のコンピュータとされており、該サーバーには、前記各種インターネット端末1a,1b,1c,1dよりアクセスする際に使用可能な単一(共通)のサーバアドレス(URL)が付与されている。
また、本実施例において用いた前記子サーバコンピュータ6b(サーバ1;S1)並びに子サーバコンピュータ6c(サーバ2;S2)の構成は、図2(b)に示すように、前記親サーバコンピュータ6aの構成とほぼ同一とされているが、前記インターネット網4とのデータ通信を可能とする第1の通信インターフェイス22には何も接続されておらず、前記インターネット網4へは第2の通信インターフェイス27にて接続されている前記親サーバコンピュータ6aを介して接続されているとともに、図12に示すように、各子サーバS1,S2には、アプリケーションAとアプリケーションBとが登録されている。
次いで、本実施例の親サーバコンピュータ6a並びに子サーバコンピュータ6b,6cとが協調して各社キャリアのコンピュータ端末1a並びに携帯電話端末1b、1c、1dにコンテンツデータの配信を行う状況の処理概要を、図3に基づき説明すると、例えばキャリアB社の携帯電話端末1bより親サーバコンピュータ6aへアクセスした場合には、まず親サーバコンピュータ6aが該携帯電話端末1bからの要求(リクエスト)メッセージの先頭に含まれるURLパスパラメータ(URL Pathparameters)にセッション情報が含まれているかの確認を実施するとともに、該セッション情報の有無や子サーバコンピュータ6b,6cの各アプリケーションの負荷状況等に応じて該要求(リクエスト)メッセージを子サーバコンピュータ6b,6cへ振り分け、該振り分けられた子サーバコンピュータ6b,6cにおいては、該要求メッセージのヘッダに含まれているユーザーエージェント情報より、該携帯電話端末1bのキャリアの種別とその端末の機種を特定可能な情報を抽出し、この情報に該当するキャリアのアクセス方式(マークアップ言語)の種別や端末の表示性能等の情報を、前記端末情報テーブルより入手するとともに、前記要求メッセージにより要求されたコンテンツデータをコンテンツデータベースより入手する。
このコンテンツデータベースより読み出されたコンテンツデータは、アクセスしてきた携帯電話端末1bのキャリア会社Bのアクセス方式であるHDML形式のファイルに変換されるとともに、該ファイル変換において、前記にて入手した携帯電話端末1bの端末情報である表示性能等の情報に基づき、該携帯電話端末1bの表示装置(LCDパネル)の表示行数並びに桁数に合致したレイアウトの表示となるように、前記変換されたHDMLファイルが例えばページ分割される等のように適宜に修正されて携帯電話端末1bへ送信、配信されるようになっており、図3に示すように、アクセスしてきた端末が前記キャリアA社のコンピュータ端末1aであればHTMLのファイル形式に、アクセスしてきた端末が前記キャリアC社或いはキャリアD社である場合には、それぞれMML並びにC―HTMLのファイル形式にそれぞれ変換されてコンテンツデータが送信、配信されることで、これら全てのアクセス端末は同一のURLアドレスの親サーバコンピュータ6aを通じて各子サーバコンピュータ6b,6cよりコンテンツデータを入手できるようになることから、コンテンツの提供者は、提供する情報を前記親サーバコンピュータ6a並びに子サーバコンピュータ6b,6cに登録、更新することで、同一のサーバアドレス(URL)にてキャリアの異なる携帯電話やコンピュータ端末の全てにコンテンツを配信することができるようになっている。
以下に、本実施例の親サーバコンピュータ6aのコンテンツデータの提供処理の内容を図4を主体に各詳細図面を併用して詳述する。
まず、アクセス利用者が使用する前記コンピュータ端末1aや携帯電話携帯電話端末1b、1c、1d(本実施例においてはこれらを総称してインターネット端末と呼称する)からの要求メッセージは、親サーバコンピュータ6aにおいて起動しているサーブレットエンジンにて受信され、該要求メッセージの先頭部分に図5に示すように付与されているURLパスパラメータ(URL Pathparameters)を入手し、該入手したURLパスパラメータ(URL Pathparameters)にセッション情報であるセッションIDが含まれているかの確認が実施される。(図13参照)
この確認においてセッションIDが存在する場合には、継続セッションであるとして、該セッションIDに該当する子サーバコンピュータ6b,6cをセッションデータベース(DB)を参照して特定し、例えば、前回のセッションを行ったのがサーバS1の子サーバコンピュータ6bである場合には、同一の子サーバコンピュータ6bに対し要求メッセージが可能な限り振り分けられるようになっている。
この振り分けの際における振り分け制御の方法は、後述するセッション管理の手法における管理データによって適宜に更新設定される最大振り分け上限要求メッセージ数(Mx)に基づいて、前記アプリケーションの最低保障要求メッセージ処理数(Nx)を確保できるように要求メッセージの振り分けが実施されるようになっているが、この手法を説明するには前記セッション管理の手法における管理データを理解する必要があるために、まず前記セッション管理の手法の説明の後に詳述する。
このようにして、各子サーバコンピュータ6b,6cに割り振られた要求メッセージからは、キャリアや端末の型式を特定可能な端末タイプIDやセッションID、パラメータ等が抽出されてクロスサブレットコアプログラムに送られる。
この端末タイプIDの取得する方法としては、図5に示すように、要求メッセージの先頭に位置して送信されてくるHTTPヘッダ中に、ユーザーエージェント情報が含まれており、該ユーザーエージェント情報には、図5にあるように、各キャリアに固有の情報が記述されているとともに、該要求メッセージを送信したインターネット端末の機種やブラウザのバージョン情報等も記述されていることから、これら記述内容がどのキャリア並びにどの型式の端末に合致するのかを、図7に示す端末情報テーブルと照合することにより特定することができる。
この抽出されたユーザーエージェント情報中の記述データに基づき端末タイプの特定を行う端末タイプ識別処理の具体的な処理内容は、図6に示すようになっており、前記ユーザーエージェント情報の記述データの取得に基づき、該記述データ中に含まれるキャリア名並びに端末の型式(機種)を示唆する単語を検出する。
次いで、該検出したキャリア名や端末機種名を検索キーワードとして端末情報テーブルを検索する。この際、該当する登録がない場合には、機種特定情報を「デフォルト」として、再度、端末情報テーブルを検索する。これでも該当しない場合には、キャリア示唆情報を「デフォルト」とする。このようにして決定したキャリア示唆情報及び機種特定情報に該当する登録情報、例えばマークアップ言語の形式やコンテンツの最大バイト数、表示画面の行数や文字数等を端末情報テーブルから取得し、以降のコンテンツ変換処理等に適用する。
尚、前記キャリア名並びに端末の型式(機種)を示唆する単語が未抽出或いは前記端末情報テーブルの検索において該当するものが存在しない場合においては、前記端末情報テーブルに登録されているキャリア各社並びに端末機種の各情報を、アクセス利用者が選択入力できるように構成されたデータ入力画面を要求メッセージを送信したインターネット端末に返信し、アクセス利用者によりキャリア会社並びに端末機種が選択された場合においては、該選択されたキャリア会社並びに端末機種関する情報を端末情報テーブルを検索して取得する。
このように、要求メッセージよりキャリア会社並びに端末機種を特定できない場合において、アクセス利用者のインターネット端末にデータ入力画面を返信してキャリア会社並びに端末機種関する情報を受け付けるようにすることは、これらキャリア会社並びに端末機種が不特定であるために、以降のコンテンツ変換処理等において不適切な変換処理が為されてしまう不都合を回避できることから好ましいが、本発明はこれに限定されるものではない。
これら端末タイプ識別処理等において使用される本実施例に用いた端末情報テーブルの構成は、図7に示すようになっており、各キャリア会社に対応する「ブラウザ」の「名前」、機種に対応する「端末」の「名前」、受信可能なコンテンツに関する情報(「マークアップ言語」の「名前」、コンテンツの文字コード、コンテンツの最大バイト数)、端末画面の大きさに関する情報(「画面」の「横文字数」及び「縦行数」)、表示可能な画像に関する情報(「画像」の「フォーマット」、「横ピクセル数」、「縦ピクセル数」、「縦横比」、「アニメーション可否」、「カラーモード」、「色/階調数」)等の各情報が登録されており、これら端末情報テーブルは、後述する更新処理により定期的に最新のものに更新されている。
次いで、クロスサブレットコアプログラムにおいては、図4に示すように、セッション情報の取得処理が実施され、これらセッション情報の具体的な処理内容は図11に示すようになっている。つまり、本実施例においては、予め定められた有効期限時間T0が設定されており、該有効期限時間T0間隔で区切られた時系列のグループ集合[G0,G1]と時系列に依らないグループ集合G(other)を各アプリケーション毎に形成し、セッションが前記予め定められた有効期限時間T0以下の場合にはそのアプリケーションのG0集合に、セッションが前記予め定められた有効期限時間T0よりも大きい場合には、そのセッションIDをそのアプリケーションのG(other)集合に格納して管理する。
ここで、G0集合は、ある時刻から前記予め定められた有効期限時間T0の間にアクセスのあった全てのセッション(ただし、有効期限が前記有効期限時間T0以下であるもの)を管理する集合である。また、現在の時刻が「ある時刻から前記有効期限時間T0を加えた時刻」を経過した場合には、G0集合をG1集合と名前を更新して管理する。そして、新たに、G0集合を「現在の時刻から前記有効期限時間T0を加えた時刻まで」と再定義して形成する。なお、G0集合をG1集合に更新する場合に、既にG1集合が存在する場合(古いG1集合がある場合)には、その古いG1集合(つまりはG2集合に該当)に含まれる内容を全て破棄する。これにより、古くなった無効セッションを効率的に削除できるようになる。
ここで、要求メッセージにセッションIDが含まれている場合、セッションIDの有効期限をチェックし、有効でない場合には、当該セッションを破棄して新規のセッションIDを作成、付与するとともに、前記要求メッセージにセッションIDが含まれていない場合にも、新規のセッションとしてセッションIDを作成、付与し、G0集合もしくはG以外(other)集合に格納する。
また、前記要求メッセージにセッションIDが含まれている場合で、該セッションIDが有効である場合には、当該セッションのラストアクセスタイムを更新して、G0集合もしくはG以外(other)集合に格納する。
尚、このセッションIDの格納の際、そのセッションを実施したサーバの番号(S1またはS2)が前記セッションIDとともにG0集合もしくはG以外(other)集合に、図15に示すように登録され、前記親サーバコンピュータ6aが行う要求メッセージの振り分け処理に使用される。
この前記親サーバコンピュータ6aが行う要求メッセージの振り分け処理について図13に基づいて詳述すると、親サーバコンピュータ6aは、セッション情報のサーバ間通信のコストを最低限に抑えるため、要求メッセージにセッションIDが含まれている場合は、そのセッションIDの発行元サーバ情報(セッション情報G0、G1、Gotherに含まれている)に基づき、発行元のサーバへの振分を試みる。
この際、高負荷等のために当該サーバに振分けることが困難な場合は、新規要求の場合と同じ手順で他のサーバに振分けるものとする。なお、このような場合には、新たに振分け先となったサーバがセッション発行元のサーバからセッション情報を受信するとともに、セッションIDの発行元サーバ情報を更新する。
このとき、例えば本実施例のようにサーバS2で、2つのアプリケーションA,Bが動作している場合、アプリケーションAのリクエストが一方的に増大すると、アプリケーションBの処理が圧迫され、該アプリケーションBが所望する最低保障要求メッセージ処理数(Nb)すら処理できなくなる可能性がある。
このような事態を避けるため、本実施例では図13に示すように、前記予め定められた有効期限時間T0区間ごと、つまりは各アプリケーションの前記G0、G1に格納されているセッションIDが該当する到達リクエスト数Rxと並びにその平均処理時間Zとを用いて、各アプリケーション毎の最大振り分け上限要求メッセージ数(Mx)を逐次更新することで、各アプリケーション毎のリクエストの割振り比率を動的に変更することで、前記最低保障要求メッセージ処理数(Nb)の処理を最低限確保できるようにしている。
具体的には、前記サーバS2のアプリケーションBにおいて最低保障要求メッセージ処理数(Nb)を確保するために、該サーバS2のアプリケーションBにおける前記G0時刻区間内での振分リクエスト数が該アプリケーションBへの最大振り分け上限要求メッセージ数(Mb)に達しているかの判定を実施し、該判定においての振分リクエスト数が該アプリケーションBへの最大振り分け上限要求メッセージ数(Mb)に達していない場合には、そのサーバを振り分け先に選定する。
また、前記判定においての振分リクエスト数が該アプリケーションBへの最大振り分け上限要求メッセージ数(Mb)に達している場合には、予め定められた所定順序にて次の振分先候補である他サーバの選定を行い、他に振分先候補が存在する場合にはその振分先候補について前記と同様に該振分先候補のサーバにおいてアプリケーションBにおける前記G0時刻区間内での振分リクエスト数がアプリケーションBへの最大振り分け上限要求メッセージ数(Mb)に達しているかの判定を行い、その振分先候補でも最大振り分け上限要求メッセージ数(Mb)に達している場合には、更に他の振分先候補というように、順次判定を繰返し実施していく。
尚、全てのサーバについて前記最大振り分け上限要求メッセージ数(Mb)に達しているかの判定を実施して新たな振分先候補が存在しない場合には、最も処理負荷の低いサーバを振り分け先のサーバに選定して振り分けを行う。
これら各処理の後、その時点の時間が前記予め定められた有効期限時間T0を経過している場合には、前述のように、それまでのG0集合が新たなG1集合に更新されることから、該新たなG1に基づいて各アプリケーションA,Bの最大振り分け上限要求メッセージ数(Ma,Mb)を更新する。
この更新処理の具体的処理内容は、図14に示すようになっており、新たなG0集合におけるそのアプリケーションのリクエスト総数と前記そのアプリケーションの最低保障要求メッセージ処理数(Nx)とを比較して、アプリケーションのリクエスト総数が最低保障要求メッセージ処理数(Nx)を越える場合には、該アプリケーションへの振り分けの比率が相対的に低くなるように、そのアプリケーションへの最大振り分け上限要求メッセージ数(Ma,Mb)が更新され、該更新された最大振り分け上限要求メッセージ数(Ma,Mb)が前記最大振り分け上限要求メッセージ数(Mb)に達しているかの判定に使用されるようになっている。
この後、コンテンツの取得、変換等の処理をおこない、処理結果をユーザに応答する前に、HTTP Cookieが使用可能であれば、セッションIDをCookieに設定してコンテンツ処理結果とともにユーザに応答する。Cookieが使用不可の場合には、コンテンツに含まれる全てのリンク先URLに対して、セッションID情報を付加してユーザに応答する。尚、前記HTTP Cookieが使用可能であっても、該HTTP Cookieをあえて使用しないようにしても良い。
次いで、前記要求メッセージ中に含まれている絵文字並びに文字コードを、前記端末タイプ識別処理にて取得したキャリア会社並びに端末機種の情報に該当して絵文字テーブルに登録されている変換内容に基づき、該当する絵文字や文字コードを所定のものに変換する。
これら所定の文字コードに変換された要求メッセージに基づき、要求されているコンテンツデータを特定し、該当するコンテンツデータをコンテンツデータベース(DB)より取得し、ドキュメントオブジェクトモデル(DOM)を作成する。
これらドキュメントオブジェクトモデル(DOM)の作成後において、スクリプト実行処理がなされる。本実施例におけるスクリプト実行処理の処理内容は、要求メッセージに基づき前記にてコンテンツデータベース(DB)より取得したコンテンツにスクリプト(ユーザ端末上で処理されるプログラムの一種)が含まれている場合には、該スクリプトをサーバ上で実行し、変数等の値を設定して、表示すべき画面の内容を確定する。
この確定した内容に対して、コンテンツの変換、絵文字の変換処理を行い、ユーザに応答する。この際、コンテンツの変換においては標準的なスタイルシートが提供されるようになっている。なお、スクリプトは、ユーザの操作に応じて、変数等の値を変化させ、表示画面をユーザ端末上の処理のみで変化させるというために用いるが、本実施例の場合には、ユーザの操作結果は、サーバ側に要求メッセージとして伝達され、サーバ側でこの処理を実施するようになっている。
このようにすることは、コンテンツに含まれる形式のスクリプトを処理する能力のないインターネット端末に対するコンテンツの提供を可能とするばかりか、これらスクリプトの処理に伴うインターネット端末における処理負荷を大幅に低減できることから好ましいが、本発明はこれに限定されるものでははい。
これらスクリプト処理の後に、コンテンツデータの変換処理を実施する。本実施例におけるコンテンツデータの変換処理の内容は、図9に示すようになっており、要求メッセージで要求されているコンテンツが既に変換済みでありキャッシュに存在する場合、キャッシュから指定のコンテンツの指定のページを取得してユーザに応答する。キャッシュに存在しない場合、サーブレット等のサーバサイドのアプリケーションプログラムを実行する等によりコンテンツを取得し、端末情報に基づき、コンテンツの変換を行う。
このとき、変換後のサイズが端末で受信可能なコンテンツサイズ(端末情報テーブルにて特定済み)を超えている場合には、取得したコンテンツを末尾から見ていって、区切れる部分(選択リスト、チェックボックス、テーブルブル等の構造要素の区切り)で区切って分割し、その最初の分割パートに対して、再度、コンテンツの変換、絵文字の変換を行う。これをコンテンツのサイズが端末で受信可能なサイズになるまで繰り返し実施し、各ページに「前ページ」或いは「次ページ」の一方または両方のリンクを付与し、この分割された各ページがユーザに応答するページとなる。そして、始めのコンテンツの未処理部分について、同様にコンテンツの変換、絵文字の変換、サイズのチェックを繰り返し、全てのコンテンツを変換し、すべてのページを作成し、キャッシュに登録する。この後、ユーザには指定のページ(パージ指定がない場合は、最初のページ)を応答する。
これらファイル変換処理におけるページ分割による表示状況を図10に基づき説明すると、コンテンツのサイズが端末で受信可能(表示可能)なサイズ(文字数)を越えている場合には、コンテンツをページ分割しないと、図10に示すようにコンテンツの一部が表示されないか或いはコンテンツ全体が表示されなくなくなってしまう。
これに対し、前述のようにページ分割を実施した場合には、図10に示すように、分割された各ページを順次移動することで全てのコンテンツ内容を漏れなく表示させることが可能となり、これら分割されたページを移動する際には、本実施例のように「前ページ」或いは「次ページ」の一方または両方のリンクを付与することで、ページ間に移動を容易に実施できるようになることから好ましいが、本発明はこれに限定されるものではない。
これらファイル変換されたコンテンツデータ中に引用画像が存在する場合には、該引用画像の画像データ変換の処理を実施する。具体的には、図8に示すように、要求メッセージの中で画像が要求されている場合、指定の画像名(例えば、a.gifとする)と、識別した端末名(例えば、N502iとする)をキーとして、キャッシュを検索する。該当するデータがキャッシュに存在した場合、指定画像a.gifのダイジェスト値を計算し、保存してあるダイジェスト値と比較する。
両者が一致した場合には、指定画像は変更されていないとして、キャッシュに保存されてある変換ずみ画像データをレスポンスとしてユーザに応答する。この場合以外は、ユーザ端末の仕様と比較して、指定の画像a.gifのサイズが大きい場合には圧縮処理を、色数が多い場合には減色処理を、フォーマットが異なる場合にはフォーマット変換を行い、処理結果をユーザに応答する。このとき、a.gifに対するダイジェスト値がキャッシュに既に存在し、かつ、それが今回算定した値と異なる場合は、a.gifに関するキャッシュ内容を全て破棄する。そして、a.gifのダイジェスト値、並びに、画像名a.gifと端末名N502iをキーとして変換後の画像をキャッシュに格納する。
このように、画像データの変換に際して変換済みの画像データに該当するものが既にキャッシュに存在するか否かを判別し、存在する場合には変換処理を行うないようにすることは、これら画像変換処理に伴う処理負荷を低減できることから好ましいが、本発明はこれに限定されるものではなく、一義的に画像変換を実施してキャッシュのデータを更新するようにしても良い。
また、これら画像データの変換とともに、変換されたコンテンツデータ中における絵文字並びに文字コードの変換処理を実施する。これら処理内容は、前記要求メッセージにおける絵文字と文字コードの変換と合わせて一連の処理として説明すると、要求メッセージで指定されたURLがサーブレット等のサーバサイドプログラムの実行である場合、要求メッセージに含まれる絵文字コードを「絵文字テーブル」を検索することによって、統一絵文字コードに変換する。また、要求メッセージを指定のサーバサイドプログラムが想定する文字コードに変換する。この後、サーバサイドプログラムを実行し、結果としてコンテンツを取得する。
要求メッセージで指定されたURLがサーバサイドプログラムの実行でない場合、指定のURL、例えば前記コンテンツ提供者のコンピュータ端末7よりコンテンツを取得するようにしても良い。
このようにして得られたコンテンツの文字コードを出力端末の文字コードに変換するとともに、コンテンツに含まれる全ての絵文字コードを「絵文字テーブル」を検索することによって出力端末用の絵文字コードに変換し、ユーザに応答する。
尚、前記「絵文字テーブル」や「情報端末テーブル」の更新は、図16に示す更新処理を定期的に実施し、前記管理センターのコンピュータ端末8にアクセスして更新することで、逐次最新のデータに更新されるようになっている。具体的には、定期的に前記管理センターのコンピュータ端末8にアクセスして問合せを発行し、該コンピュータ端末8に登録されている「端末情報データベース」の更新時刻を取得する。この時刻が親サーバコンピュータ6aにて管理する時刻よりも新しくなっている場合には、コンピュータ端末8へ要求メッセージを発行し、該コンピュータ端末8より絵文字テーブル」や「情報端末テーブル」をダウンロードして、親サーバコンピュータ6aで登録している内容を更新するとともに、該親サーバコンピュータ6aが各子サーバコンピュータ6b,6cの「絵文字テーブル」や「情報端末テーブル」を更新する。
以上、本実施例のようにすれば、有効なセッション識別情報が必ずG[nT0,(n+1)T0]である前記G0集合並びにG[(n−1)T0,nT0]であるG1の和集合に存在するとともに、無効となったセッション識別情報の削除を、新たなG[(n−2)T0,(n−1)T0]であるG2に登録、管理されているセッション識別情報を削除することで、少ない負荷にて効率良く実施できるようになるため、短期間に極めて多くのアクセスが集中した場合においても、アクセス数の増大とともに増大するセッション情報の維持管理に伴ってレスポンスが低下してしまうことを大幅に改善することができる。
以上、本発明の実施形態を図面により前記実施例にて説明してきたが、本発明はこれら実施例に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。
例えば、前記実施例においては、前記各キャリア会社A、B、C、D社の各アクセス方式に対応するように、配信するコンテンツデータを各アクセス方式に対応する記述形式に変換しているが、本発明はこれに限定されるものではなく、単一のキャリア会社B社の携帯電話端末等においても多くの機種が存在し、その中にはスクリプトを実施可能なものもあればスクリプトを実施不可能なものもあることから、単一のアクセス方式にのみ対応するサーバコンピュータに本発明を適用するようにしても良い。
また、前記実施例においては、サーバコンピュータをクラスタ化された構成としているが、本発明はこれに限定されるものではなく、これらサーバコンピュータ1つのサーバコンピュータとしたり、逆に更に多くの子サーバコンピュータを設けた構成としても良い。
更に、前記実施例では、コンテンツデータベースに登録されているコンテンツデータから変換される変換ファイルの形式としてHDML形式、C−HTML形式、MML形式を例示したが、本発明はこれに限定されるものではなく、これらファイル形式を次世代のファイル形式であるXHTML方式としても良い。
また、本実施例では、コンテンツデータベースに登録されているコンテンツデータからから直接各ファイル形式への変換を実施しているが、本発明はこれに限定されるものではなく、これら各ファイル形式への変換において、中間ファイルとして一度XML形式のファイルへの変換を実施した後、所望の各形式のファイルへの変換を実施するようにしても良い。
【図面の簡単な説明】
第1図は、本発明の実施例におけるセッション管理方法が適用されたコンテンツ提供システムの構成を示すブロック図である。
第2図(a)は、本発明の実施例にて用いた前記コンテンツ提供サーバを構成する親サーバの構成を示すブロック図である。
(b)は、本発明の実施例にて用いた子サーバの構成を示すブロック図である。
第3図は、本発明の実施例において用いた「クロスサブレット(X−Servlet)エンジン」における処理内容を示す説明図である。
第4図は、本発明の実施例において用いた「クロスサブレット(X−Servlet)エンジン」における処理内容を示す全体フロー図である。
第5図は、本発明の実施例においてアクセス利用者のインターネット端末から送られてくる要求メッセージよりセッション情報並びに端末情報を取得する手法を示す図である。
第6図は、本発明の実施例における端末タイプ識別処理における処理内容を示すフロー図である。
第7図は、本発明の実施例において用いた端末情報データベースの構成を示す図である。
第8図は、本発明の実施例における引用画像の画像データの変換処理の内容を示すフロー図である。
第9図は、本発明の実施例におけるコンテンツデータの変換処理の内容を示すフロー図である。
第10図は、本発明の実施例におけるコンテンツデータの変換処理においてページ分割された画面例を示す図である。
第11図は、本発明の実施例におけるセッション管理の処理内容を示すフロー図である。
第12図は、本発明の実施例におけるクラスタ構成とされたサーバにおける要求メッセージ(リクエスト)の振り分け処理の手法についての説明図である。
第13図は、本発明の実施例における振り分け処理の処理内容を示すフロー図である。
第14図は、本実施例の振り分け処理における各アプリケーションの最大振り分け上限要求メッセージ数(Mx)の更新処理内容を示すフロー図である。
第15図は、本実施例において用いたセッションデータベースの構成を示す図である。
第16図は、本発明の実施例における前記端末情報テーブル並びに絵文字テーブルの更新処理の内容を示すフロー図である。
符号の説明
1a コンピュータ端末
1b、1c、1d 携帯電話端末
2b、2c、2d 基地局
3b、3c、3d 中央制御局
4 インターネット網
5 配信センター
6a 親サーバコンピュータ(S0)
6b、6c 子サーバコンピュータ(S1,S2)
7 コンピュータ端末(コンテンツ提供者)
8 コンピュータ端末(管理センター)
20 データバス
21 中央演算処理装置(CPU)
22 第1通信インターフェイス
23 表示装置
24 RAM
25 記憶装置
26 リアルタイムクロック(RTC)
27 第2通信インターフェイス
Claims (5)
- インターネット網に接続可能なインターネット端末に対し、該インターネット網に接続されたサーバコンピュータを用いてコンテンツデータを提供する際のセッション管理方法であって、
予め定められた所定時間幅;T0毎に区切られた時系列集合G[nT0,(n+1)T0但しnは0以上の整数]を形成する時系列集合形成ステップと、
前記インターネット端末より送信されてくる要求メッセージ中に含まれるセッション識別情報の有効期間が前記所定時間幅;T0以下である場合において、該セッション識別情報を該セッション識別情報の該当する前記時系列集合G[nT0,(n+1)T0]に登録、管理するセッション情報登録ステップと、
現在の実時間がnT0〜(n+1)T0の範囲となった際に、古い集合となったG[(n−2)T0,(n−1)T0]に登録、管理されているセッション識別情報を削除する削除ステップと、
を少なくとも含むことを特徴とするコンテンツ提供におけるセッション管理方法。 - 前記インターネット端末より送信されてくる要求メッセージ中のセッション識別情報の有効期間が、前記所定時間幅;T0よりも大きい場合において、前記時系列集合G[nT0,(n+1)T0]とは異なる時系列に依存しない特定集合G[other]集合に登録、管理する請求項1に記載のコンテンツ提供におけるセッション管理方法。
- 前記サーバコンピュータは、前記セッション管理処理を行う親サーバコンピュータと、該親サーバコンピュータに比較的高速の通信手段から成るローカルエリアネットワーク(LAN)を介して接続され、提供する各種コンテンツが同様に登録された複数の子サーバコンピュータから成るクラスタ化構造とされ、前記親サーバコンピュータは、前記セッション識別情報に対応付けて該セッション識別情報が含まれている要求メッセージに対応するコンテンツ提供処理を行う子サーバコンピュータを識別可能な識別情報を登録、管理し、前記セッション識別情報に該当する新たな要求メッセージが前記インターネット端末より送信されてきた場合に、該新たな要求メッセージに含まれるセッション識別情報に対応して登録されている子サーバコンピュータを特定し、該子サーバコンピュータに要求メッセージの振り分けを行う振り分けステップを含む請求項1または2に記載のコンテンツ提供におけるセッション管理方法。
- 前記子サーバコンピュータに登録されている複数の各アプリケーション毎に前記時系列集合G[nT0,(n+1)T0]を設け、且つ各アプリケーション毎に最大振り分け上限要求メッセージ数(Mx)を設定するとともに、現在の実時間において古い集合となった各アプリケーション毎のG[(n−2)T0,(n−1)T0]に登録されているセッション識別情報の数(Rx)と予め定められた各アプリケーションの最低保障要求メッセージ処理数(Nx)とを比較し、該比較において前記セッション識別情報の数(Rx)が大きい場合においては、該子サーバコンピュータの残余リソースを、該子サーバコンピュータに登録されている各アプリケーション毎に予め割り当てられた振り分け比率にて割り当てられるように前記最大振り分け上限要求メッセージ数(Mx)を更新し、前記親サーバコンピュータは、可能な限り前記最大振り分け上限要求メッセージ数(Mx)を越えないように要求メッセージの振り分けを行う請求項3に記載のコンテンツ提供におけるセッション管理方法。
- 前記インターネット端末へ配信するコンテンツデータを、該インターネット端末のアクセス方式に対応する記述形式に変換する記述形式変換ステップと、該記述形式変換ステップにて変換されたコンテンツデータを該インターネット端末に対して配信する配信ステップと、を含む請求項1〜4のいずれかに記載のコンテンツ提供におけるセッション管理方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2000/008453 WO2002044905A1 (fr) | 2000-11-29 | 2000-11-29 | Procede de gestion de session pour la fourniture de contenu |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2002044905A1 true JPWO2002044905A1 (ja) | 2004-04-02 |
Family
ID=11736737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002547004A Pending JPWO2002044905A1 (ja) | 2000-11-29 | 2000-11-29 | コンテンツ提供におけるセッション管理方法 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JPWO2002044905A1 (ja) |
AU (1) | AU2001215551A1 (ja) |
WO (1) | WO2002044905A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5341663B2 (ja) * | 2009-08-04 | 2013-11-13 | ヤフー株式会社 | コンテンツ提供サーバシステム、及びその方法 |
CN105379295A (zh) | 2013-07-03 | 2016-03-02 | 皇家Kpn公司 | 分段内容的流送 |
EP3105903B1 (en) | 2014-02-13 | 2019-08-07 | Koninklijke KPN N.V. | Requesting multiple chunks from a network node on the basis of a single request message |
US10523723B2 (en) | 2014-06-06 | 2019-12-31 | Koninklijke Kpn N.V. | Method, system and various components of such a system for selecting a chunk identifier |
JP6841785B2 (ja) * | 2018-03-29 | 2021-03-10 | 日本電信電話株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2962203B2 (ja) * | 1995-09-28 | 1999-10-12 | 日本電気株式会社 | オンライン情報処理システムにおける負荷分散方法 |
JPH1027146A (ja) * | 1996-07-11 | 1998-01-27 | Kyushu Nippon Denki Software Kk | 通信処理装置及び通信処理方法 |
JP3717135B2 (ja) * | 1997-07-14 | 2005-11-16 | 富士通株式会社 | 複数wwwサーバ連携システム、複数wwwサーバ連携方法、および記録媒体 |
JP3265242B2 (ja) * | 1997-09-18 | 2002-03-11 | 日本電信電話株式会社 | 連続データアクセス方法 |
-
2000
- 2000-11-29 AU AU2001215551A patent/AU2001215551A1/en not_active Abandoned
- 2000-11-29 JP JP2002547004A patent/JPWO2002044905A1/ja active Pending
- 2000-11-29 WO PCT/JP2000/008453 patent/WO2002044905A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2002044905A1 (fr) | 2002-06-06 |
AU2001215551A1 (en) | 2002-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1641211B1 (en) | Web server and method for dynamic content. | |
US7496497B2 (en) | Method and system for selecting web site home page by extracting site language cookie stored in an access device to identify directional information item | |
US7249197B1 (en) | System, apparatus and method for personalising web content | |
US20030100320A1 (en) | Efficient hyperlinks for transmitted hyperlinked information | |
US10389792B2 (en) | Output function dividing system | |
CN1414485A (zh) | 内容转换系统,自动样式表选择方法及其程序 | |
US20140237065A1 (en) | System, Method, and Computer Program Product for Server Side Processing in a Mobile Device Environment | |
JP2005346734A (ja) | コンテンツ提供方法 | |
CN101783733B (zh) | 一种通过终端设备实现信息聚合共享的方法及终端设备 | |
JP2005327154A (ja) | Htmlファイル処理方法及びプログラム | |
WO2001065376A1 (en) | Contents providing method | |
US20010039578A1 (en) | Content distribution system | |
US20030163517A1 (en) | Method and apparatus for decreasing bandwidth for wireless data interchange | |
JPWO2002044905A1 (ja) | コンテンツ提供におけるセッション管理方法 | |
US20010049733A1 (en) | Content distribution system | |
US20010056447A1 (en) | Information providing system and information providing method | |
JP3658610B2 (ja) | 無線電話によるメッセージ通信方法及び通信システム | |
JP2002342222A (ja) | コンテンツ提供方法 | |
JP2002342213A (ja) | コンテンツ提供方法 | |
JP2006113745A (ja) | インターネット広告システム | |
JP3851110B2 (ja) | コンテンツ提供方法 | |
JP2011514578A (ja) | Ruiプロファイリングのためのネットワークシステムおよび方法 | |
JPWO2002044906A1 (ja) | コンテンツ提供方法 | |
JP2002342221A (ja) | コンテンツ提供方法 | |
US20060069790A1 (en) | Content presentation adaptation |