JP2007323115A - ローカル・プロキシにより通信情報を共有する方法 - Google Patents

ローカル・プロキシにより通信情報を共有する方法 Download PDF

Info

Publication number
JP2007323115A
JP2007323115A JP2006149356A JP2006149356A JP2007323115A JP 2007323115 A JP2007323115 A JP 2007323115A JP 2006149356 A JP2006149356 A JP 2006149356A JP 2006149356 A JP2006149356 A JP 2006149356A JP 2007323115 A JP2007323115 A JP 2007323115A
Authority
JP
Japan
Prior art keywords
application
server
local proxy
browser
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006149356A
Other languages
English (en)
Other versions
JP4353487B2 (ja
Inventor
Katsunao Kataoka
片岡 克尚
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2006149356A priority Critical patent/JP4353487B2/ja
Priority to CNA2007101048281A priority patent/CN101083602A/zh
Priority to US11/752,970 priority patent/US20070282965A1/en
Publication of JP2007323115A publication Critical patent/JP2007323115A/ja
Application granted granted Critical
Publication of JP4353487B2 publication Critical patent/JP4353487B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】端末で動作するブラウザと同じプロセスで動作するローカル・プロキシを使用した通信情報を共有する方法を提供する。
【解決手段】端末20で動作するローカル・プロキシ222が、端末20で動作するアプリケーションとサーバ10との間の通信を代理するものとして、端末20で動作するブラウザ221と同じプロセス220で動作するステップと、アプリケーション231が、ローカル・プロキシ222とは異なるプロセス230で動作するステップと、ローカル・プロキシ222が、アプリケーション231が送信したデータを受信し、データをブラウザ221を経由してサーバ10に送信するステップと、ローカル・プロキシ222が、サーバ10からの処理済データをブラウザ221を経由して受信し、処理済データをアプリケーション231に送信するステップと、を含む方法。
【選択図】図2

Description

本発明は、ネットワーク・アプリケーションが動作するクライアント・サーバ・システムにおけるクライアント端末(以下、端末ともいう)で動作するブラウザと同じプロセスで動作するローカル・プロキシを使用した通信情報を共有する方法、当該システム、およびプログラムに関する。
従来、インターネットを介してWebサーバにアクセスするユーザ端末と、Webサーバとの間に、Webサイトにおけるユーザ認証を代行するユーザ認証プロキシを配置したシングルサインオン・システムが開示されている(例えば、特許文献1)。このシステムは、ユーザ端末の種類を問わず、ユーザがURLで指定したWebサイトに対するユーザ認証を、ユーザ認証プロキシに代行させるようにしたものである。
特開2002−32340号公報
一方、ローカル・プロキシという、自端末内でプロキシ機能を持ったソフトウェアが存在する。ローカル・プロキシは、現状においては、以下のような使い方をしている。つまり、ブラウザから当該ローカル・プロキシにデータの要求を送信すると、ローカル・プロキシがブラウザの代わりにWebサーバに対してデータの要求を行う。また、当該Webサーバから送信されたデータを当該ローカル・プロキシが受信し、ブラウザに当該データを送信する。このような使い方により、Webサーバから送信されてくるデータをユーザの好みに変更してブラウザに送信することができる。例えば、広告除去、JavaScript(登録商標)無効、オートリロード無効などを実現することができる。
ところで、ビジネス・アプリケーションをWebシステムとして開発する場合、企業内では認証情報の統合を行っている場合が多く存在する。当該Webシステムでは、端末の処理としてブラウザの利用が前提となっている。Webシステムは、サーバ・サイドでのロジック処理が基本であり、ブラウザは、基本的な処理としてHTTP(HyperText Transfer Protocol)によりWWW(World Wide Web)サーバからの処理結果を受け取り表示する。ブラウザとHTTPによる通信を前提とすることで、複数のアプリケーションを跨る全社的な統合認証の実装が可能となる。より具体的には、ブラウザと認証サーバとの間で、Cookie等のブラウザが処理可能な形式で認証情報を付加することにより、各アプリケーションの通信にブラウザが自動的に認証情報を付加することが可能である。そのため、各アプリケーションは認証に関して特別な配慮を行う必要が無くなる。
しかしながら、ブラウザを使う場合には、ユーザ・インターフェイスとしての入力処理における表現が乏しく、ファンクション・キーやリターン・キーの割り当てが難しいなど、操作性においてクライアント・サーバ・システムのような複雑な操作ができない等の問題点がある。このような理由から、ブラウザによる実装が適さない業務分野も存在する。
一方で、リッチ・クライアントと呼ばれる技術が使用されることも多くなっている。リッチ・クライアントとは、例えば、Webブラウザのプラグインなど、他の技術を用いることによりユーザ・インターフェイスの表現力や操作性を向上し、「リッチ」なクライアントを実現するものをいう。リッチ・クライアントは、独自の実行環境を提供し、各技術固有のアプリケーションで動作する。このため、ブラウザによる実装が適さない業務分野では、リッチ・クライアント技術により対応しようとする流れが存在する。
このリッチ・クライアント技術は、ブラウザに組み込まれる形式のものが多く、ブラウザを使用して実行することが可能であるが、これは、ブラウザのプロセス空間内で実行されることを意味する。この形態の場合、ブラウザの持つ通信情報の共有が可能であり、統合認証の利用も可能である。
しかしながら、ブラウザという単一プロセス内で、リッチ・クライアントの実行環境の複数のバージョンを並列で動作可能にすることは困難である。業務アプリケーションにおいては、開発が終了したアプリケーションを、開発当時の実行環境のバージョンで使用し続けることを顧客が望むことが多く存在する。しかし、同じリッチ・クライアント技術を使用し、異なる時期に開発されたアプリケーションが存在する場合、現状であれば、いずれかのバージョンに統一しないとブラウザという単一プロセス内で動かすことができない。
別の方法として、アプリケーションをブラウザという単一のプロセスに組み込ませるのではなく、アプリケーションごとに異なるプロセス空間を用意すれば、複数バージョンのアプリケーションを動かすことができる。しかし、この場合、起動したアプリケーションでは、ブラウザと、認証などに使用する情報(Cookie等)と、を共用することができない。そのため、起動したアプリケーションで、再度ユーザ認証を求められる事態が発生する。よって、この場合には、特許文献1に記載されているような方法を用いても、一度認証を得ると、その権限内でアプリケーションを利用可能であるという共通認証のメリットを得ることができなくなる。その結果として、共通認証を当然の前提と考える顧客にとって、この提案は受け入れられず、ビジネスチャンスを逃すことになりかねない。それでも共通認証を実現しようとする場合には、アプリケーションとしての認証の開発が必要になり、本来不必要な使い勝手を悪くする開発にコストをかけることにもなる。
ブラウザから、何らかの手段でリッチ・クライアントの起動時に認証情報を引き継ぐことを可能とする実装を検討することも考えられるが、この場合、認証情報の引継ぎは、汎用的な方式ではなく非常に特殊な方式になってしまうため、実装へのコストがかかるという問題がある。それに加えて、例えば、起動後に一定時間で認証情報を更新するシステムなどへの対応ができなくなる。
そこで、本発明者は、ブラウザで動作するローカル・プロキシに着目し、他のアプリケーションの通信を中継するローカル・プロキシを実装することを考えた。このことにより、端末内の別プロセスで実行するアプリケーションの通信をブラウザに集約し、サーバとの通信を1つの通信経路とすることを目的とする。
本発明の第1の形態によると、ネットワーク・アプリケーションが動作するクライアント・サーバ・システムにおける通信情報を共有する方法を提供する。当該方法は、クライアント端末で動作するローカル・プロキシが、クライアント端末で動作するアプリケーションとサーバとの間の通信を代理するものとして、クライアント端末で動作するブラウザと同じプロセスで動作するステップと、アプリケーションが、ローカル・プロキシとは異なるプロセスで動作するステップと、ローカル・プロキシが、アプリケーションが送信したデータを受信し、データをブラウザを経由してサーバに送信するステップと、ローカル・プロキシが、サーバからの処理済データを、ブラウザを経由して受信し、処理済データをアプリケーションに送信するステップと、を含むことを特徴としている。
ここで、ローカル・プロキシは、ブラウザと同一のプロセスで動作しながら各プロセスのTCP/IPソケット通信ができる実装方法で実現されればよい。例えば、HTTPにより通信を行うことができる。また、ローカル・プロキシの実装としては、ActiveX(登録商標)や、Java(登録商標) Runtime Environment(以下、Java Runtime Env.と呼ぶ)等の実行環境を用いて実現してもよいし、独自に実現してもよい。
また、プロセスとは、OSからメモリ領域などの割り当てを受けて処理を実行しているプログラムのことをいう。
本発明の第2の形態によると、ネットワーク・アプリケーションが動作するクライアント・サーバ・システムにおける通信情報を共有するシステムを提供する。当該システムでは、クライアント端末で動作するブラウザと、クライアント端末で動作するローカル・プロキシであって、クライアント端末で動作するアプリケーションとサーバとの間の通信を代理するものとして、クライアント端末で動作するブラウザと同じプロセスで動作する、ローカル・プロキシと、を備え、アプリケーションは、ローカル・プロキシとは異なるプロセスで動作し、ローカル・プロキシは、アプリケーションが送信したデータを受信するデータ受信部と、データをサーバに送信するデータ送信部と、サーバからの処理済データを受信する処理済データ受信部と、処理済データをアプリケーションに送信する処理済データ送信部と、を備えることを特徴とする。
本発明の第3の形態によると、ネットワーク・アプリケーションが動作するクライアント・サーバ・システムにおける通信情報を共有するコンピュータに実行させるコンピュータ・プログラムを提供する。当該コンピュータ・プログラムは、クライアント端末で動作するローカル・プロキシに、クライアント端末で動作するアプリケーションとサーバとの間の通信を代理するものとして、クライアント端末で動作するブラウザと同じプロセスで動作するステップと、アプリケーションが送信したデータを受信し、データをサーバに送信するステップと、サーバからの処理済データを受信し、処理済データをアプリケーションに送信するステップと、を実行させ、アプリケーションに、ローカル・プロキシとは異なるプロセスで動作するステップを実行させる。
さらに別プロセスのアプリケーションがサーバと通信する際にも同様に、当該ローカル・プロキシに対しデータを送信することで、同様の作用効果を実現できる。
本発明によれば、別プロセスのアプリケーションの通信を中継するローカル・プロキシを実装することにより、端末内での通信をブラウザに集約し、サーバとの通信を1つの通信経路とすることが可能となる。そのため、複数のアプリケーションにおいてブラウザを用いた認証情報を共有することができ、結果として、シングルサインオンの実現と、リッチ・クライアントによる操作性の向上の両方の機能を享受し得る。
さらに、本発明によれば、汎用的な使用が可能なブラウザと同一のプロセスで動作するローカル・プロキシを提供することにより、様々なプラグイン・ソフトウェアや技術を用いたシステムにおいて当該方法を使用することができ、さらに、ローカル・プロキシによる通信を同一端末内での通信に限定することで、セキュリティを確保することができる。
さらに、本発明によれば、既存のアプリケーションで、サーバとの接続時に再認証を行っているアプリケーションであっても、ブラウザと同一のプロセスで動作するローカル・プロキシが中継するリクエストの発生源を、ローカル・ホストに限定することで望みのバージョンの実行環境に移行可能である。このため、この方式に集約する為に必要な変更点を非常に小さく抑えることができ、容易に望みのバージョンの実行環境に移行することができる可能性がある。
以下、本発明に係る好適な実施形態の一例について、図面に基づいて以下に説明する。図1は、従来の認証方法の一例である。図2は、本発明における認証方法の一例である。図3は、本発明での端末の機能ブロック図である。図4は、端末のハードウェア構成を示すものである。図5は、端末での処理フローの一例である。図6から図8は、本発明を使用した実装例である。図9は、本発明の実施形態におけるネットワーク・アプリケーションが動作するクライアント・サーバ・システムである。
図1は、従来の認証方法の一例を示したものである。図1の(a)は、端末20内のブラウザと認証サーバ40との間でCookieによる認証情報を付加することにより、アプリケーション・サーバであるサーバ10との通信を行うものである。このように、ブラウザの利用により、ブラウザがサーバ10との通信に自動的にCookieによる認証情報を付加することで、ブラウザ・ベースのアプリケーション・システムでは、シングルサインオン・システムが実現できる。
一方、図1の(b)は、複数バージョンのアプリケーションを端末20で使用する場合の認証方法の一例を示したものである。ブラウザからの操作によってアプリケーションを起動すると、アプリケーション・サーバであるサーバ10に記憶されているアプリケーションを、ブラウザと同一のプロセス内でブラウザのプラグインを使用して端末20にロードし、当該クライアントで起動する。このような技術を用いることにより、インターフェイスの表現力や操作性を向上する技術を用いた、「リッチ」なクライアントを実現することができる。そして、端末20とサーバ10との間の通信は、端末20内のブラウザを介して認証サーバ40により認証されている(図1の(b)(i)参照)。
しかし、端末20内のブラウザと同一プロセス内でバージョンの異なるアプリケーションを同時に使用することは、互換性の問題があり難しい(図1の(b)(ii)参照)。また、端末20内のブラウザとは別プロセスでアプリケーションを起動すると、端末20内のブラウザを介して認証サーバ40により認証されている認証情報を使用することができず、端末20内の当該アプリケーションとサーバ10との通信では、再認証をする必要が生じる(図1の(b)(iii)参照)。
図2は、上記図1の(b)における問題点を解決した本発明における認証方法の一例を示したものである。端末20内のブラウザ221を含むプロセス220内に実行環境223を用いてローカル・プロキシ222を実装する。プロセス220とは別プロセスであるプロセス230で起動するアプリケーション231には、送信先としてローカル・プロキシ222をあらかじめ指定しておく。アプリケーション231を起動すると、アプリケーション231は、データの送信をローカル・プロキシ222に対して行う。ローカル・プロキシ222は、ブラウザ221を介してサーバ10と通信を行う。そして、ローカル・プロキシ222は、サーバ10からの送信済データをブラウザ221を介して受信し、アプリケーション231に送信する。その結果、端末20とサーバ10との通信は、アプリケーション231を使用した場合であってもブラウザ221を経由して通信をすることができ、認証サーバ40により既に認証されている認証情報を使用することができる。したがって、端末20がサーバ10と通信する際には、アプリケーション231は、データの送信先を、ブラウザ221と同一のプロセス220内にあるローカル・プロキシ222とすることで、端末20とサーバ10との間の認証情報を共有することができる。
ここで、ローカル・プロキシ222の実装は、サーバ10からローカル・プロキシ222をダウンロードすることにより実現できる。この方法を用いれば、ブラウザ221を含むプロセス220内の実行環境223がバージョン・アップ等により変わる場合であっても、ユーザの面倒な操作を行うことなくその都度サーバ10から提供されるため、比較的配布・実行が容易な形でローカル・プロキシ222を実装することができる。
なお、別プロセス230でアプリケーション231を起動する方法としては、既存の技術として確立されており、例えば、「Bootstrap Applet」のような技術が存在する。ここで、「Bootstrap Applet」とは、インターネット上で簡単に配布できるアプレットをブートストラップとして使用し、そのブラウザが動作しているOS上で直接稼動するアプリケーションを起動するものである。具体的には、クライアント端末でのアプリケーション起動要求に対し、サーバからロードされた実行環境を確認する実行環境確認アプレットを実行し、その結果に基づきさらにサーバからアプリケーションとともにロードされた起動コマンドを、クライアント端末で実行することにより実現できる。
図3は、本発明における端末20の機能ブロック図を示す。端末20には、ブラウザ221とローカル・プロキシ222を含むプロセス220と、それとは別プロセスでアプリケーション231を含むプロセス230とを有している。なお、ブラウザ221とサーバ10(図示せず)との間の認証は既に成立しているものとして説明する。
アプリケーション231は、サーバ10との通信の際にローカル・プロキシ222にデータ91を送信する。
ローカル・プロキシ222のデータ受信部81はデータ91を受信し、データ送信部82にデータ91を引き渡す。
データ送信部82は、データ受信部81からデータ91を引き受け、ブラウザ221に対しデータ91を送信する。
ブラウザ221は、通常の通信に基づいてデータ91と、サーバ10との認証情報92とを、通信回線30を介してサーバ10に送信する。
一方、サーバ10から処理済データ93が認証情報92とともに通信回線30を介してブラウザ221に送信されると、ブラウザ221は、ローカル・プロキシ222に処理済データ93を送信する。
ローカル・プロキシ222の処理済データ受信部83は処理済データ93を受信し、処理済データ送信部84に処理済データ93を引き渡す。
処理済データ送信部84は、処理済データ受信部83から処理済データ93を引き受け、アプリケーション231に対し処理済データ93を送信する。
以上、ローカル・プロキシ222の各機能を用いることにより、ブラウザ221を含むプロセス220とは異なるプロセス230内のアプリケーション231であっても、ブラウザ221の通信機能を用いて、サーバ10との通信を行うことが可能となる。
図4は、端末20のハードウェア構成の一例を示す。端末20は、CPU(Central Processing Unit)2010、バス2005、通信I/F2040、メインメモリ2050、BIOS(Basic Input Output System)2060、パラレルポート2080、USBポート2090、グラフィック・コントローラ2020、音声プロセッサ2030、I/Oコントローラ2070、ならびにキーボードおよびマウス・アダプタ等2100を備える。I/Oコントローラ2070には、FD(フレキシブル・ディスク)ドライブ2072、ハード・ディスク2074、光ディスクドライブ2076、半導体メモリ2078、等の記憶手段を接続することができる。
音声プロセッサ2030には、増幅回路2032およびスピーカ2034が接続される。また、グラフィック・コントローラ2020には、VRAM2024および表示装置2022が接続されている。
BIOS2060は、端末20の起動時にCPU2010が実行するブートプログラムや、端末20のハードウェアに依存するプログラム等を格納する。FDドライブ2072は、フレキシブル・ディスク2071からデータを読み取り、I/Oコントローラ2070を介してハード・ディスク2074に提供する。
光ディスクドライブ2076としては、例えば、DVD−ROMドライブ、CD−ROMドライブ、DVD−RAMドライブ、CD−RAMドライブを使用することができる。この際には、各ドライブに対応した光ディスク2077を使用する必要がある。光ディスク2077から光ディスクドライブ2076によりプログラムまたはデータを読み取り、I/Oコントローラ2070を介してメインメモリ2050またはハード・ディスク2074に提供することもできる。
端末20に提供されるコンピュータ・プログラムは、光ディスク2077、またはメモリーカード(図示せず)等の記録媒体に格納されて利用者によって提供される。その場合、コンピュータ・プログラムは、I/Oコントローラ2070を介して、記録媒体から読み出されることによって、端末20にインストールされ実行される。その他、通信I/F2040を介してダウンロードされることによって、端末20にインストールされ実行される。
上記の端末20のハードウェア構成は一例にすぎず、上述の構成要素が必須であるとは限らない。
図5は、端末20での処理を示すフローチャートであり、ローカル・プロキシ222を使用する場合の起動・終了処理の一例を示すものである。
まず、ステップS10では、端末20でブラウザ221を立上げ、ブラウザ221からサーバ10の情報資源のあるURL(Uniform Resource Locator)を指定することで、端末20のCPU2010は、サーバ10へ接続要求を送信する。サーバ10は、端末20が接続を許可する端末であることを確認するため、認証サーバ40に処理を移し、認証サーバ40により認証処理が行われる。認証サーバ40により正しく認証されたことに応じて、サーバ10と端末20との間の通信が確立する(ステップS10)。
ユーザが、例えば、ブラウザ221上のページのボタンをクリックすることでアプリケーション231の起動を要求すると、端末20のCPU2010は、アプリケーション231の起動要求を受け付ける(ステップS11)。その後、CPU2010は、処理をステップS12に移す。
ステップS12に移行すると、CPU2010は、ローカル・プロキシ222が起動済か否かを判定する(ステップS12)。当該判定処理は、アプリケーション231起動時に使用する技術によって実装されるものであり、例えばHTMLの場合はJavaScript(登録商標)を使用することにより判定処理を実装することができる。
ステップS12では、ローカル・プロキシ222が未起動であった場合(ステップS12でNOが選択された場合)は、CPU2010は、ローカル・プロキシ222を起動するため、処理をステップS13に移す。また、ステップS12で、ローカル・プロキシ222が起動済であった場合(ステップS12でYESが選択された場合)は、CPU2010は、処理をステップS14へ移す。
ステップS13に移行すると、CPU2010は、ローカル・プロキシ222を起動する(ステップS13)。具体的には、ローカル・プロキシ222が端末20のハード・ディスク2074にあるか否かを確認する。ハード・ディスク2074にない場合や、若しくは当該ローカル・プロキシ222のバージョンが古い場合には、CPU2010は、サーバ10に対してローカル・プロキシ222のダウンロードを要求し、通信I/F2040を介してダウンロードされたローカル・プロキシ222を、ハード・ディスク2074に格納すると同時に、メインメモリ2050に展開する。CPU2010は、当該メインメモリ2050に展開されたローカル・プロキシ222を起動する。ハード・ディスク2074に該当のローカル・プロキシ222が格納されている場合には、CPU2010は、当該ローカル・プロキシ222をメインメモリ2050に展開し、当該メインメモリ2050に展開されたローカル・プロキシ222を起動する。その後、CPU2010は、処理をステップS14に移す。
ステップS14に移行すると、CPU2010は、アプリケーション231をブラウザ221とは別プロセス230で起動する(ステップS14)。その後、CPU2010は、処理をステップS15に移す。
ステップS15に移行すると、アプリケーション231は、ローカル・プロキシ222を使用して、サーバ10との通信を行う(ステップS15)。具体的には、上述の図4のとおりである。これらの一連の処理により、ブラウザ221とは別プロセス内のアプリケーション231が、ブラウザ221の認証機能を利用してサーバ10と通信することを可能としている。
ユーザが、アプリケーション231を終了する際には(ステップS16でYESが選択された場合)、CPU2010は、ローカル・プロキシ222を使用している最後のプロセスか否かを判定する(ステップS17)。他のアプリケーションがローカル・プロキシ222を使用している場合(ステップS17でNOが選択された場合)には、CPU2010は、処理をステップS15に移す。他方、他のアプリケーションが存在しない場合(ステップS17でYESが選択された場合)には、CPU2010は、ステップS18に移行する。
ステップS18に移行すると、CPU2010は、ブラウザ221を閉じると同時に、ローカル・プロキシ222を終了する(ステップS18)。
なお、実装例としては、以下のような例が挙げられる。
図6は、ブラウザ221のプロセス220で起動するローカル・プロキシ222をJava(登録商標)により実装した場合についての本発明を使用した概念図である。端末20には、ブラウザ221およびローカル・プロキシ222の動作するプロセス220とは別プロセスである、プロセス230が存在している。ローカル・プロキシ222は、実行環境223のJava Runtime Env. −Version1.3.1を用いて実装する。プロセス230では、実行環境223とは別のバージョンの実行環境233を用いたアプリケーション231(図示せず)の動作が可能である。
この場合、別プロセスであるプロセス230で起動するアプリケーション231は、ローカル・プロキシ222と通信できる技術であれば、どのような実装であっても構わない。他の技術を用いてローカル・プロキシ222を実装した場合も同様である。また、ブラウザ221の動作するプロセス220と、プロセス220と別プロセスであるプロセス230とは、同一のバージョンの実行環境を有する場合であってもよいのは勿論である。
図7は、ブラウザ221のプロセス220で起動するローカル・プロキシ222がマイクロソフトのツールであるActiveX(登録商標)により実装した場合についての概念図である。
さらに、図8は、ブラウザ221のプロセス220で起動するローカル・プロキシ222がブラウザ221のプラグインを開発するツールを使用して実装した場合についての概念図である。
図9は、本発明の実施の一例に係るクライアント・サーバ・システムの概略図である。図9において、サーバ10はアプリケーション・サーバであり、通信回線30に接続するための接続部11とプログラムを格納する記憶部12とを備えている。また、記憶部12にWebファイル13を記憶している。Webファイル13には、WWWに対応したコンテンツやアプリケーション・ファイルが記憶されている。サーバ10と端末20とにおける認証は、通信回線30を介して接続された認証サーバ40によって認証機能を有してもよいし、サーバ10に認証部(図示せず)を設けて認証機能を有してもよい。
端末20は、例えば、サーバ10からWebファイル13内の情報をダウンロードし、ブラウザを用いてその内容を表示することができる。
通信回線30は、インターネットやイントラネット等のネットワークであり、サーバ10と端末20とを接続している。通信回線30は、広域ネットワークWAN(Wide Area Network)であってもよいし、構内ネットワークLAN(Local Area Network)であってもよい。
また、サーバ10に登録されたWebファイル13内の情報は、ブラウザによりWebページとして表示されるページデータと、アプリケーション等により構成される。ページデータは、例えばHTML(HyperText Makeup Language)で記述される。アプリケーションは、具体的には、JSP(JavaServer(登録商標) Pages)、Java(登録商標)サーブレット、ASP(Active Server Pages)などのサーバ・サイドのプログラムや、Java(登録商標)アプレット、ActiveX(登録商標)コントロール、ブラウザのプラグインが含まれる。
以上、実施例について説明したが、ローカル・プロキシによる通信では、ローカル・プロキシがソケットによる通信において接続先が自端末からのもののみを許容することにより、同一端末内でのアプリケーションからの通信のみとすることができ、セキュリティを確保することが可能となる。
さらに、既存のシステムのアプリケーションを本発明を用いたシステムへ移行する場合は、ローカル・プロキシをブラウザと同一のプロセス内で起動し、既存アプリケーションの通信の送信先を当該ローカル・プロキシに変更することにより、実装が可能となる。
以上は、クライアントのブラウザで動作するローカル・プロキシを使用した通信情報を共有する方法およびシステムついて主に説明したが、コンピュータに、アプリケーションの通信情報の共有方法で説明した機能を有するプログラムをインストールして、そのコンピュータを動作させることにより上記で説明したアプリケーションの通信情報の共有方法と同様な機能を実現することができる。したがって、本発明において1つの実施形態として説明したアプリケーションの通信情報の共有方法は、コンピュータ・プログラムによっても実現可能である。もちろん、本発明は、そのようなプログラム自体のみならず、プログラムを記録した媒体を含むプログラム製品もその範囲に含むものである。本発明の機能を実行するためのプログラムは、フレキシブル・ディスク、MO、CD−ROM、DVD、ハード・ディスク装置、ROM、MRAM、RAM等の任意のコンピュータ可読媒体に格納することができる。かかるプログラムは、コンピュータ可読媒体への格納のために、通信回線で接続する他のコンピュータ・システムからダウンロードしたり、他の媒体から複製したりすることができる。また、かかるプログラムは、圧縮し、または複数に分割して、単一または複数の記録媒体に格納することもできる。
以上、本発明を実施形態、および実施例を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲に限定されない。上記実施形態に、多様な変更または改良を加えることが可能である。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
従来の認証方法を示す図である。 本発明を使用した認証方法を示す図である。 端末の機能ブロック図である。 端末のハードウェア構成を示す図である。 端末の処理を示すフローチャートである。 本発明を使用した実装例の図である。 本発明を使用した実装例の図である。 本発明を使用した実装例の図である。 本発明のクライアント・サーバ・システムを示す図である。
符号の説明
10 サーバ、アプリケーション・サーバ
20 端末
30 通信回線
40 認証サーバ
81 データ受信部
82 データ送信部
83 処理済データ受信部
84 処理済データ送信部
91 データ
92 認証情報
93 処理済データ
220 プロセス
221 ブラウザ
222 ローカル・プロキシ
230 プロセス
231 アプリケーション

Claims (8)

  1. ネットワーク・アプリケーションが動作するクライアント・サーバ・システムにおける通信情報を共有する方法であって、
    クライアント端末で動作するローカル・プロキシが、前記クライアント端末で動作するアプリケーションとサーバとの間の通信を代理するものとして、前記クライアント端末で動作するブラウザと同じプロセスで動作するステップと、
    前記アプリケーションが、前記ローカル・プロキシとは異なるプロセスで動作するステップと、
    前記ローカル・プロキシが、前記アプリケーションが送信したデータを受信し、当該データを、前記ブラウザを経由してサーバに送信するステップと、
    前記ローカル・プロキシが、前記サーバからの処理済データを、前記ブラウザを経由して受信し、当該処理済データを前記アプリケーションに送信するステップと、
    を含む方法。
  2. 前記アプリケーションを起動する要求をユーザから受け付けたことに応じて、前記ローカル・プロキシが起動するステップを更に含む、請求項1に記載の方法。
  3. 前記アプリケーションを起動する要求をユーザから受け付けたことに応じて、前記ローカル・プロキシが前記サーバからロードされ起動するステップを更に含む、請求項1に記載の方法。
  4. 前記ローカル・プロキシは、前記ブラウザにおいて動作するアプリケーションに関連したソフトウェアを用いて実装する請求項1に記載の方法。
  5. 前記ローカル・プロキシによる通信は、ハイパーテキスト転送プロトコル(HTTP)により行われる請求項1に記載の方法。
  6. 前記ローカル・プロキシは、通信先として前記クライアント端末の前記アプリケーションとのみ通信する請求項1に記載の方法。
  7. ネットワーク・アプリケーションが動作するクライアント・サーバ・システムにおける通信情報を共有するシステムであって、
    クライアント端末で動作するブラウザと、
    前記クライアント端末で動作するローカル・プロキシであって、前記クライアント端末で動作するアプリケーションとサーバとの間の通信を代理するものとして、前記クライアント端末で動作する前記ブラウザと同じプロセスで動作する、ローカル・プロキシと、
    を備え、
    前記アプリケーションは、前記ローカル・プロキシとは異なるプロセスで動作し、
    前記ローカル・プロキシは、
    前記アプリケーションが送信したデータを受信するデータ受信部と、
    前記データをサーバに送信するデータ送信部と、
    前記サーバからの処理済データを受信する処理済データ受信部と、
    前記処理済データを前記アプリケーションに送信する処理済データ送信部と、
    を備える、システム。
  8. ネットワーク・アプリケーションが動作するクライアント・サーバ・システムにおける通信情報を共有するコンピュータ・プログラムであって、
    クライアント端末で動作するローカル・プロキシに、
    前記クライアント端末で動作するアプリケーションとサーバとの間の通信を代理するものとして、前記クライアント端末で動作するブラウザと同じプロセスで動作するステップと、
    前記アプリケーションが送信したデータを受信し、当該データをサーバに送信するステップと、
    前記サーバからの処理済データを受信し、当該処理済データを前記アプリケーションに送信するステップと、
    を実行させ、前記アプリケーションに、
    前記ローカル・プロキシとは異なるプロセスで動作するステップ
    を実行させる、コンピュータ・プログラム。
JP2006149356A 2006-05-30 2006-05-30 ローカル・プロキシにより通信情報を共有する方法 Expired - Fee Related JP4353487B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006149356A JP4353487B2 (ja) 2006-05-30 2006-05-30 ローカル・プロキシにより通信情報を共有する方法
CNA2007101048281A CN101083602A (zh) 2006-05-30 2007-05-21 使用本地代理共享通信信息的方法和系统
US11/752,970 US20070282965A1 (en) 2006-05-30 2007-05-24 Method for sharing communication information using local proxy

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006149356A JP4353487B2 (ja) 2006-05-30 2006-05-30 ローカル・プロキシにより通信情報を共有する方法

Publications (2)

Publication Number Publication Date
JP2007323115A true JP2007323115A (ja) 2007-12-13
JP4353487B2 JP4353487B2 (ja) 2009-10-28

Family

ID=38791667

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006149356A Expired - Fee Related JP4353487B2 (ja) 2006-05-30 2006-05-30 ローカル・プロキシにより通信情報を共有する方法

Country Status (3)

Country Link
US (1) US20070282965A1 (ja)
JP (1) JP4353487B2 (ja)
CN (1) CN101083602A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009099078A (ja) * 2007-10-19 2009-05-07 Yamatake Corp サーバクライアントシステム、遠隔監視システム及び遠隔監視方法
WO2009139437A1 (ja) * 2008-05-14 2009-11-19 日本電気株式会社 クライアント装置、その制御方法、プログラム、サーバ装置、その制御方法、通信システム及びその制御方法
JP2012512494A (ja) * 2008-12-16 2012-05-31 クゥアルコム・インコーポレイテッド アプリケーションサービスを、組込の接続管理にバンドルするための装置と方法
JP2014526167A (ja) * 2011-07-06 2014-10-02 エアプラグ インコーポレイテッド 固定ホストアドレスに基づいて複数の異種網を選択的に用いてデータ送受信を可能にする装置と、そのための方法
US9288230B2 (en) 2010-12-20 2016-03-15 Qualcomm Incorporated Methods and apparatus for providing or receiving data connectivity
JP2017503249A (ja) * 2014-01-24 2017-01-26 マカフィー, インコーポレイテッド 自動プレースホルダファインダ及びフィラー
US10558726B2 (en) 2016-03-29 2020-02-11 Fujitsu Limited Method and apparatus for executing application

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8756660B2 (en) * 2008-04-17 2014-06-17 Microsoft Corporation Enabling two-factor authentication for terminal services
CN101299854B (zh) * 2008-06-19 2011-07-13 中兴通讯股份有限公司 一种移动终端及其数据维护方法
US20100205099A1 (en) * 2008-12-16 2010-08-12 Kalle Ahmavaara System and methods to facilitate connections to access networks
US9237017B2 (en) * 2011-03-21 2016-01-12 Microsoft Technology Licensing, Llc Lightweight authentication for on-premise rich clients
CN102843394B (zh) * 2011-06-22 2015-12-09 腾讯科技(深圳)有限公司 网络应用的框架装置及运行方法
US8756665B2 (en) 2011-07-08 2014-06-17 International Business Machines Corporation Authenticating a rich client from within an existing browser session
JP6462361B2 (ja) 2011-11-17 2019-01-30 バイエル・ヘルスケア・エルエルシーBayer HealthCare LLC 医療診断手順についての情報を収集し、報告し、管理する方法及び技法
CN103795694A (zh) * 2012-10-31 2014-05-14 中国电信股份有限公司 许可控制方法及系统
CN105915508B (zh) * 2016-04-07 2020-06-12 广西新章物电防伪技术开发有限公司 一种非中间件技术的b/s/s模式电子签章系统及其签章方法
EP3649648A1 (en) 2017-07-07 2020-05-13 Bayer Healthcare LLC System, method, and computer program product for peer exchange of data between injection systems
CN108154026B (zh) * 2017-12-28 2022-01-11 成都卫士通信息产业股份有限公司 基于Android系统的免Root无侵入的安全通信方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020078371A1 (en) * 2000-08-17 2002-06-20 Sun Microsystems, Inc. User Access system using proxies for accessing a network
US7210142B2 (en) * 2001-08-31 2007-04-24 Sony Corporation Client-server bidirectional synchronization via browser plug in for an XM radio system
US7500262B1 (en) * 2002-04-29 2009-03-03 Aol Llc Implementing single sign-on across a heterogeneous collection of client/server and web-based applications
US8090818B2 (en) * 2005-09-19 2012-01-03 Sap Ag Generation of customized client proxies

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009099078A (ja) * 2007-10-19 2009-05-07 Yamatake Corp サーバクライアントシステム、遠隔監視システム及び遠隔監視方法
WO2009139437A1 (ja) * 2008-05-14 2009-11-19 日本電気株式会社 クライアント装置、その制御方法、プログラム、サーバ装置、その制御方法、通信システム及びその制御方法
JP2012512494A (ja) * 2008-12-16 2012-05-31 クゥアルコム・インコーポレイテッド アプリケーションサービスを、組込の接続管理にバンドルするための装置と方法
JP2015201856A (ja) * 2008-12-16 2015-11-12 クゥアルコム・インコーポレイテッドQualcomm Incorporated アプリケーションサービスを、組込の接続管理にバンドルするための装置と方法
US9197706B2 (en) 2008-12-16 2015-11-24 Qualcomm Incorporated Apparatus and method for bundling application services with inbuilt connectivity management
US9288230B2 (en) 2010-12-20 2016-03-15 Qualcomm Incorporated Methods and apparatus for providing or receiving data connectivity
JP2014526167A (ja) * 2011-07-06 2014-10-02 エアプラグ インコーポレイテッド 固定ホストアドレスに基づいて複数の異種網を選択的に用いてデータ送受信を可能にする装置と、そのための方法
JP2017503249A (ja) * 2014-01-24 2017-01-26 マカフィー, インコーポレイテッド 自動プレースホルダファインダ及びフィラー
JP2017224357A (ja) * 2014-01-24 2017-12-21 マカフィー, エルエルシー 自動プレースホルダファインダ及びフィラー
US10291585B2 (en) 2014-01-24 2019-05-14 Mcafee, Llc Automatic placeholder finder-filler
US10666622B2 (en) 2014-01-24 2020-05-26 Mcafee, Llc Automatic placeholder finder-filler
US11349814B2 (en) 2014-01-24 2022-05-31 Mcafee, Llc Automatic placeholder finder-filler
US10558726B2 (en) 2016-03-29 2020-02-11 Fujitsu Limited Method and apparatus for executing application

Also Published As

Publication number Publication date
JP4353487B2 (ja) 2009-10-28
CN101083602A (zh) 2007-12-05
US20070282965A1 (en) 2007-12-06

Similar Documents

Publication Publication Date Title
JP4353487B2 (ja) ローカル・プロキシにより通信情報を共有する方法
JP4867482B2 (ja) 制御プログラムおよび通信システム
JP4754473B2 (ja) ハンドヘルドコンピューターにおける自動データインストールのためのシステムおよび方法
JP5389829B2 (ja) リモートリソースのウェブアクセスのためのxmlベースのウェブフィード
US7890574B2 (en) Internet operating system through embeddable applet-style application
TWI521357B (zh) 經由網頁瀏覽器輸入內容至應用程式
JP2010113599A (ja) 情報処理システム、情報処理装置、情報処理方法、プログラム、及び記憶媒体
JP2008003697A (ja) 情報処理装置、情報処理方法、コンピュータプログラム及び記録媒体
JP2003281304A (ja) 文書公証システムおよび方法
JP2004530192A (ja) クッキーを利用して単一操作印刷オプションを提供するWebベースのイメージング・システム
WO2001039046A1 (en) Web browser plug-in interface system
JP5197351B2 (ja) 情報処理装置及び情報処理方法及びプログラム
FR2946168A1 (fr) Procede de navigation sur le reseau internet, support d'enregistrement, serveur d'acces et poste d'utilisateur pour la mise en oeuvre de ce procede.
JP4186164B2 (ja) Web共有システム、Web共有方法、Web共有プログラム、中継サーバ、及びWWWブラウザ表示装置
JP5838250B1 (ja) ユーザに所定のサービスを提供するシステム及び方法
JP5235504B2 (ja) 動的にウェブ・コンテンツを生成するサーバ
JP5541160B2 (ja) プログラム入手・実行クライアント、プログラム入手・実行方法およびプログラム
JP2011175461A (ja) 通信システム及びサーバ及び端末装置及び通信システムの通信方法及びサーバ用プログラム及び端末用プログラム
JP5838248B1 (ja) ユーザに所定のサービスを提供するシステム及び方法
JP2017216492A (ja) データ送受信方法、データ送信方法及びサーバ装置
JP2009294851A (ja) Webページ編集サーバ、Webページ編集システム及びWebページの編集方法
JP2009026013A (ja) コンテンツ登録・提供装置、コンテンツ登録・提供制御方法、および、コンテンツ登録・提供制御プログラム
JP2008015658A (ja) アプリケーション提供システム及びアプリケーション提供方法
JP2006146512A (ja) 情報処理装置及びその制御方法、プログラム
JP2022025599A (ja) 情報処理装置、アプリケーションの起動方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071205

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20071221

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080730

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090119

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090223

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090714

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20090715

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090724

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130807

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees