JP2004220318A - Information processor and program to be used for same - Google Patents

Information processor and program to be used for same Download PDF

Info

Publication number
JP2004220318A
JP2004220318A JP2003006935A JP2003006935A JP2004220318A JP 2004220318 A JP2004220318 A JP 2004220318A JP 2003006935 A JP2003006935 A JP 2003006935A JP 2003006935 A JP2003006935 A JP 2003006935A JP 2004220318 A JP2004220318 A JP 2004220318A
Authority
JP
Japan
Prior art keywords
session
client
program
server
user
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
Application number
JP2003006935A
Other languages
Japanese (ja)
Inventor
Kazufumi Yoshida
和史 吉田
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2003006935A priority Critical patent/JP2004220318A/en
Publication of JP2004220318A publication Critical patent/JP2004220318A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To increase the convenience of a user by sharing a single session between a server and a plurality of client programs on the same information processor. <P>SOLUTION: The information processor 2 has a session management means 2m for managing session identification information to share a single session established with a server program after user authentication between a plurality of client programs. Even the different client programs can use the identification information about the same session (server session) established after user authentication to communicate with the server program. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、通信機能を備えた情報処理装置において、ユーザの利便性を高めるとともに、サーバーの負荷を軽減するための技術に関する。
【0002】
【従来の技術】
ウェブ(World Wide Web等)サービスを提供するサーバーのクライアントプログラムとして、Webブラウザだけでなく、Webサーバーが提供する機能(Webサービス)について直接HTTP(ハイパーテキスト転送プロトコル)等でアクセスすることができる専用クライアントが一般的になりつつある。
【0003】
そして、ネットワーク上のサーバーマシンとクライアントマシンとの間で通信を行う場合に、通常、ユーザ認証が必要とされる。例えば、ログインを必要とするWebサービスを利用する場合、クライアントマシン上のクライアントプログラムからそのWebサービスを利用するにあたって、ユーザID(識別情報)やパスワード(暗証番号)等の入力が必要である。
【0004】
【発明が解決しようとする課題】
ところで、従来の装置では、複数のクライアントプログラムの間で同一のセッションを共有して、サーバープログラムとの間で情報のやりとりを行えないため、例えば、下記に示すような問題が起きる。
【0005】
同一サーバーにより提供されるWebサービス等に対してアクセスするためのクライアントプログラムが一つの情報処理装置に一種類しか存在しない場合には、そのクライアントプログラム(アプリケーション)を立ち上げてからユーザIDやパスワード等を入力してユーザ認証を行えば良い。しかし、複数のアプリケーションを使って同一のWebサービスにアクセスし、ユーザがアプリケーション間で連携した使用を望む場合には、アプリケーション毎にユーザIDやパスワードを入力し、サーバーとのセッションをそれぞれ開始する必要がある。つまり、サーバーが同じでも、クライエントマシン上のクライアントプログラム毎に異なるセンションが開始される。
【0006】
このような状況下では、下記の事項が問題となる。
【0007】
・ユーザが、アプリケーション毎に同じユーザID及びパスワードをその都度入力する必要があるので、操作が2度手間となり面倒であること。
【0008】
・サーバーにとっては、1人のユーザに対して異なるセッションを開始しなければならず、無駄なリソース(コンピュータ資源)を消費してしまうこと。
【0009】
・Webサービス等のシステム設計上、セッション毎の管理に必要な情報を、一時的な情報(揮発性データ)として管理する場合(例えば、ショッピングカートのような購買システムにおいて、ログインしてからカート内にユーザが注文しようとする商品情報を保持する場合が考えられ、そのカート内部の商品情報が、セッションの終了時にクリアされるような場合等)、別々のセッションとして管理されるクライアントプログラム間では、ユーザが同一であるにもかかわらず、サーバー側のデータ等を共有できないといった問題が発生すること。
【0010】
そこで、本発明は、同一の情報処理装置上における複数のクライアントプログラムと、サーバーとの間でセッションを共有して、ユーザの利便性を高めることを課題とする。
【0011】
【課題を解決するための手段】
本発明に係る情報処理装置は、ユーザ認証を経てサーバープログラムとクライアントプログラムとの間の論理的な接続関係として確立されるセッションに関して、一つのセッションを複数のクライアントプログラムの間で共有するために、該セッションの識別情報を管理するセッション管理手段を備えたものである。
【0012】
また、本発明に係る情報処理装置に用いるプログラムは、ユーザ認証後にサーバープログラムとの間で確立される一つのセッションを複数のクライアントプログラムの間で共有するために、該セッションの識別情報を管理するステップを有するものである。
【0013】
従って、本発明によれば、異なるクライアントプログラムであっても、ユーザ認証後に確立される同一セッションの識別情報を用いてサーバープログラムとの間で通信処理を行うことができる。
【0014】
【発明の実施の形態】
本発明は、サーバーによるウェブ(Web)サービス等をクライアントに提供するシステムにおいて、1つのセッション(サーバーセッション)を同一マシン(クライアントマシン)上の複数のクライアントで共有することができるようにしたものである。例えば、1つのWebサービスにアクセスすることができる、複数のクライアントプログラムをユーザが使用する場合に、ユーザが同じであれば、クライアントプログラム毎に別々のログインを行う必要がなく、1度どれかのクライアントプログラムでログインすると、それ以降、他のクライアントプログラムではログインを行う必要がない。これによって、ユーザの利便性を向上させることができる。
【0015】
尚、ここで「セッション」とは、ユーザIDやパスワード等を用いたユーザ認証を経てサーバープログラムとクライアントプログラムとの間に確立される通信上の論理的な接続関係を意味し、ユーザ認証が正しく行われて生成(又は開始)され、ユーザ操作又は時間制限等の終了条件により消滅する。より簡単に言えば、ログインから開始され、ログアウト等で終了するまでの間、サーバーとクライアントとの間で行われる一連の処理を表している。
【0016】
図1は、インターネット等を用いたコンピュータネットワーク及びこれに接続された情報処理装置(サーバーマシンやクライアントマシン)により構成されたシステム例を概念的に示したものである。
【0017】
本システム(情報通信システム)1では、情報処理装置2としてクライアントマシン2c、2c、…及びサーバーマシン2sが設けられている。つまり、特定の情報サービス(Webサービス等)をクライアントマシン2c、2c、…に対して提供するサーバーマシン2sがネットワーク上に接続されていて、サーバーマシン2s上で実行されるサーバープログラムを用いて、情報サービス等に必要な各種の情報処理が行われる。
【0018】
クライアントマシン2cは、該マシン上で実行されるクライアントプログラムを用いて、サーバープログラムとの間で情報をやりとりすることができる。尚、「クライアントマシン」としては、例えば、ネットワーク通信機能を有するパーソナルコンピュータや、Webサービス等にアクセス可能な、PDA(Personal Digital Assistance)、携帯電話等の移動体通信端末装置、あるいはネットワーク接続可能な各種装置(撮像装置や映像機器等)が挙げられる。また、クライアントプログラムとしては、例えば、ブラウザ(閲覧用ソフト)が挙げられるが、これに限らず各種アプリケーションを用いることができる。
【0019】
図1には、ある情報処理装置(クライアントマシン2c)において、複数のクライアントプログラムA、B、…が実行されている様子を概念的に示している。該クライアントマシンは、複数のクライアントプログラム(プロセス)間で一つのセッションを共有するために、該セッションの識別情報を管理するセッション管理手段2mを備えている(実際のハードウェア構成としては、例えば、中央処理装置やメインメモリ、システムコントローラ等の各種コントローラ、補助記憶装置等が設けられ、プログラム等を用いてセッション管理手段2mが実現されるが、図には簡略化して示している。)。
【0020】
一例としては、クライアント側に、1つのサーバーセッションに対応する、実行プログラム(以下、「セッション管理プロセス」という。)を用意し、これを用いてセッションの識別情報を管理する。つまり、このセッション管理プロセスは、上記セッション管理手段2mを構成するものであり、クライアントマシン又はプログラムとサーバーマシン又はプログラムとの接続時、あるいはログイン時に生成されるセッションを識別するためのID情報(以下、「セッションID」という。)を管理する役目をもっている。
【0021】
Webサービス等を利用する場合に実行されるクライアントプログラムは、1つのクライアントマシン上において、それぞれ別々のプログラム(プロセス)として存在し、それらは、セッション管理プロセスに対して、セッションIDの問い合わせや設定を行うことができる。
【0022】
第一のクライアントプログラム(クライアントA)から、サーバーにログインする時、セッション管理プロセスが起動され、クライアントAとサーバープログラムとの間で開始されたセッションのセッションIDをクライアントAがセッション管理プロセスに対して設定する。
【0023】
その後に、第二のクライアント(クライアントB)が起動されたときは、セッション管理プロセスの存在を条件として、セッションIDが該プロセスからクライアントBに通知される。つまり、クライアントBは、セッション管理プロセスが存在しているかどうかを判定し、該プロセスがクライアントマシン上に存在している場合は、設定済みのセッションIDを取り出す。そして、クライアントBを用いてサーバーマシンとの通信を始める場合に、取得したセッションIDを使用してサーバーへのアクセスを行う。
【0024】
クライアントBとサーバープログラムとの間でクライアントAの場合と同じセッションIDを用いた通信処理が行われ、よって、クライアントBを使ったユーザが、Webサービス等にログインするために、ユーザ名やパスワード等、ユーザ認証に必要なデータを入力する必要が無い。
【0025】
尚、上記の説明では、最初のログイン時に、セッション管理プロセスが生成されるものとしたが、該プロセスが生成されるタイミングについては、特に「ログイン」という行為を必要としない。よって、常駐プログラムの形態としても良いし、また最初にWebサービス等に接続したときにプロセスを生成する等、各種形態で実施することができる。
【0026】
以下では、画像データを取り扱う、フォト・シェアリングサイト(画像情報の共有及び利用のためのサイト)のウェブサービスを例にして、図2乃至図7に従って具体的に説明する。
【0027】
本サイト(http://www.imagestation.jp/)では、画像ファイルを”アルバム”という、ファイルシステムのディレクトリに類似の論理構造(1階層構造)により管理している。
【0028】
ウェブサービスのためのインターフェイス(External Interface)は、アルバムの一覧やアルバム内の画像情報の取得、あるいは画像の特定アルバムへのアップロード、といった機能を提供するためのインターフェイスであり、クライアントプログラムである「アップローダ」及び「機能拡張バー」から利用される。
【0029】
「アップローダ」は、クライアントマシン(ローカルマシン)にある画像ファイルを、サイトにアップロード(送信あるいは転送)する機能を備えた専用クライアントプログラムである。
【0030】
図2は、「アップローダ」の画面(メイン画面)例を示したものであり、(A)図がログイン前の表示状態を示し、(B)図がログイン後の表示状態を示している。
【0031】
(A)図に示すログイン前の状態における各部(オブジェクト)の意味は下記の通りである。
【0032】
・ドロップターゲット部(3_1)=本来は画像ファイルのドラッグ&ドロップ(マウスポインタによるアイコン操作)のために用意された領域(ログイン前ではアニメーション等が表示されるだけで、特別な機能はない。)
・ID入力部(3_2)=ログインID(ユーザID)の入力及び編集領域
・パスワード入力部(3_3)=パスワードの入力及び編集領域
・「ログイン」ボタン(3_4)=ログイン操作用のボタンオブジェクト
・メニューボタン(3_5)=操作時にポップアップメニュー(アルバム一覧更新、アップロード、新アルバム作成等の項目を含む)を表示するボタンオブジェクト。
【0033】
尚、メニューボタン3_5の右側には、「アルバムを開く」ボタン3_6、「アルバムに招待する」ボタン3_7等のオブジェクトが配置されている。
【0034】
また、(B)図に示すログイン後の状態における各部(オブジェクト)の意味は下記の通りである。
【0035】
・ドロップターゲット部(3_1)=サイトへのログイン状態において、この部分に対して画像ファイルのドラッグ&ドロップを行うことで発生するイベントにより、該画像ファイルのアップロードが開始され、下記の「アルバムドロップダウンリスト」に選択されているアルバムに画像ファイルがアップロードされる。
【0036】
・ニックネーム部(3_8)=ログインしたユーザが登録している名称(ニックネーム)の表示領域
・「ログアウト」ボタン(3_9)=ログアウト操作用のボタンオブジェクト・アルバムドロップダウンリスト(3_10)=ユーザ所有のアルバムリストを表示したり、ドラッグ&ドロップによる画像ファイルのアップロード、「アルバムを開く」ボタン3_6や「アルバムに招待する」ボタン3_7による操作は、すべてこのリストオブジェクトで選択されているアルバムに対して行われる。
【0037】
尚、メニューボタン3_5や、「アルバムを開く」ボタン3_6、「アルバムに招待する」ボタン3_7の配置は、(A)図と同じである。
【0038】
例えば、ユーザが「アップローダ」を用いてサイトにアクセスして、所望の画像ファイルをユーザが意図するアルバムにアップロードする場合の手順は次に示す通りである。
【0039】
(1)「アップローダ」の起動及びログイン(図2(A)に示す画面でのログインID及びパスワード入力等の操作)
(2)ユーザ認証が済むと、図2(B)に示す表示状態となり、ここでユーザが、アルバムドロップダウンリスト3_10でアップロード先のアルバムを選択する
(3)所望の画像ファイルのアイコンをドラッグ&ドロップによりドロップターゲット部3_1へと移す操作をユーザが行うことで、画像ファイルのアップロードが行われる。
【0040】
次に、「機能拡張バー」について、図3及び図4を用いて説明する。
【0041】
この「機能拡張バー」は、特定のブラウザ等にプラグイン(あるいはアドイン)として機能的に追加されるクライアントプログラム(プラグインコンポーネント等)である。
【0042】
図3はブラウザに追加された形態を示すものであり、図には、アドレスバー等のツールバーの最下段に配置された「機能拡張バー」を示している。これは、例えば、Internet Explorer(マイクロソフト社の商標)へのプラグイン形態の場合、ウィンドウズ(マイクロソフト社製OSの商標)では、ダイナミックリンクライブラリ(DLL::Dynamic Link Library)として実装されていて、システムに登録しておくことでブラウザによってメモリロードがなされる。
【0043】
図4は、「機能拡張バー」の画面例を示したものであり、(A)図がログイン前の表示状態を示し、(B)図がログイン後の状態を示している。
【0044】
(A)図に示すログイン前の状態では、ボタンオブジェクト4_1だけが表示されており、このボタンを押すと所定のメニュー(ログイン、ヘルプ等)が表示される。
【0045】
また、(B)図に示すログイン後の状態における各部(オブジェクト)の意味は下記の通りである。
【0046】
・ボタンオブジェクト(4_1)=ボタン操作により、ログアウト、アルバム情報、新規アルバムの作成等の各種項目を含むメニューが表示される。
【0047】
・「アルバム」ボタン(4_2)=アルバムタイトルを表示したボタンオブジェクトであり、アルバムの更新時にソーティング(並び替え)された最新のものが表示画面の片側から順番に表示される。ユーザが本ボタンを押すとそのアルバムの画像リストページに遷移する。
【0048】
・「アルバム移動」ボタン(4_3)=バー上に表示される「アルバム」ボタン群の両側に位置されるボタンオブジェクト(「<<」、「>>」で示す。)。「機能拡張バー」の表示エリアが狭い場合やアルバムの数が多い場合に、本ボタンが有効となり、例えば、ボタン押圧により、「<<」又は「>>」に示される方向に従って「アルバム」ボタンの位置がシフト(移動)する。これにより、バーに表示される「アルバム」ボタン群の表示を変更できる。
【0049】
ユーザは「機能拡張バー」からサイトへのログインを行うことができ、その際には、該ユーザのアルバム一覧用データがインターフェイス(External Interface)経由で取得され、それらは「アルバム」ボタン(ショートカットボタン)としてバー上に並べられる。
【0050】
尚、「機能拡張バー」と同等の機能を有するプログラム(ブラウザ等)を最初から設計して作成することもできるが、本例のように、ユーザが使い慣れた既存プログラムへの機能追加として必要な処理を付加する形態では、操作等を改めて学習すること等を含めて、ユーザーの負担が少ないといった利点があり、また、プログラム作成上の負担が軽減される。
【0051】
「アップローダ」、「機能拡張バー」は別々のクライアントプログラムとされるが、どちらを用いても同一サイトにログインすることができ、本来的にはサーバーとの間でセッションをそれぞれ確立することが可能である。
【0052】
図5は、セッションの共有を行う場合の基本的な流れについて説明するための図であり、ネットワークにより接続されるサーバープログラム(「S」)及びクライアントプログラムA、B、セッション管理プロセス「M」の関係を示している。尚、本例では、クライアントプログラムAが「アップローダ」とされ、クライアントプログラムBが「機能拡張バー」とされており、最初に「アップローダ」のみが起動され、その後に「機能拡張バー」を含むブラウザが起動された状態を想定している。
【0053】
図示のように、サーバープログラムSにおいて作成されるセッションID(本例では「000111」)は、クライアントマシンに送られ、セッション管理プロセスMで管理される。
【0054】
セッション管理プロセスMは、「クライアントテーブル」を保持しているが、該テーブルは、クライアントプログラムの実行インスタンスを登録しておくためのテーブルである。例えば、クライアントAがサーバーに対して何らかのリクエストを発し、サーバー内部のセッションに関する情報やデータに変更があった場合に、クライアントBがそのイベントを知るためにこのテーブルが使用される。各クライアントプログラム(プロセス)はイベントを受け取る用意ができた状態にある場合に、このクライアントテーブルにアプリケーションハンドルを登録しておく(尚、「アプリケーションハンドル」は、実行アプリケーションを特定するために用いられる識別情報であり、例えば、GUI(Graphical User Interface)の場合、ウィンドウハンドルが挙げられる。)。
【0055】
所定のイベントが発生した場合(例えば、あるクライアントプログラムでユーザーがログアウトした場合等)、クライアントテーブルに登録されているすべてのクライアントに該イベントに対応するメッセージが送られる。
【0056】
図5に示す(1)乃至(8)の手順例に従って、一連の処理の流れを、以下に説明する。
【0057】
(1)クライアントAの起動及びユーザの入力ステップ
(2)ユーザ認証及びセッション生成のステップ
(3)セッション管理プロセスの生成及びセッション管理等のステップ
(4)クライアントBの起動ステップ
(5)セッションIDの取り出し及びアプリケーションハンドルの登録ステップ
(6)セッションIDの返送ステップ
(7)(6)のセッションIDを用いたサーバーの呼び出しステップ
(8)ログイン済みセッションへの応答の返送ステップ。
【0058】
先ず、(1)では、ユーザの指示を受けてクライアントA、即ち、「アップローダ」が起動される。その後、ユーザに対して、サイトへのログインID及びパスワードを要求する画面(図2(A)参照)が提示される。ユーザが入力した項目(ログインID、パスワード)データは、暗号化されてサーバープログラムSに送られる。
【0059】
(2)では、サーバーにおいてユーザ認証が行われ、上記(1)で入力された情報が、正しいユーザ情報であるか否かが判断される。そして、ユーザ情報が正しいと判断された場合には、セッション(ここでは、セッションIDを仮に「000111」とする。)が生成される。セッションIDの情報はサーバープログラムSからクライアントAに返される。
【0060】
(3)では、正しいセッションIDがサーバーから送られてきた場合に、クライアントAが、セッション管理プロセスMを生成して、セッションID(本例では「000111」)を設定する。これは、一つのセッションを複数のクライアントプログラムの間で共有するために、セッション管理プロセスMがセッションIDを管理する必要のためである。また、それと同時にアプリケーションハンドル(ウィンドウハンドル)をセッション管理プロセスMのクライアントテーブルに登録する(尚、この時点では、クラアントBはクライアントテーブルに未登録である。)。
【0061】
(4)において、ユーザの指示を受けてクライアントB、即ち、ブラウザが起動される(図3参照。)。
【0062】
(5)では、クライアントBの起動直後にセッション管理プロセスMを検索し、該プロセスの存否が判断される。そして、セッション管理プロセスが存在する場合は、(2)で設定されたセッションIDを取り出す。その際、「機能拡張バー」(を含むブラウザ)を特定するためのアプリケーションハンドル(ウィンドウハンドル)を登録しておく(これは、セッション管理プロセスのクライアントテーブルに登録される。)。
【0063】
(6)では、セッション管理プロセスに登録されているセッションIDがクライアントBに送られる。つまり、クライアントBとサーバープログラムSとの間で該セッションIDを用いた通信処理を行えるように、セッションIDがクライアントBに通知される。
【0064】
(7)において、サイトのサーバーを呼び出す場合に、(6)で得られたセッションIDを使用してアクセスする。たとえば、(1)でユーザがアップローダに入力したユーザIDによるログイン状態のページを要求する際に、このセッションIDを一緒にサーバに送る
(8)では、ログイン済みのセッションに対する応答がクライアントBに返る。
【0065】
尚、(1)、(2)及び(7)、(8)の処理は、サーバーマシンとクライアントマシンとの間のネットワーク通信により行われ、また、(3)、(5)、(6)の処理はプロセス間通信(LPC:Local Procedure call等)で行われる。(7)のサーバーへのリクエストについては、いわゆるクッキー(Cookie:WWWサーバーがユーザを識別して管理する仕組み)に(6)で取得したセッションIDを入れてサーバーに通知することも可能である。
【0066】
図5において、(3)や(5)では、アプリケーション(クライアントA、B)がセッション管理プロセスMに対してアプリケーションハンドルを設定しており、セッション管理プロセスMではそれらの設定情報をクライアントテーブルに保持している。クライアントテーブルは、セッション管理プロセスMが、あるクライアントから発生したイベント(例えば、ログアウトや新規アルバムの作成など)を他のクライアントに通知するために必要とされる。
【0067】
次に、「アップローダ」と、「機能拡張バー」(を含むブラウザ)がともにログイン状態にあるとし、図6を使ってイベント通知の仕組みについて説明する。
【0068】
処理の流れは以下の通りである。
【0069】
(11)クライアントA(「アップローダ」)からサーバーに対してログアウト(logout)の操作を行う
(12)ログアウト成功のステータスがクライアントAに戻ってくる。尚、ここで、ログアウトとはサーバーセッションの削除を意味する。この状態では、クライアントBの方ではサーバーに該当セッション(ID=000111)が無くなったことは分からない
(13)クライアントAが、セッション管理プロセスMに対して、ログアウトイベントを送る
(14)セッション管理プロセスMは、クライアントテーブルに登録されている、クライアントA(送り元)以外のすべてのクライアント(本例では、クライアントB)にログアウトイベントを送る。これにより、クライアントは、現在のセッションが既に有効でないことを知り、例えば、ユーザインターフェイスをログイン待機状態にする等の処理が可能となる。
【0070】
図7は、クライアントプログラム(「アップローダ」)を主体として、その起動から停止までの処理の流れをセッション管理プロセスとの関わりに限って例示したフローチャート図である(尚、基本的な処理の流れは、「機能拡張バー」の場合もほぼ同様である。)。
【0071】
図中の「State」はログイン状態(login)、ログアウト状態(logout)の如何を示している。
【0072】
先ず、ステップS1では、クライアントAを起動し(この時点ではログアウト状態である。)、次ステップS2で、セッション管理プロセスMのクライアントテーブルにクライアントAのアプリケーションハンドルが登録される。
【0073】
そして、ステップS3において、セッション管理プロセスMからセッションIDを取得できるか否かが判断される。つまり、既にセッションが確立されてそのセッションIDがセッション管理プロセスMに保持されている場合には、ステップS4に進むが、そうでない場合(セッション未確立)にはステップS5に進む。
【0074】
ステップS4ではユーザインターフェイス(UI)をログイン状態とし(State=login)、次ステップS5に進む。
【0075】
ステップS5において、セッション管理プロセスMからのメッセージ及びユーザイベントの待ち処理に入る。
【0076】
次ステップS6では、現在ログアウト状態である場合に、ユーザインターフェイスによるログインを行うか否かが判断される。尚、「State==logout」は等値関係の条件式を意味し、該条件の成立時に真値を示す。現状ログアウトとされていてユーザがログインを行う場合には、ステップS7に進むが、そうでない場合にはステップS11に進む。
【0077】
ステップS7において、クライアントAからサーバーにログインリクエストが送られた後、次ステップS8でログインの成否を判断し、ログインに成功した場合にはステップS9に進むが、ログイン不成功の場合にはステップS5に戻る。
【0078】
ステップS9では、ログインの成功時にサーバーから送られてくるセッションIDがセッション管理プロセスMに設定されて管理される。そして次ステップS10でユーザインターフェイスをログイン状態にした後(State=login)、ステップS5に戻る。
【0079】
ステップS11では、クライアントAにセッション管理プロセスMからログアウトメッセージが届けられたかどうかを判断する。つまり、前記したように、他のクライアントによるログアウト時にイベントが発生した場合には、クライアントテーブルに登録されている全クライアントにログアウトメッセージが送られるので、該メッセージが来た場合には、ステップS12に進んでユーザインターフェイスをログアウト状態にした後(State=logout)、ステップS5に戻る。また、クライアントAにログアウトメッセージが来ない場合には次ステップS13に進み、イベント検知処理、例えば、新規アルバムの作成メッセージか否か等の判断を行い、ステップS14に進みイベントに応じた処理(例えば、アルバムリストの更新等)を行ってからステップS5に戻る。
【0080】
尚、ステップS13からS14に進み、S5に戻るループがイベント処理に係る主要な流れを示す。
【0081】
ステップS13からステップS15に進んだ場合に、ここで、クライアントAの終了(Exit)がユーザから指示されたか否かが判断される。そして、終了指示がなされた場合には、ステップS16に進むが、そうでない場合にはステップS5に戻る。
【0082】
ステップS16において、セッション管理プロセスMのクライアントテーブルからクライアントAの登録が抹消される(アプリケーションハンドルが削除される。)。そして、ステップS17に進んで、アプリケーション(クライアントA)が停止する。
【0083】
以上のように、クライアントプログラムの起動後に、そのアプリケーションハンドルがクライアントテーブルに登録され、別のクライアントプログラムとサーバープログラムとの間で開始されたセッションの識別情報(セッションID)がセッション管理プロセスMにおいて保持されているかが判断される。そして、セッションIDを取得することができる場合には、該セッションIDを用いてサーバーとの通信処理を行えるようにユーザインターフェイスがログイン状態とされる。また、サーバーとの間にセッションが確立されていない状態でログインを行う場合に、ステップS7乃至S10に示すようにセッションが新たに開始されて、セッション管理プロセスMにおけるセッションIDの設定登録後にログイン状態とされる。
【0084】
しかして、上記した構成によれば、例えば、下記に示す利点が得られる。
【0085】
・ログインを必要とする、ひとつの情報サービス(Webサービス等)に対して、同一マシン上の異なるクライアントプログラム(アプリケーション)からユーザがアクセスする場合に、どれか1つのクライアントプログラムでログインすると、他のクライアントプログラムにおいて再度ログインする必要が無くなる。つまり、ユーザは使用するアプリケーション毎にログインする必要が無くなり、ユーザIDやパスワード等をいちいち入力する手間が省けるので、ユーザの利便性が向上する。
【0086】
・サーバー側からみた場合に、従来の構成では、クライアントマシンを使っているユーザが同一ユーザであるにもかかわらず、アプリケーション毎に複数のセッションを用意する必要がある(つまり、ユーザが同じでもアプリケーション毎にセッションの生成及びセッションIDの付与が必要とされる。)。これに対して、本発明に係る上記の構成では、複数のアプリケーションに関して1つのセッションIDで済むので、不要なリソースを消費しないように回避できる。
【0087】
・1つのセッションで有効なデータを使うようなサービス(例えば、ショッピングカートのような仕組みを実装したアプリケーションを用いたサービス)では、別々のクライアントプログラム(アプリケーション)から1つのセッションにアクセス可能であるため、それぞれのクライアントプログラムにおいて、共通の状態を参照したり、情報の更新等を行うことができる(つまり、アプリケーション毎に異なるセッションが確立されてサーバーとクライアントとの間で通信が行われる形態では、アプリケーション側からみた場合にサーバーのデータ等を、複数のアプリケーションの間で共有することができない。)。
【0088】
尚、本発明は、前記した情報処理装置やこれに用いるプログラムに限らず、上記したセッション管理機能を有するプログラムを記録した情報記録媒体(情報処理装置に装着してそのプログラムをメモリロードできるようにした各種の記録媒体や記憶媒体)や、一つのセッションを複数のクライアントプログラムの間で共有するために、セッションの識別情報を管理する方法等に幅広く適用することができる。
【0089】
【発明の効果】
以上に記載したところから明らかなように、請求項1、請求項4に係る発明によれば、異なるクライアントプログラムであっても、ユーザ認証後に確立される同一セッションの識別情報を用いてサーバープログラムとの間で通信処理を行うことができるので、ログインのための重複した入力操作からユーザが解放され、また、複数のクライアントプログラムからみた場合に、クライアントプログラムの間でサーバーのデータ等を共有することができる。
【0090】
請求項2、請求項5に係る発明によれば、クライアントプログラムが新たに起動された場合に、該クライアントプログラムに対してセッションの識別情報を通知することができる。
【0091】
請求項3、請求項6に係る発明によれば、所定のイベントが発生した場合(例えば、あるクライアントプログラムでのログアウト等)に、テーブルに登録されている全クライアントプログラムに対して該イベントに応じたメッセージが送られるので、該メッセージが通知されないことに起因する弊害や不要動作(例えば、ログアウト状態であるにもかかわらずログイン状態を前提としたリクエスト等が発行される等)を防止できる。
【図面の簡単な説明】
【図1】本発明に係るシステム構成例を示す概念図である。
【図2】クライアントプログラム「アップローダ」の画面例を示す説明図である。
【図3】クライアントプログラム「機能拡張バー」を含むブラウザの画面例を示す説明図である。
【図4】クライアントプログラム「機能拡張バー」の画面例を示す説明図である。
【図5】本発明に係る処理例を示す説明図である。
【図6】イベント通知に係る処理例を示す説明図である。
【図7】クライアントプログラムの起動から停止までの処理例について説明するためのフローチャート図である。
【符号の説明】
2…情報処理装置、2m…セッション管理手段
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a technique for improving the convenience of a user and reducing the load on a server in an information processing apparatus having a communication function.
[0002]
[Prior art]
As a client program of a server that provides Web (World Wide Web etc.) services, it is possible to access not only Web browsers but also functions (Web services) provided by Web servers directly using HTTP (Hypertext Transfer Protocol) etc. Clients are becoming more common.
[0003]
When communication is performed between a server machine and a client machine on a network, user authentication is usually required. For example, in the case of using a Web service that requires a login, input of a user ID (identification information), a password (a password), and the like is required when using the Web service from a client program on a client machine.
[0004]
[Problems to be solved by the invention]
By the way, in the conventional device, since the same session cannot be shared between a plurality of client programs and information cannot be exchanged with a server program, for example, the following problem occurs.
[0005]
When only one type of client program for accessing a Web service or the like provided by the same server exists in one information processing apparatus, the client program (application) is started, and then a user ID, a password, and the like are set. To perform user authentication. However, when accessing the same Web service using a plurality of applications and the user desires to use the applications in cooperation with each other, it is necessary to input a user ID and a password for each application and start a session with the server. There is. In other words, even if the server is the same, a different session is started for each client program on the client machine.
[0006]
Under such circumstances, the following matters become problems.
[0007]
Since the user needs to input the same user ID and password for each application each time, the operation is bothersome and troublesome.
[0008]
For the server, different sessions must be started for one user, which consumes useless resources (computer resources).
[0009]
When information necessary for management for each session is managed as temporary information (volatile data) in the system design of a Web service or the like (for example, in a shopping system such as a shopping cart, after logging in, the content in the cart is In the case where the product information that the user wants to order is held, and the product information in the cart is cleared at the end of the session, etc.), between client programs managed as separate sessions, A problem arises that the data on the server side cannot be shared even though the users are the same.
[0010]
Therefore, an object of the present invention is to increase the convenience of a user by sharing a session between a server and a plurality of client programs on the same information processing apparatus.
[0011]
[Means for Solving the Problems]
The information processing apparatus according to the present invention, for a session established as a logical connection relationship between the server program and the client program through user authentication, to share one session among a plurality of client programs, A session management means for managing the identification information of the session is provided.
[0012]
Further, the program used in the information processing apparatus according to the present invention manages identification information of the session in order to share one session established with the server program after user authentication among a plurality of client programs. It has steps.
[0013]
Therefore, according to the present invention, even with different client programs, communication processing can be performed with the server program using the identification information of the same session established after user authentication.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
According to the present invention, in a system for providing a client with a Web service provided by a server, one session (server session) can be shared by a plurality of clients on the same machine (client machine). is there. For example, when a user uses a plurality of client programs that can access one Web service, if the user is the same, there is no need to perform a separate login for each client program and once After logging in with the client program, there is no need to log in with other client programs thereafter. As a result, user convenience can be improved.
[0015]
Here, “session” means a logical connection relationship in communication established between a server program and a client program through user authentication using a user ID, a password, and the like. It is generated and started (or started) and disappears due to end conditions such as user operation or time limit. More simply, it represents a series of processes performed between the server and the client from the start of login to the end of logout or the like.
[0016]
FIG. 1 conceptually shows an example of a system including a computer network using the Internet or the like and an information processing device (a server machine or a client machine) connected thereto.
[0017]
In the present system (information communication system) 1, client machines 2c, 2c,... And a server machine 2s are provided as information processing apparatuses 2. That is, a server machine 2s that provides a specific information service (Web service or the like) to the client machines 2c, 2c,... Is connected on a network, and a server program executed on the server machine 2s is used. Various types of information processing required for information services and the like are performed.
[0018]
The client machine 2c can exchange information with a server program using a client program executed on the machine. As the “client machine”, for example, a personal computer having a network communication function, a mobile communication terminal device such as a PDA (Personal Digital Assistance), a mobile phone, or the like, which can access a Web service or the like, or a network connection is possible. Various devices (such as an imaging device and a video device) are included. The client program includes, for example, a browser (browsing software), but is not limited thereto, and various applications can be used.
[0019]
FIG. 1 conceptually shows a state in which a plurality of client programs A, B,... Are executed in a certain information processing apparatus (client machine 2c). The client machine is provided with session management means 2m for managing the identification information of the session in order to share one session among a plurality of client programs (processes) (as an actual hardware configuration, for example, A central processing unit, a main memory, various controllers such as a system controller, an auxiliary storage device, and the like are provided, and the session management unit 2m is realized using a program or the like, but is simplified in the figure.)
[0020]
As an example, an execution program (hereinafter, referred to as a “session management process”) corresponding to one server session is prepared on the client side, and session identification information is managed using this. In other words, this session management process constitutes the session management means 2m, and ID information (hereinafter referred to as ID) for identifying a session generated at the time of connection between the client machine or the program and the server machine or the program or at the time of login. , “Session ID”).
[0021]
Client programs to be executed when using the Web service and the like exist as separate programs (processes) on one client machine, respectively. These programs inquire and set a session ID to a session management process. It can be carried out.
[0022]
When logging in to the server from the first client program (client A), a session management process is started, and the session ID of the session started between client A and the server program is sent to client A by the session management process. Set.
[0023]
Thereafter, when the second client (client B) is activated, the session ID is notified to the client B from the session management process on condition that there is a session management process. That is, the client B determines whether or not the session management process exists, and if the process exists on the client machine, extracts the set session ID. Then, when communication with the server machine is started using the client B, access to the server is performed using the acquired session ID.
[0024]
Communication processing using the same session ID as in the case of the client A is performed between the client B and the server program, so that the user using the client B logs in to a Web service or the like, and thus a user name and a password are used. Therefore, there is no need to input data required for user authentication.
[0025]
In the above description, the session management process is generated at the first login, but the timing of generating the process does not require the action of “login”. Therefore, the present invention can be implemented in various forms, such as a resident program form, or by generating a process when connecting to a Web service or the like for the first time.
[0026]
Hereinafter, a web service of a photo sharing site (a site for sharing and using image information) that handles image data will be specifically described with reference to FIGS. 2 to 7.
[0027]
In this site (http://www.imagestation.jp/), image files are managed by a logical structure (one hierarchical structure) similar to a file system directory, called "album".
[0028]
An interface (External Interface) for a web service is an interface for providing a function of obtaining a list of albums, acquiring image information in an album, or uploading an image to a specific album, and a client program “Uploader”. "And" Function extension bar ".
[0029]
The “uploader” is a dedicated client program having a function of uploading (transmitting or transferring) an image file on a client machine (local machine) to a site.
[0030]
2A and 2B show examples of a screen (main screen) of the “uploader”. FIG. 2A shows a display state before login, and FIG. 2B shows a display state after login.
[0031]
(A) The meaning of each part (object) in the state before login shown in the figure is as follows.
[0032]
-Drop target section (3_1) = an area originally provided for dragging and dropping an image file (icon operation with a mouse pointer) (before login, only an animation or the like is displayed, and there is no special function.)
ID input section (3_2) = login ID (user ID) input and edit area
・ Password input part (3_3) = password input and edit area
"Login" button (3_4) = Button object for login operation
Menu button (3_5) = Button object that displays a pop-up menu (including items such as album list update, upload, new album creation, etc.) at the time of operation.
[0033]
On the right side of the menu button 3_5, objects such as an “open album” button 3_6 and an “invite to album” button 3_7 are arranged.
[0034]
Further, the meaning of each unit (object) in the state after login shown in FIG.
[0035]
・ Drop target part (3_1) = Uploading of the image file is started by an event generated by dragging and dropping the image file to this part in the state of login to the site, and the following “Album dropdown” The image file is uploaded to the album selected in "List".
[0036]
Nickname part (3_8) = display area for the name (nickname) registered by the logged-in user
"Logout" button (3_9) = Button object for logout operation Album dropdown list (3_10) = Display album list owned by user, upload image file by drag & drop, "Open album" button 3_6 All operations using the "invite to album" button 3_7 are performed on the album selected in this list object.
[0037]
The arrangement of the menu button 3_5, the “open album” button 3_6, and the “invite to album” button 3_7 are the same as those in FIG.
[0038]
For example, a procedure in which a user accesses a site using an “uploader” and uploads a desired image file to an album intended by the user is as follows.
[0039]
(1) Startup and login of “Uploader” (operation such as input of login ID and password on the screen shown in FIG. 2A)
(2) After the user authentication is completed, the display state shown in FIG. 2B is displayed, and the user selects an album to be uploaded from the album drop-down list 3_10.
(3) The image file is uploaded by the user performing an operation of moving the icon of the desired image file to the drop target unit 3_1 by drag and drop.
[0040]
Next, the “function extension bar” will be described with reference to FIGS. 3 and 4.
[0041]
The “function extension bar” is a client program (plug-in component or the like) that is functionally added as a plug-in (or add-in) to a specific browser or the like.
[0042]
FIG. 3 shows a form added to the browser, and FIG. 3 shows a “function extension bar” arranged at the bottom of a toolbar such as an address bar. For example, in the case of a plug-in form to Internet Explorer (trademark of Microsoft Corporation), in Windows (trademark of OS manufactured by Microsoft Corporation), this is implemented as a dynamic link library (DLL: Dynamic Link Library), and the system The memory is loaded by the browser by registering in.
[0043]
FIG. 4 shows an example of the screen of the “function extension bar”. FIG. 4A shows a display state before login, and FIG. 4B shows a state after login.
[0044]
(A) In the state before login shown in the figure, only the button object 4_1 is displayed, and when this button is pressed, a predetermined menu (login, help, etc.) is displayed.
[0045]
Further, the meaning of each unit (object) in the state after login shown in FIG.
[0046]
Button object (4_1) = By a button operation, a menu including various items such as logout, album information, creation of a new album, and the like is displayed.
[0047]
"Album" button (4_2) = a button object that displays an album title, and the latest one sorted (rearranged) at the time of updating the album is displayed in order from one side of the display screen. When the user presses the book button, the display transits to the image list page of the album.
[0048]
"Move album" button (4_3) = button objects (indicated by "<<" and ">>") located on both sides of the "album" button group displayed on the bar. This button is enabled when the display area of the “function extension bar” is small or the number of albums is large. For example, when the button is pressed, the “album” button is pressed in the direction indicated by “<<” or “>>” Is shifted (moved). Thereby, the display of the “album” button group displayed on the bar can be changed.
[0049]
The user can log in to the site from the “function extension bar”, and at that time, the user's album list data is obtained via an interface (External Interface), and they are “album” button (shortcut button) ) On the bar.
[0050]
A program (browser or the like) having the same function as the “function extension bar” can be designed and created from the beginning, but as shown in this example, it is necessary to add a function to an existing program that the user is familiar with. The form in which the processing is added has the advantage that the burden on the user is small, including learning the operation and the like anew, and the burden on creating the program is reduced.
[0051]
The "Uploader" and "Function Extension Bar" are separate client programs, but you can log in to the same site using either of them and essentially establish a session with the server. It is.
[0052]
FIG. 5 is a diagram for explaining a basic flow in the case of sharing a session, in which a server program (“S”) and client programs A and B connected by a network, and a session management process “M” are connected. Shows the relationship. In this example, the client program A is an “uploader” and the client program B is an “extension bar”. Only the “uploader” is activated first, and then a browser including the “extension bar” is displayed. Is assumed to be activated.
[0053]
As illustrated, the session ID (“000111” in this example) created in the server program S is sent to the client machine and managed by the session management process M.
[0054]
The session management process M holds a “client table”, which is a table for registering an execution instance of a client program. For example, when the client A issues a request to the server and information or data regarding a session inside the server is changed, the table is used so that the client B knows the event. When each client program (process) is ready to receive an event, an application handle is registered in this client table (the “application handle” is an identification used to specify an execution application). Information, for example, a window handle in the case of a GUI (Graphical User Interface).)
[0055]
When a predetermined event occurs (for example, when a user logs out with a certain client program), a message corresponding to the event is sent to all clients registered in the client table.
[0056]
A flow of a series of processes will be described below according to the procedure examples (1) to (8) shown in FIG.
[0057]
(1) Client A activation and user input steps
(2) User authentication and session generation steps
(3) Steps for creating a session management process and managing sessions
(4) Client B startup step
(5) Step of extracting session ID and registering application handle
(6) Session ID return step
(7) Step of calling the server using the session ID of (6)
(8) Returning a response to the logged-in session.
[0058]
First, in (1), a client A, that is, an "uploader" is started in response to a user's instruction. Thereafter, a screen requesting a login ID and a password for the site (see FIG. 2A) is presented to the user. The item (login ID, password) data input by the user is encrypted and sent to the server program S.
[0059]
In (2), user authentication is performed in the server, and it is determined whether or not the information input in (1) is correct user information. When it is determined that the user information is correct, a session (here, the session ID is temporarily assumed to be “000111”) is generated. The session ID information is returned from the server program S to the client A.
[0060]
In (3), when a correct session ID is sent from the server, the client A generates a session management process M and sets a session ID (“000111” in this example). This is because the session management process M needs to manage the session ID in order to share one session among a plurality of client programs. At the same time, the application handle (window handle) is registered in the client table of the session management process M (at this point, the client B has not been registered in the client table).
[0061]
In (4), the client B, that is, the browser is started in response to the user's instruction (see FIG. 3).
[0062]
In (5), the session management process M is searched immediately after the client B is started, and it is determined whether the process exists. If there is a session management process, the session ID set in (2) is extracted. At this time, an application handle (window handle) for specifying the “function extension bar” (including the browser) is registered (this is registered in the client table of the session management process).
[0063]
In (6), the session ID registered in the session management process is sent to the client B. That is, the session ID is notified to the client B so that communication processing using the session ID can be performed between the client B and the server program S.
[0064]
In (7), when calling the server of the site, access is made using the session ID obtained in (6). For example, in (1), when a user requests a page in a login state by the user ID input to the uploader, the session ID is sent to the server together.
In (8), a response to the logged-in session is returned to the client B.
[0065]
The processing of (1), (2) and (7), (8) is performed by network communication between the server machine and the client machine, and the processing of (3), (5), (6) The processing is performed by inter-process communication (such as LPC: Local Procedure call). Regarding the request to the server in (7), it is also possible to insert the session ID acquired in (6) into a so-called cookie (Cookie: a mechanism in which the WWW server identifies and manages the user) and notify the server.
[0066]
In FIG. 5, in (3) and (5), the applications (clients A and B) set application handles for the session management process M, and the session management process M holds the setting information in the client table. are doing. The client table is required for the session management process M to notify another client of an event (for example, logout or creation of a new album) generated from one client.
[0067]
Next, assuming that both the “uploader” and the “function extension bar” (including the browser) are in the logged-in state, the mechanism of event notification will be described with reference to FIG.
[0068]
The processing flow is as follows.
[0069]
(11) Perform a logout operation from the client A (“uploader”) to the server
(12) The status of successful logout returns to client A. Here, logout means deleting the server session. In this state, the client B does not know that the corresponding session (ID = 000111) has been lost in the server.
(13) Client A sends a logout event to session management process M
(14) The session management process M sends a logout event to all clients (client B in this example) other than the client A (sender) registered in the client table. Accordingly, the client knows that the current session is no longer valid, and can perform processing such as, for example, setting the user interface to a login standby state.
[0070]
FIG. 7 is a flowchart exemplifying the flow of processing from the start to the stop mainly of the client program (“uploader”) in relation to the session management process. The same is true for the "function expansion bar.")
[0071]
“State” in the drawing indicates whether the state is a login state (login) or a logout state (logout).
[0072]
First, in step S1, the client A is activated (at this point, it is in a logout state). In the next step S2, the application handle of the client A is registered in the client table of the session management process M.
[0073]
Then, in step S3, it is determined whether a session ID can be obtained from the session management process M. That is, if the session has already been established and the session ID is held in the session management process M, the process proceeds to step S4. If not (session not established), the process proceeds to step S5.
[0074]
In step S4, the user interface (UI) is set to a login state (State = login), and the process proceeds to next step S5.
[0075]
In step S5, a process for waiting for a message and a user event from the session management process M is started.
[0076]
In the next step S6, if the user is currently logged out, it is determined whether or not to log in using the user interface. Note that “State == logout” means a conditional expression having an equality relationship, and indicates a true value when the condition is satisfied. If the user is currently logged out and logs in, the process proceeds to step S7; otherwise, the process proceeds to step S11.
[0077]
In step S7, after a login request is sent from the client A to the server, the success or failure of the login is determined in the next step S8. If the login is successful, the process proceeds to step S9. If the login is unsuccessful, the process proceeds to step S5. Return to
[0078]
In step S9, the session ID sent from the server when the login is successful is set and managed in the session management process M. Then, after the user interface is set to the login state in the next step S10 (State = login), the process returns to step S5.
[0079]
In step S11, it is determined whether a logout message has been delivered from the session management process M to the client A. That is, as described above, when an event occurs when another client logs out, a logout message is sent to all clients registered in the client table. If the message comes, the process proceeds to step S12. After the user interface is logged out (State = logout), the process returns to step S5. If the logout message does not come to the client A, the process proceeds to the next step S13, where event detection processing is performed, for example, whether or not the message is a message for creating a new album is performed. , Update of the album list, etc.), and then return to step S5.
[0080]
Note that a loop that proceeds from step S13 to S14 and returns to S5 shows a main flow relating to event processing.
[0081]
When the process proceeds from step S13 to step S15, it is determined here whether or not the user has instructed termination of the client A (Exit). Then, when the end instruction is given, the process proceeds to step S16, but otherwise, the process returns to step S5.
[0082]
In step S16, the registration of the client A is deleted from the client table of the session management process M (the application handle is deleted). Then, proceeding to step S17, the application (client A) stops.
[0083]
As described above, after the activation of the client program, the application handle is registered in the client table, and the identification information (session ID) of the session started between another client program and the server program is held in the session management process M. Is determined. If the session ID can be obtained, the user interface is logged in so that communication processing with the server can be performed using the session ID. When a login is performed in a state where a session has not been established with the server, a session is newly started as shown in steps S7 to S10, and the login state is set after registration of the session ID in the session management process M. It is said.
[0084]
According to the above configuration, for example, the following advantages can be obtained.
[0085]
When a user accesses a single information service (Web service or the like) requiring a login from a different client program (application) on the same machine, if the user logs in with any one of the client programs, the other There is no need to log in again in the client program. In other words, the user does not need to log in for each application to be used, and can save the trouble of inputting a user ID, a password, and the like, thereby improving user convenience.
[0086]
In the conventional configuration, when viewed from the server side, it is necessary to prepare a plurality of sessions for each application even though the user using the client machine is the same user (that is, even if the user is the same, Each time, it is necessary to generate a session and assign a session ID.) On the other hand, in the above configuration according to the present invention, since one session ID is sufficient for a plurality of applications, it is possible to avoid unnecessary resources from being consumed.
[0087]
-In a service that uses valid data in one session (for example, a service using an application that implements a mechanism such as a shopping cart), one session can be accessed from different client programs (applications). In each client program, it is possible to refer to a common state, update information, and the like (that is, in a form in which a different session is established for each application and communication is performed between the server and the client, When viewed from the application side, server data and the like cannot be shared between multiple applications.)
[0088]
The present invention is not limited to the above-described information processing apparatus and the program used for the same, but may be applied to an information recording medium (a program that can be loaded into an information processing apparatus so that the program can be loaded into a memory). Various types of recording media and storage media), and a method of managing session identification information in order to share one session among a plurality of client programs.
[0089]
【The invention's effect】
As is apparent from the above description, according to the first and fourth aspects of the present invention, even if different client programs are used, the server program can use the same session identification information established after user authentication. The communication process can be performed between users, so that the user is released from the duplication of input operations for login, and sharing of server data etc. between client programs when viewed from multiple client programs. Can be.
[0090]
According to the second and fifth aspects of the present invention, when a client program is newly started, it is possible to notify the client program of session identification information.
[0091]
According to the third and sixth aspects of the present invention, when a predetermined event occurs (for example, logout from a certain client program), all the client programs registered in the table respond to the event. Since the message is sent, it is possible to prevent adverse effects and unnecessary operations caused by the message not being notified (for example, issuance of a request that assumes a login state despite being in a logout state).
[Brief description of the drawings]
FIG. 1 is a conceptual diagram showing a system configuration example according to the present invention.
FIG. 2 is an explanatory diagram showing an example of a screen of a client program “uploader”.
FIG. 3 is an explanatory diagram showing an example of a screen of a browser including a client program “function extension bar”;
FIG. 4 is an explanatory diagram showing an example of a screen of a client program “function extension bar”.
FIG. 5 is an explanatory diagram showing a processing example according to the present invention.
FIG. 6 is an explanatory diagram illustrating an example of processing related to event notification.
FIG. 7 is a flowchart for explaining a processing example from start to stop of a client program;
[Explanation of symbols]
2 information processing device, 2m session management means

Claims (6)

ユーザ認証を経てサーバープログラムとクライアントプログラムとの間の論理的な接続関係として確立されるセッションを通して情報伝達を行う通信機能を備えた情報処理装置において、
一つのセッションを複数のクライアントプログラムの間で共有するために、該セッションの識別情報を管理するセッション管理手段を備えている
ことを特徴とする情報処理装置。
An information processing apparatus having a communication function of transmitting information through a session established as a logical connection relationship between a server program and a client program through user authentication,
An information processing apparatus comprising: session management means for managing identification information of a session in order to share one session among a plurality of client programs.
請求項1に記載の情報処理装置において、
第一のクライアントプログラムと上記サーバープログラムとの間で開始されたセッションの識別情報が上記セッション管理手段により管理されるとともに、その後に第二のクライアントプログラムが起動された場合に、該セッションの識別情報が上記セッション管理手段から第二のクライアントプログラムに通知されることで、第二のクライアントプログラムと上記サーバープログラムとの間で該セッションの識別情報を用いた通信処理が行われる
ことを特徴とする情報処理装置。
The information processing device according to claim 1,
The identification information of the session started between the first client program and the server program is managed by the session management means, and when the second client program is subsequently activated, the identification information of the session Is notified to the second client program from the session management means, so that communication processing using the identification information of the session is performed between the second client program and the server program. Processing equipment.
請求項1に記載の情報処理装置において、
上記セッション管理手段が、上記クライアントプログラムを登録するためのテーブルを備えており、所定のイベントが発生した場合に該テーブルに登録されている全てのクライアントプログラムに該イベントに対応するメッセージが送られる
ことを特徴とする情報処理装置。
The information processing device according to claim 1,
The session management means includes a table for registering the client program, and when a predetermined event occurs, a message corresponding to the event is sent to all client programs registered in the table. An information processing apparatus characterized by the above-mentioned.
ユーザ認証を経てサーバープログラムとクライアントプログラムとの間の論理的な接続関係として確立されるセッションを通して情報伝達を行う通信機能を備えた情報処理装置に用いるプログラムであって、
一つのセッションを複数のクライアントプログラムの間で共有するために、該セッションの識別情報を管理するステップを有する
ことを特徴とする情報処理装置に用いるプログラム。
A program used in an information processing apparatus having a communication function of transmitting information through a session established as a logical connection between a server program and a client program through user authentication,
A program for use in an information processing apparatus, comprising a step of managing identification information of a session in order to share one session among a plurality of client programs.
請求項4に記載の情報処理装置に用いるプログラムにおいて、
第一のクライアントプログラムと上記サーバープログラムとの間で開始されたセッションの識別情報を保持し、その後に第二のクライアントプログラムが起動された場合に、第二のクライアントプログラムと上記サーバープログラムとの間で該セッションの識別情報を用いた通信処理を行えるように、該セッションの識別情報を第二のクライアントプログラムに通知するステップを有する
ことを特徴とする情報処理装置に用いるプログラム。
A program used in the information processing apparatus according to claim 4,
Holds the identification information of the session started between the first client program and the server program, and then, when the second client program is started, the communication between the second client program and the server program A step of notifying the second client program of the identification information of the session so that a communication process using the identification information of the session can be performed.
請求項4に記載の情報処理装置に用いるプログラムにおいて、
上記クライアントプログラムをテーブルに登録しておき、所定のイベントが発生した場合に該テーブルに登録されている全てのクライアントプログラムに該イベントに対応するメッセージを送るステップを有する
ことを特徴とする情報処理装置に用いるプログラム。
A program used in the information processing apparatus according to claim 4,
An information processing apparatus comprising: registering the client program in a table; and transmitting a message corresponding to the event to all client programs registered in the table when a predetermined event occurs. Program used for
JP2003006935A 2003-01-15 2003-01-15 Information processor and program to be used for same Pending JP2004220318A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003006935A JP2004220318A (en) 2003-01-15 2003-01-15 Information processor and program to be used for same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003006935A JP2004220318A (en) 2003-01-15 2003-01-15 Information processor and program to be used for same

Publications (1)

Publication Number Publication Date
JP2004220318A true JP2004220318A (en) 2004-08-05

Family

ID=32897170

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003006935A Pending JP2004220318A (en) 2003-01-15 2003-01-15 Information processor and program to be used for same

Country Status (1)

Country Link
JP (1) JP2004220318A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007316679A (en) * 2005-05-11 2007-12-06 Sony Corp Processor, method of establishing communication session for processor, program, and recording medium
JP2009049508A (en) * 2007-08-14 2009-03-05 Nec Corp Communication apparatus, program, and network selecting method
JP2009181417A (en) * 2008-01-31 2009-08-13 Oki Electric Ind Co Ltd Online service providing system and online service providing method
JP2014096063A (en) * 2012-11-09 2014-05-22 Kddi Corp Server, terminal device, content distribution system, and program
JP2014135022A (en) * 2013-01-11 2014-07-24 Kddi Corp Terminal device, program and advertisement display method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007316679A (en) * 2005-05-11 2007-12-06 Sony Corp Processor, method of establishing communication session for processor, program, and recording medium
JP2009049508A (en) * 2007-08-14 2009-03-05 Nec Corp Communication apparatus, program, and network selecting method
JP2009181417A (en) * 2008-01-31 2009-08-13 Oki Electric Ind Co Ltd Online service providing system and online service providing method
JP2014096063A (en) * 2012-11-09 2014-05-22 Kddi Corp Server, terminal device, content distribution system, and program
JP2014135022A (en) * 2013-01-11 2014-07-24 Kddi Corp Terminal device, program and advertisement display method

Similar Documents

Publication Publication Date Title
US10778763B2 (en) Content item sharing and synchronization system with team shared folders
KR101505234B1 (en) Xml-based web feed for web access of remote resources
US9298747B2 (en) Deployable, consistent, and extensible computing environment platform
JP4456485B2 (en) Method and apparatus for managing a collection of portlets in a portal server
US9003059B2 (en) Running applications in an online or offline mode based on the availability of the connection to the remote web server
JP4473128B2 (en) Method and apparatus that allows associated portlets of a web portal to collaborate for synchronized content display
US20210286861A1 (en) User Experience Container Level Identity Federation and Content Security
EP2353102B1 (en) Method and apparatus for managing state information of remote user interface
US11102206B2 (en) Methods and apparatus for establishing shared memory spaces for data access and distribution
US9176720B1 (en) Installation of third-party web applications into a container
US20150032731A1 (en) Information processing apparatus, method of controlling the same, and storage medium
US20100306642A1 (en) Co-browsing (java) scripted html documents
WO2003091889A1 (en) Collaboration server, collaboration system, session management method thereof, and program
JP4066444B2 (en) Homepage automatic generation apparatus and method
CN110740118B (en) Protocol for initiating sessions with partner sites
US7809837B2 (en) User interface for configuring web services for remote portlets
CN111651418B (en) Document content downloading method and device, computer equipment and storage medium
WO2010098096A1 (en) Portable terminal device, content player, bookmark management server, bookmark management system, bookmark management method, content playback method, bookmark management server control method, control program, and recording medium
JP2004220318A (en) Information processor and program to be used for same
JP2008077614A (en) Session management program and session management method
JP2015046818A (en) Application system, portable terminal, server computer, and computer program
KR100562357B1 (en) A system and a method for providing blog service
JPH10307745A (en) Document processing system
JP2001117845A (en) System and method for providing information, identification information adding device and computer- readable recording medium recorded with identification information adding program, information providing device and compute-readable recording medium recorded with information providing program, and information using terminal and computer-readable recording medium recorded with information using program
JP2002342286A (en) Electronic information management system and server and client