JP2007514337A - 信頼性および持続性のある通信セッションを介したクライアントの自動的な再接続 - Google Patents

信頼性および持続性のある通信セッションを介したクライアントの自動的な再接続 Download PDF

Info

Publication number
JP2007514337A
JP2007514337A JP2006534409A JP2006534409A JP2007514337A JP 2007514337 A JP2007514337 A JP 2007514337A JP 2006534409 A JP2006534409 A JP 2006534409A JP 2006534409 A JP2006534409 A JP 2006534409A JP 2007514337 A JP2007514337 A JP 2007514337A
Authority
JP
Japan
Prior art keywords
client
service
protocol
connection
ticket
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
JP2006534409A
Other languages
English (en)
Inventor
アナトリー パナスユク,
アンドレ クラマー,
ブラッドリー ジェイ ぺダーセン,
ディビッド ショーン ストーン,
テリー トレダー,
Original Assignee
サイトリックス システムズ, インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/683,881 external-priority patent/US7562146B2/en
Application filed by サイトリックス システムズ, インコーポレイテッド filed Critical サイトリックス システムズ, インコーポレイテッド
Publication of JP2007514337A publication Critical patent/JP2007514337A/ja
Pending legal-status Critical Current

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/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本発明は、信頼のおける持続的な通信セッションを通じて、クライアントを再接続し、ユーザー認証を提供する方法およびシステムに関する。複数の第2のプロトコルをカプセル化する第1のプロトコルが、ネットワークでの通信に使用される。第1のプロトコルを使用する第1のプロトコルサービスは、クライアントとホストサービス間のセッションの持続性および信頼のおける接続を提供する。クライアントとホストサービス間のネットワーク接続が切断した際には、接続が再確立され、ユーザーは、ユーザーの認証証明を再入力することなく、又は、ホストサービスとのユーザーセッションを再確立することなく、ホストサービスへ再認証される。

Description

本発明は、一般に、ネットワーク及びクライアントサーバ通信に関する。さらに特には、セッションの持続性及び信頼性を提供するために、他のプロトコルをカプセル化する通信プロトコルを使用し、クライアントの通信を再確立し、また、プロトコルのカプセル化を介し、サーバコンピュータと通信するために、クライアントコンピュータを使用し、ユーザーの再認証を促進するためのシステム及び方法に関する。
2台のコンピュータ間の通信、例えば、クライアントとサーバとの間のネットワークを通じた通信は、様々な周知の通信プロトコルを使用して行うことができる。しかし、ネットワーク接続は切断されることが多い。例えば、クライアントとサーバ間の無線接続は、しばしば信頼がおけない。その他の場合では、ネットワーク通信が中断される。そういうものであるため、エレベータやトンネルに入ると接続が失われ、そのエレベータやトンネルから出ないかぎり接続が回復されない場合がある。
確立されたクライアントとサーバコンピュータ間の通信セッションが、異常に終了されると、クライアントは、一般に新たな通信セッションを開始することにより、接続を再確立しなくてはならない。新たな通信セッションを開始するためには、その新たな通信セッションのために、サーバコンピュータがユーザーを許可できるように、ユーザーは通常、サーバコンピュータにログイン/パスワードの組み合わせのような認証証明を再発信しなくてはならない。この数回の通信セッションにわたるユーザー認証証明の再発信は、潜在的な攻撃者へ繰り返し前記ユーザーの認証証明をさらすことになり、それにより認証証明のセキュリティレベルを低下させることになる。さらに、これは、度々時間がかかるプロセスなため、ユーザーは、苛立ち及び非効率を経験することになる。さらには、新たな通信セッションを確立する際に、インターネットプロトコルアドレスのような、新たなネットワーク識別子をクライアントが取得することをネットワークが要求することもあり得る。クライアントのネットワーク識別子における変更のため、クライアント側のアプリケーション、又はプログラムを再起動する必要もあり得る。このように、クライアントコンピュータとサーバコンピュータ間の通信セッションを再確立する際に、クライアントの認証証明を繰り返し発信したり、プログラムを再起動させたりすることなく、自動的にクライアントの再認証を行う技術の提供が望まれている。
認証証明を繰り返し発信することなく、クライアントコンピュータとサーバコンピュータ間の通信セッションを再確立する改善されたシステムおよび方法が必要とされている。
本発明は、持続した信頼のおけるホストサービスへの接続をクライアントに提供し、持続した信頼のおける接続にクライアントを再接続するための、システムおよび方法に関する。クライアントを再接続するということは、ホストサービスとのクライアントの通信セッションを再確立することと、ホストサービスへのクライアントのユーザーの再認証とを含む。持続した信頼のおけるホストサービスへの接続は、クライアントに代わる第1のプロトコルサービスにより維持される。第1のプロトコルサービスは、クライアントと第1のプロトコルサービス間のネットワーク接続において、いかなる切断中も、クライアントとホストサービス間の通信データが、バファリングされ、維持されることを確実にする。例えば、ネットワーク接続における一時的な切断は、モバイルクライアントのように、同じネットワーク内の異なるアクセスポイント間で、クライアントがローミングする時、又は、クライアントが異なるノードを行き来する時(例、有線ネットワークから無線ネットワーク)に起きることがある。異なるアクセスポイント間をローミングする際には、ネットワーク接続形態によって必要とされるインターネットプロコトルアドレスのように、クライアントに対し、異なるネットワーク識別子を割り当てる必要もあり得る。ネットワーク切断中にバッファリングされたデータを維持するのに加え、第1のプロトコルサービスは、クライアントの接続を第1のプロトコルサービスに再接続する際に、ホストサービスへのクライアントの再認証を行う。再認証後に、第1のプロトコルサービスは、クライアントのホストサービスへの接続を再度リンクする。これにより、ホストサービスとの接続を再確立するために、クライアントのユーザーが認証証明の再入力が回避される。さらに、第1のプロトコルサービスは、ネットワーク切断後に必要とされ得るクライアントのネットワーク識別子に対する変更を自動的に管理する。これにより、クライアントの割り当てられたネットワーク識別子の変更時に、通常再起動が必要とされるアプリケーション、又はプログラムの再起動が回避される。ユーザーは、クライアントの割り当てられたネットワーク識別子に対するネットワークによる変更により切断されることなく、ネットワークアクセスポイント間をローミングしている間は、引き続きクライアントを使用することができる。要約すると、本発明は、ユーザーが認証証明を再入力することなく再認証されることを含め、アプリケーションの再起動、又はセッションの再確立をすることなく、自動的に切断されたクライアントをホストサービスに再接続することを提供する。
1つの観点において、本発明は、ネットワーク接続への切断後、クライアントをホストサービスに再接続する方法に関する。その方法は、クライアントとホストサービス間の接続を再確立する第1のプロトコルサービスを使用する。その方法には、クライアントと第1のプロトコルサービス間の第1の接続、及び、第1のプロトコルサービスとホストサービス間の第2の接続を提供することが含まれる。第1の接続において、切断が検出された際には、第1のプロトコルサービスとホストサービス間の第2の接続が維持される。そして、クライアントと第1のプロトコルサービス間の第1の接続が再確立される。第1のプロトコルサービスは、クライアントに付随するチケットを受け取り、そのチケットを検証する。チケットの検証後に、再確立された第1の接続は、維持された第2の接続にリンクされる。
本発明のある実施態様において、その方法は、再確立された第1の接続を維持された第2の接続にリンクする前に、チケットをさらに検証することを含む。その検証方法は、さらに、第1のプロトコルサービスにより受け取られたチケットから、セッション識別子及びキーを得ることを含む。チケットから得られたセッション識別子は、クライアントの暗号化され、保持された認証証明を検索するために使用される。そして、チケットから得られたキーは、検索された認証証明の解読に使用される。
別の実施態様において、本発明は、ホストサービスへのクライアントの接続を再確立する際、ホストサービスへのクライアントの再認証を提供する。その方法は、さらに、クライアントと第1のプロトコルサービス間の第1の接続、及び、第1のプロトコルサービスとホストサービス間の第2の接続を提供する際のホストサービスにおけるクライアントの認証を含む。接続における切断が検出された後、第1の接続を再確立する際、その方法は、さらにホストサービスにおけるクライアントの再認証を含む。
本発明の別の実施態様において、その方法は、クライアントに付随するチケットを発行する第1のプロトコルサービスを含む。さらに、その方法はまた、検証後にチケットを削除することを含む。別の実施態様では、所定の時間経過後、チケットを自動的に削除することもできる。さらには、チケット削除後、代替チケットを発行することができる。別の実施態様では、チケットのコピーを第1のプロトコルサービスに保存することができる。また、チケットを第1のプロトコルサービスからクライアントに発信することができる。
別の観点において、本発明は、ネットワーク接続への切断後、ホストサービスへクライアントを再接続するシステムに関する。そのシステムは、第1のプロトコルサービスを使用し、クライアントとホストサービス間の接続を再確立する。前記クライアントは、第1のプロトコルサービスによる第1の接続を維持するように構成される。第1のプロトコルサービスは、クライアントによる第1の接続、および、前記ホストサービスによる第2の接続を維持するように構成される。本システムによると、第1の接続において切断が検出され、クライアントと第1のプロトコルサービス間で第1の接続が再確立される一方、第1のプロトコルサービスとホストサービス間の第2の接続は維持される。クライアントは、クライアントに付随するチケットを、第1のプロトコルサービスに発信する。そのチケットは検証され、検証後、第1のプロトコルサービスが、維持された第2の接続と再確立された第1の接続をリンクする。
本発明のある実施態様において、システムは、再確立された第1の接続と維持された第2の接続をリンクする前に、さらにチケットを検証することを含む。チケットの検証は、さらに、第1のプロトコルサービスにより受け取られたチケットからセッション識別子、およびキーを得ることを含む。チケットから得られたセッション識別子は、クライアントの暗号化され、保持された認証証明を検索するのに使用される。そして、チケットから得られたキーを利用することにより、システムは、検索された認証証明を解読する。
別の実施態様において、本発明は、ホストサービスへクライアントを再接続する際に、ホストサービスにおけるクライアントの再認証のためのシステムを提供する。システムは、さらに、クライアントと第1のプロトコルサービス間の第1の接続、及び、第1のプロトコルサービスとホストサービス間の第2の接続を提供する際、ホストサービスにおけるクライアントの認証を含む。接続における切断検出後、接続を再確立する際に、システムは、ホストサービスにおけるクライアントの再認証のために、検索した認証証明を利用する。
別の実施態様において、システムはさらに、クライアントに付随するチケットを発行する第1のプロトコルサービスを含む。さらに、そのシステムはまた、検証後にチケットを削除することを含む。別の実施態様では、所定の時間経過後、第1のプロトコルサービスにより、チケットを自動的に削除することができる。さらには、チケット削除後、代替チケットを発行することができる。一実施態様では、チケットのコピーを第1のプロトコルサービスに保存することができる。また、第1のプロトコルサービスは、チケットをクライアントに発信することができる。
以下、本発明の特定の実施態様について説明する。しかし、本発明は、これらの実施態様に限定されるものではなく、本願明細書に明白に開示した内容への追加および変更が本発明の範囲に明白に含まれることを意図していることに留意されたい。さらに、本願明細書に開示される種々の実施態様の特徴は排他的でなく、本願明細書に組み合わせまたは置き換えが明示されていなくても、本発明の精神と範囲から逸脱することなくそのような組み合わせおよび置き換えが存在しうると理解されたい。
図1Aを参照すると、一般に本発明は、ネットワーク通信に関し、特にクライアントにホストサービスへの信頼できる接続の提供に有用となりうる。概観すると、ネットワーク通信のシステム100は、ネットワーク104を通じて第1のプロトコルサービス112(例えば、第2のコンピュータ)と通信を行うリモートクライアント108(例えば、第1のコンピュータ)を含む。システム100は、ネットワーク104’を通じて第1のプロトコルサービス112と通信を行い、ネットワーク104を通じて第1のプロトコルサービス112を介してクライアント108と通信を行う、複数のホストサービス116a乃至116n(例えば、第3のコンピュータ)も含む。あるいは、本発明の別の実施態様では、図1Bを参照すると、第1のプロトコルサービス112およびホストサービス116a乃至116nは、独立したコンピュータとして使用されるのではなく、むしろ図1Aのように、例えばホストノード118aのような同じコンピュータに組み込まれる。システム100は、1つ、2つ、または任意のホストノード118a乃至118nを含むことができる。
一実施態様では、図1Aに示すように、ネットワーク104および104’は独立したネットワークである。図1Bに示すように、ネットワーク104および104’は同じネットワーク104とすることができる。一実施態様では、ネットワーク104および/またはネットワーク104’は、例えば、会社のイントラネットのようなローカルエリアネットワーク(LAN)または、例えば、インターネットまたはワールドワイドウェブのようなワイドエリアネットワーク(WAN)である。リモートクライアント108、第1のプロトコルサービス112、ホストサービス116a乃至116n、および/またはホストノード118a乃至118nは、これらに限定されないが、標準電話回線、LANまたはWANのリンク(例えば、802.11、T1、T3、56kb、X.25)、ブロードバンド接続(例えば、ISDN,Frame Relay、ATM)、無線接続、あるいはこれらのいずれかまたはすべてを組み合わせたものなど、様々な接続を介してネットワーク104および/またはネットワーク104’に接続することができる。
さらに、クライアント108は、ワークステーション、デスクトップコンピュータ、ラップトップ、ハンドヘルドコンピュータ、携帯電話、または通信が可能で、本願明細書に開示した動作を行うには十分なプロセッサ能力とメモリ容量を有する他の形態のコンピュータまたはテレコミュニケーション装置とすることができる。加えて、クライアント108はローカルネットワーク104上のローカルデスクトップクライアント、あるいは、個別のネットワーク104のリモートディスプレイクライアントであることもできる。クライアント108は、例えば、視覚的表示装置(例えば、コンピュータ用モニタ)、データ入力装置(例えば、キーボード)、持続的および/または揮発性記憶装置(例えば、コンピュータメモリ)、プロセッサ、およびマウスを備えることができる。ユーザーインターフェイスを持つクライアントエージェント128の例は、ウェブブラウザ(例えば、Microsoft(登録商標)Internet Explorerブラウザおよび/またはNetscape(商標)TMブラウザ)である。
同様に、図1Aを参照すると、第1のプロトコルサービス112およびホストサービス116a乃至116nのそれぞれは、通信が可能で本願明細書に開示した動作を行うには十分なプロセッサ能力とメモリ容量を有するいずれかのコンピュータ上に提供することができる。あるいは、第1のプロトコルサービス112およびホストサービス116乃至116nの機能を、図1Bに示すように、例えばホストノード118a乃至118nのような同じコンピュータに組み込む場合は、第1のプロトコルサービス112および/またはホストサービス116乃至116nを、汎用コンピュータおよび/または、例えば、ASICまたはFPGAのような特殊用途向けハードウェア装置上で実行されるソフトウェアプログラムとして使用することができる。
クライアント108と同様に、ホストノード118a乃至118nのそれぞれは、通信が可能で、本願明細書に開示した動作を行うには十分なプロセッサ能力とメモリ容量を有する上述の任意のコンピュータデバイス(例えば、パーソナルコンピュータ)であってよい。ホストノード118a乃至118nのそれぞれは、様々な通信プロトコル(例えば、ICA、HTTP、TCP/IP、およびIPX)を使用して通信チャネル124a乃至124n上に通信を確立することができる(SPX、NetBIOS、イーサネット(登録商標)、RS232、および直接非同期接続)。
一実施態様では、ホストサービス116a乃至116nのそれぞれは、クライアント108に対して遠隔で利用可能な1つ以上のアプリケーションプログラムをホストする。1つまたは複数のホストサービス116a乃至116nが同じアプリケーションプログラムをホストすることができる。このようなアプリケーションの例には、MICROSOFT WORDなどのワード処理プログラム、およびMICROSOFT EXCELなどの表計算プログラムなどが挙げられ、そのどちらもMicrosoft社(Redmond、Washingotn)から入手可能である。任意またはすべてのホストサービス116a乃至116nがホスト可能な他のアプリケーションプログラムの例には、財務報告プログラム、顧客登録プログラム、技術的なサポート情報を提供するプログラム、顧客データベースアプリケーション、およびアプリケーションの設定マネージャが挙げられる。さらに、一実施態様では、ホストサービス116a乃至116nの1つ以上は、ストリーミングオーディオおよび/またはストリーミングビデオをクライアント108に提供するオーディオ/ビデオストリーミングサーバである。別の実施態様では、ホストサービス116a乃至116nは、任意/すべてのファイルタイプをクライアント108に提供するファイルサーバを備える。
引き続き図1Aおよび図1Bを参照すると、クライアント108は、第1のプロトコルを使用してネットワーク104を通じてクライアント108と第1のプロトコルサービス112との間の接続120を確立するように構成される。第1のプロトコルサービス112は、その役割として、接続120を受け入れるように構成される。従って、クライアント108および第1のプロトコルサービス112は、図2A、2B、および図3を参照して以下に説明する、第1のプロトコルを使用して互いに通信を行うことができる。
一部の実施態様では、図1Aおよび図1Bに示すように、クライアントエージェント128は、クライアント108内に含まれる。クライアントエージェント128は、例えば、ソフトウェアプログラムおよび/または、例えば、ASICまたはFPGAなどのようなハードウェア装置として使用することができる。クライアントエージェント128は、あらゆるタイプのプロトコルを使用することができ、それには、例えば、HTTPクライアントエージェント、FTPクライアントエージェント、Oscarクライアントエージェント、Telnetクライアントエージェント、Citirix Systems社(Fort Lauderdale、Florida)製のIndependent Computing Archtecture(ICA)クライアントエージェント、またはMicrosoft社(Redmond、Washington)製のRemote Desktop Procedure (RDP)クライアントエージェントが挙げられる。一部の実施態様では、クライアントエージェント128は、それ自体が第1のプロトコルを使用して通信を行うように構成される。一部の実施態様では(図示せず)、クライアント108は、複数のクライアントエージェント128a乃至128nを含み、それぞれがホストサービス116a乃至116nとそれぞれ通信を行う。
別の実施態様では、スタンドアロンのクライアントエージェントは、第1のプロトコルを使用してクライアント108が通信できるように構成される。スタンドアロンのクライアントエージェントはクライアント108内に組み込まれるか、またはスタンドアロンのクライアントエージェントをクライアント108から独立させることができる。スタンドアロンのクライアントエージェントは、例えば、ローカルホストのプロキシである。一般に、スタンドアロンのクライアントエージェントは、クライアントエージェント128に関する本願明細書に開示された機能のいずれかを実行することができる。
さらに下記のように、第1のプロトコルサービス112は、一実施態様では、それ自体が第1のプロトコルを使用して通信を行うように構成される。第1のプロトコルサービス112は、第1のプロトコルサービス112とホストサービス116a乃至116nとの間の接続124a乃至124nを確立するようにそれぞれ構成される。例えば、第1のプロトコルサービス112は、第1のプロトコルサービス112とホストサービス116aとの間の接続124a、および第1のプロトコルサービス112と別のホストサービス116bとの間の接続124bを確立することができる。一実施態様では、第1のプロトコルサービス108は、このような接続124a乃至124nを別々に確立する(すなわち、第1のプロトコルサービス112は、一度に1つの接続を確立する)。別の実施態様では、第1のプロトコルサービス112は、このような接続124a乃至124nのうちの2つ以上を同時に確立する。
さらに別の実施態様において、第1のプロトコルサービス112は複数の接続124a乃至124nを同時に確立し保持することができる。第1のプロトコルサービス112は、接続120を中断せずに2つ以上の接続124a乃至124nをクライアント108に提供するように構成される。例えば、第1のプロトコルサービス112は、クライアント108のユーザーがホストサービスに116aに存在する第1のアプリケーションプログラムの実行を要求した場合、第1のプロトコルサービス112とホストサービス116aとの間の接続124aを確立するように構成することができる。ユーザーが第1のアプリケーションプログラムの実行を終了し、例えばホストサービス116bに存在する第2のアプリケーションプログラムの実行を開始する場合、一実施態様では、第1のプロトコルサービス112は、接続124aを中断して、第1のプロトコルサービス112とクライアント108との間の接続120を中断させずに第1のプロトコルサービス112とホストサービス116bとの間の接続124bを確立するように構成される。
第1のプロトコルサービス112およびホストサービス116a乃至116nは、限定されないが、HTTP、FTP、Oscar、Telnet、Citrix Systems社(Fort Lauderale、Florida)製のICAリモートディスプレイプロトコルおよび/またはMicrosoft社(Redmond、Washington)製のRDPリモートディスプレイプロトコルを含む、様々な第2のプロトコルのうちのいずれか1つを使用して、接続124a乃至124nを通じて通信を行うことができる。例えば、第1のプロトコルサービス112およびホストサービス116aは、ICAリモートディスプレイプロトコルを使用して接続124aを通じて通信を行いながら、第1のプロトコルサービス112およびホストサービス116bは、RDPリモートディスプレイプロトコルを使用して接続124bを通じて通信を行うことができる。
一実施態様では、第1のプロトコルサービス112とホストサービス116との間の通信を行うために使用する、例えばICAリモートディスプレイプロトコルのような第2のプロトコルは、複数の仮想チャネルを含む。仮想チャネルは、データを交換するためのコマンドを発行するためにアプリケーション層コードが使用するセッション指向の送信接続である。例えば、複数の仮想チャネルのそれぞれは、リモートクライアント108での機能を可能にする複数のプロトコルパケットを含むことができる。一実施態様では、複数の仮想チャネルのうちの1つが、クライアント108にグラフィカルユーザーインターフェイスを表示させるために、第1のプロトコルサービス112を介して、グラフィックスクリーンコマンドをホストサービス116からクライアント108に送信するためのプロトコルパケットを含む。別の実施態様では、複数の仮想チャネルのうちの1つが、クライアント108で文書を印刷させるために、第1のプロトコルサービス112を介して、プリンタコマンドをホストサービス116からクライアント108に送信するためのプロトコルパケットを含む。
一実施態様では、第1のプロトコルは、トンネリングプロトコルである。第1のプロトコルサービス112は、それぞれがホストサービス116a乃至116nと第1のプロトコルサービス112との間の通信に使用する、複数の第2のプロトコルを第1のプロトコル内にカプセル化する。このように、ホストサービス116a乃至116nおよび第1のプロトコルサービス112は、複数の第2のプロトコルを介してクライアント108と通信を行う。一実施態様では、第1のプロトコルは、例えば、TCP/IP接続を通じて複数の第2のプロトコルのトンネリングが可能な、アプリケーションレベルのトランスポートプロトコルである。
図2Aを参照すると、接続120を介したクライアント108と第1のプロトコルサービス112との間の通信は、第1のプロトコル204内にカプセル化された複数の第2のプロトコル200a乃至200n(例えば、HTTP、FTP、Oscar、Telnet、ICA、および/またはRDP)の形をとる。これは、第1のプロトコル204の中の第2のプロトコル200a乃至200nの位置によって示される。セキュアな通信が要求されない場合は、図2Aに示すように、第1のプロトコル204は、セキュアでないTCP/IP接続208を通じて通信を行うことができる。
図2Bを参照すると、セキュアな通信を使用する場合、第1のプロトコル204は、例えば、セキュアソケットレイヤー(SSL)のようなセキュアなプロトコル216を使用して保護されるTCP/IP接続212などのような暗号化された接続を通じて通信を行う。SSLは、Netscape Communication社(Mountain View、California)がまず開発し、Transport Layer Security(TSL)プロトコルとしてインターネット技術特別調査委員会(IETF)が広め、IETF RFC−2246に記載された、現在の標準である。
従って、複数の第2のプロトコル200a乃至200nは、接続120を通じてセキュアなプロトコル216有り(図2B)またはなし(図2A)で第1のプロトコル204内で通信を行う。接続124a乃至124nを通じて通信を行うために使用できる第2のプロトコルは、HTTP、FTP、Oscar、Telnet、ICA、および、RDPを含むがこれらに限定されない。さらに、一実施態様では、上述のように、少なくとも1つの第2のプロトコルは、複数の仮想チャネルを含むが、それぞれリモートクライアント108での機能を可能にする複数のプロトコルパケットを含むことができる。例えば、一実施態様では、一方のホストサービス116aはウェブサーバであり、HTTPプロトコルを使用し、接続124aを通じて第1のプロトコルサービス112と通信を行い、別のホストサービス116bはアプリケーションサーバであり、ICAプロトコルを使用し、接続124bを通じて第1のプロトコルサービス112と通信を行う。ホストサービス116bは、クライアント108にグラフィカルユーザーインターフェイスを表示させるグラフィックスクリーンコマンドをクライアント108に伝送するためのプロトコルパケット、およびクライアント108で文書が印刷されるようにするプリンタコマンドをクライアント108に伝送するためのプロトコルパケットの両方を生成する。
本発明の別の局面は、本願明細書に記載されている、ネットワーク接続の開閉回数を減らす方法およびシステムである。一実施態様において、第1のプロトコル204は、その中にトンネリングした、例えば、HTTP接続200nなどのような第2のプロトコル接続200a乃至200nが、繰り返し、また第1のプロトコル204がそれを通じて通信を行うトランスポート接続(例えば、TCP接続208および/または212)や、セキュアなプロトコル接続216、あるいは第1のプロトコル接続204自体に、同様に繰り返して開くおよび/または閉じることを要求することなく、開くおよび/または閉じることを可能にする。第1のプロトコル204のカプセル化なしに、第2のプロトコル200a乃至200nは、TCP接続のようなネットワーク接続を頻繁に開閉できる。これは大きな遅延および間接費をシステムに追加するであろう。このような遅延および間接費は、ネットワーク接続の確立において大きな間接費のかかるSSL等のセキュアなカプセル化プロトコル214の使用によってさらに増加するであろう。第1のプロトコル204内において第2のプロトコル200a乃至200nをカプセル化し、トランスポート接続(208、212)の接続を保持することによって、第2のプロトコル200a乃至200nは、第1のプロトコル204のペイロードの一部として、頻繁で費用のかかるネットワーク接続120の開閉を行う必要がない。さらに、第2のプロトコル200a乃至200nは第1のプロトコル204内でセキュアなプロトコル216と通信を行えるため、第2のプロトコル200a乃至200nはSSL等とのセキュアな接続を開閉する必要もない。トランスポート接続(208、212)は、カプセル化された第2のプロトコル200a乃至200nがセキュアなまたはセキュアでないネットワーク接続120を繰り返し開閉することなく通信を行えるよう、ネットワーク接続120を確立し保持する。これにより第2のプロトコル200a乃至200nの通信における動作速度が大幅に増す。
上述のように、第2のプロトコル200a乃至200nはアプリケーションに関連するプロトコルパケットを、HTTP、FTP、Oscar、Telnet、RDAまたはICA等のプロトコルを使用して運搬する。第2のプロトコルパケット304a乃至304nは、クライアント108とホストサービス116a乃至116nの間で取引されるアプリケーション機能に関連するデータを輸送する。例えば、クライアント108上のユーザーは、ホストサービス116a乃至116nによって提供されるウェブページと情報のやりとりを行うことができる。クライアント108とホストサービス116a乃至116nの間のトランザクションにおいて、第1のプロトコル204内でカプセル化された第2のプロトコル200a乃至200nは、ホストサービス116a乃至116nと通信を行うため、ウェブページの表示および任意のユーザー対話の受信に関連するhttpプロトコルパケットを有することができる。トランスポート接続(218、212)は第2のプロトコル200a乃至200nによって保持されないため、第2のプロトコル200a乃至200nは任意のネットワーク接続中断に対処する必要がない。そのため、第2のプロトコル200a乃至200nは、そのペイロードにおいていずれのネットワーク接続中断情報も提供しなくてよい。上記の例において、クライアント108へ伝送される第2のプロトコル200a乃至200nの第2のプロトコルパケット304a乃至304nに関連するhttpは、例えばウェブページ上でのエラーメッセージ等、ネットワーク中断が発生したという通知を提供しないであろう。従って、クライアント108上のユーザーは、いかなるネットワークレベル接続の中断も第2のプロトコル200a乃至200nを介して通知されることはないであろう。これは、第2のプロトコル200a乃至200nに関連するアプリケーションの使用中、ネットワーク接続中断をユーザーから効果的に隠す。
図3を参照すると、第1のプロトコルサービス112およびクライアント108のクライアントエージェント128が使用するプロセス例300は、接続120を介して通信を行うために、複数の第2のプロトコル200(例えば、HTTP、FTP、Oscar、Telnet、ICAおよび/またはRDP)を第1のプロトコル204内にカプセル化する。任意に、下記のように、第1のプロトコルサービス112およびクライアント108のクライアントエージェント128が使用するプロセス例300はまた、接続120を介した通信の前に、第1のプロトコルのレベルで通信を圧縮および/または暗号化する。第1のプロトコルサービス112の観点から、第2のプロトコルパケット304a乃至304nは、接続124a乃至124nを介して第1のプロトコルサービス112で受信する。例えば、2つの第2のプロトコルパケット304aおよび304bは、第1のプロトコルサービス112によって受信される。1つ、2つ、または任意の第2のプロトコルパケット304a乃至304nを受信することができる。一実施態様では、第2のプロトコルパケット304a乃至304nは、ホストサービス116によって接続124を通じて第1のプロトコルサービス112に送信される。第2のプロトコルパケット304a乃至304nは、ヘッダ308およびデータペイロードとも呼ばれるデータパケット312を含む。
第2のプロトコルパケット304a乃至304nの受信の後に、第1のプロトコルサービス112は、1つ以上の第2のプロトコルパケット304を第1のプロトコルパケット316内にカプセル化する。一実施態様では、第1のプロトコルサービス112は、第1のプロトコルパケットヘッダ320を生成し、例えば、2つの第2のプロトコルパケット304aおよび304bなどのような、1つ以上の第2のプロトコルパケット304a乃至304nを第1のプロトコルパケット316のデータペイロード324内にカプセル化する。別の実施態様では、1つの第2のプロトコルパケット304aだけが、各第1のプロトコルパケット316内にカプセル化される。
一実施態様では、第1のプロトコルパケット316は、次いで接続120、例えば図2Aを参照して説明される接続208を通じて、クライアント108のクライアントエージェント128に送信される。あるいは、別の実施態様では、第1のプロトコルサービス112は、いずれの第1のプロトコルパケット316の送信の前に、第1のプロトコル204のレベルでの通信を暗号化するようにさらに構成される。このような一実施態様では、第1のプロトコルパケット316は、例えば、図2Bを参照して説明されるSSLプロトコルを使用して暗号化される。その結果、ヘッダ332と、データペイロード336としての暗号化された第1のプロトコルパケット316’を含むセキュアなパケット328が生成される。セキュアなパケット328は、次いで接続120、例えば図2Bを参照して説明されるセキュアなTCP/IP接続212を通じて、クライアント108のクライアントエージェント128に送信される。
別の実施態様では、第1のプロトコルサービス112は、いずれの第1のプロトコルパケット316の送信の前に、第1のプロトコル204のレベルで通信を暗号化するようにさらに構成される。一実施態様では、第1のプロトコルサービス112は、第1のプロトコルパケット316を暗号化する前に、標準的な圧縮技術を使用して第1のプロトコルパケット316を圧縮する。このように、システム100の効率が改善される。
図1Aおよび図1Bを再び参照すると、本発明のシステム100は、一実施態様では、例えばホストサービス116aのようなホストサービス116へ持続的な接続を有するリモートクライアント108を提供する。例えば、クライアント108がクライアント108と第1のプロトコルサービス112との間の接続120を確立し、第1のプロトコルサービス112が第1のプロトコルサービス112とホストサービス116aとの間の接続124aを確立する場合は、次いでクライアントエージェント128または第1のプロトコルサービス112のいずれか、またはその両方が、接続120を介して直近に送信された第1のプロトコルデータパケットのキューを維持するように構成される。例えば、キューに入れたデータパケットは、接続120の前でも失敗時でもクライアントエージェント128および/または第1のプロトコルサービス112によって維持されることができる。さらに、接続120の失敗時には、第1のプロトコルサービス112、および同様にホストサービス116aは、接続124aを維持するように構成される。
接続120の失敗を受けて、クライアント108は、いずれのデータも失わずに第1のプロトコルサービス112による新しい接続120を確立する。より具体的には、接続120の失敗時に接続124aが維持されるので、新しく確立された接続120は、維持された接続124aにリンクされることができる。さらに、直近に送信された第1のプロトコルデータパケットがキューに入っているので、クライアント108によってそれらを第1のプロトコルサービス112に再び送信することができ、および/または第1のプロトコルサービス112によって新しく確立された接続120を通じてクライアント108に再び送信することができる。このように、ホストサービス116aとクライアント108との間の通信セッションは、第1のプロトコルサービス112を介して、いずれのデータも失われずに持続的に進められる。
一実施態様では、クライアント108のクライアントエージェント128および/または第1のプロトコルサービス112は、それらが接続120を通じて送信するデータパケットに番号を付ける。例えば、クライアントエージェント128および第1のプロトコルサービス112それぞれに、他のものがそのデータパケットにどのように番号を付けたかに関係なく、それ自身の送信データパケットに別々に番号を付ける。さらに、データパケットの番号付けは、データパケットの番号を付け直さずに絶対的なものとすることができる。すなわち、クライアントエージェント128および/または第1のプロトコルサービス112により送信された最初のデータパケットには、番号1を付けることができ、接続120を通じてクライアントエージェント128および/または第1のプロトコルサービス112により送信された各データパケットには、その後にそれぞれ連続した番号が付けられる。
このような一実施態様では、接続120の中断および再確立を受けて、クライアントエージェント128および/または第1のプロトコルサービス112は、他方にそれが要求する次のデータパケットを通知する。例えば、クライアントエージェント128が、接続120の中断の前に番号1乃至10のデータパケットを受信した場合、接続120の再確立時に、クライアントエージェント128は第1のプロトコルサービス112に現在データパケット番号11を要求していることを通知する。同様に、第1のプロトコルサービス112は、このように機能することもできる。あるいは、別のこのような実施態様では、クライアントエージェント128および/または第1のプロトコルサービス112は、他方に受信した最後のパケットデータを通知する。例えば、クライアントエージェント128が、接続120の中断の前に番号1乃至10のデータパケットを受信した場合、接続120の再確立時に、クライアントエージェント128は第1のプロトコルサービス112に最後に受信したデータパケット番号10を通知する。第1のプロトコルサービス112も同様に機能することができる。さらに別の実施態様では、クライアントエージェント128および/または第1のプロトコルサービス112は、接続120の再確立時に、一方に受信した最後のデータパケットおよび要求する次のデータパケットの両方を通知する。
このような実施態様では、接続120の再確立時に、クライアントエージェント128および/または第1のプロトコルサービス112は、他のものが受信していないバッファリングされたデータパケットを再送信することができ、第1のプロトコルサービス112を介して、ホストサービス116とクライアント108との間の通信セッションをいずれのデータも失わずに進めることができる。さらに、接続120の再確立時に、クライアントエージェント128および/または第1のプロトコルサービス112は、現在一方が受信したことがわかっているバッファリングされたデータパケットをそれぞれのバッファから消去することができる。
クライアント108にホストサービス116a乃至116nとの信頼できる持続的な接続を提供することにより、本発明は、ネットワーク接続中断を通じてユーザーセッションを保持することでホストサービス116a乃至116nとの新しいユーザーセッションを開くプロセスを回避する。ホストサービス116a乃至116nとの各ユーザーセッションのため、クライアント108およびホストサービス116a乃至116nは、セッション固有のコンテキストおよびキャッシュ、ならびに本例のユーザーセッションに関連するその他のアプリケーション固有のメカニズムを維持する場合がある。確立した新しい各ユーザーセッションのために、これらのセッション固有のコンテキストおよびキャッシュを、新しいユーザーセッションを反映するため再配置および再確立する必要がある。例えば、クライアント108上のユーザーはホストサービス116a乃至116nとのhttpセッションを有する場合がある。ホストサービス116a乃至116nは、本例のクライアント108とのhttpセッションを提供するためのコンテキストを保持することができる。コンテキストはサーバのメモリ内、サーバのファイル内、データベースまたはホストサービス116a乃至116nの機能性の提供に関連するその他のコンポーネントに格納される。クライアント108は、ホストサービス116a乃至116nに対する未処理の要求のトラックを維持するためのメカニズム等、httpセッションの例に特有のローカルコンテキストを有する場合がある。このコンテキストは、クライアント108のメモリ内、クライアント108のファイル内、またはクライアント108と適合するその他のソフトウェアコンポーネントに格納される場合がある。クライアント108とホストサービス116a乃至116nの間の接続が持続的でない場合、ホストサービス116a乃至116nおよびクライアント108の新しいセッション特有コンテキストによって新しいユーザーセッションを確立する必要がある。本発明は、新しいセッション、またそれによって新しい特有のセッションコンテキストが再確立される必要のないよう、セッションを保持する。
本発明は、ネットワークレベルの接続中断を通じて、クライアントのユーザーにセッションが中断されたことを通知することなく、ユーザーセッションを保持する。本発明のこの局面の動作において、第1のプロトコルサービス112は、クライアント108との第1の接続およびホストサービス116a乃至116nとの第2の接続を確立および保持する。第1の接続および第2の接続を経由して、クライアント108とホストサービス116a乃至116nの間のセッションは確立される。第1のプロトコルサービス112は、認証証明書のような任意のセッション関連情報ならびに確立されたセッションのためのクライアント108およびホストサービス116a乃至116nのコンテキストを格納および保持することができる。クライアント108上のユーザーは、確立されたセッションを通じて、ホストサービス116a乃至116nによって提供される機能性を行使するであろう。このように、関連する第2のプロトコルパケット304a乃至304nは、そのような機能性のトランザクションに関連するデータを含むであろう。これらの第2のプロトコルパケット304a乃至304nは、第2のプロトコル200a乃至200nの一部として、第1のプロトコル204内でカプセル化され、通信が行われる。第1の接続または第2の接続いずれかにおける中断検出時、第1のプロトコルサービス112は、中断されていないと思われるその他の接続を保持しながら、中断された接続を再確立することができる。ネットワーク接続中断は、クライアント108とホストサービス116a乃至116nの間のセッションを中断する場合がある。しかしながら、トランスポートメカニズムは第2のプロトコル200a乃至200nによって維持されていないため、クライアント108上のユーザーにセッションが中断されたという通知を与えることなく、ネットワーク接続が再確立された後にセッションを再確立することができる。第2のプロトコル200a乃至200nは、クライアント108に伝送するための情報に関連するいかなる中断も含む必要がない。従って、ネットワーク接続中断によって生じるセッションの中断は、第1のプロトコル204のカプセル化によって、効果的にユーザーから隠される。
セッション関連情報を保持する第1のプロトコルサービス112は、クライアント108とホストサービス116a乃至116nの間のセッションを再確立することができる。例えば、クライアント108と第1のプロトコルサービス116の間のセッションが中断した場合、第1のプロトコルサービス112はクライアントの108セッションを第1のプロトコルサービス112とホストサービス116a乃至116nとの間でアクティブまたはオープンに保つことができる。第1の接続が再確立した後、第1のプロトコルサービス112はクライアント108のセッションを第1のプロトコルサービス112とホストサービス116の間で保持されているセッションにリンクすることができる。第1のプロトコルサービス112は、クライアント108に第1の接続における中断の前にキューに入っていた任意のデータを送信することができる。このように、クライアント108は中断前と同じセッションを使用しているだろうし、ホストサービス116a乃至116nおよびクライアント108はメモリ内またはほかの場所に格納されていると思われる任意のセッション固有コンテキストの使用を継続できる。さらに、第1のプロトコルサービス112の仲介により、ホストサービス116a乃至116nは、第1のプロトコルサービス112とクライアント108の間のネットワーク中断を認識しない場合がある。
別の実施態様において、第1のプロトコルサービス112とホストサービス116a乃至116nとの間の第2の接続が中断した場合、第1のプロトコルサービスは、ホストサービス116a乃至116nとの第2の接続を再確立しながら、クライアント108との第1の接続を保持することができる。第2の接続を再確立した後、第1のプロトコルサービス112は、クライアントを代表し、ホストサービス116a乃至116nとのクライアントセッションを再確立することができる。第1のプロトコルサービス112が任意のセッション関連情報を保持していたため、第1のプロトコルサービスは、クライアント108が、第2の接続における中断およびその結果生じた第1のプロトコルサービス112とホストサービス116a乃至116nの間のセッションへの中断を認識しないよう、同じセッションまたは同様のセッションを再確立することができる。第2のネットワーク接続およびセッションを再確立する間、第1のプロトコルサービス112は、クライアント108から中断中に送信されてきた任意のセッショントランザクションをキューに入れることができる。次いで、ホストサービス116a乃至116nとのセッションを再確立後、第1のプロトコルサービス112はそのキューに入れたトランザクションをホストサービス116a乃至116nへ伝送することができ、セッションは正常に継続できる。このような方法で、クライアント108はあたかもセッションの中断などなかったかのように動作を継続する。
また、信頼できる持続的な接続を提供することにより、本発明は、クライアント108とサーバ415またはホストサービス116a乃至116nの間で行使される機能性の一部として、トランザクション、コマンドまたは動作への中断を回避することもできる。例えば、Windows(登録商標) Explorerを使用するファイルコピー動作は、ネットワーク接続において中断があった後も動作を継続するようには設計されていない。クライアント108上のユーザーは、クライアント108のファイルをサーバ415へコピーするために、Windows(登録商標) Explorerのファイルコピー機能を使用することができる。ファイルのサイズにより、この動作が完了するまでには比較的長い時間がかかる。サーバ415へのファイルコピー動作の途中にクライアント108とサーバ415の間のネットワーク接続に中断があった場合、ファイルコピーは失敗するであろう。クライアント108のファイルをサーバ415へコピーするため、ネットワーク接続が再確立されてすぐに、ユーザーはもう一度Windows(登録商標) Explorerのファイルコピー動作を開始する必要がある。本発明の下では、ユーザーはもう一度ファイルコピー動作を開始する必要がないであろう。ネットワーク接続は第1のプロトコル204接続の一部として再確立されるであろう。ファイルコピー動作は第2のプロトコル200a乃至200nのペイロードにおいてカプセル化されるであろう。このように、Windows(登録商標) Explorerのファイルコピーは、ネットワーク接続における中断の通知を受けることなく、従って失敗することがないであろう。第1のプロトコルサービス112は、動作が失敗なく継続できるよう、任意の接続を再確立し、キューに入れた任意のデータを伝送する。第1のプロトコル112は、ネットワーク接続の中断によりサーバ415に転送されなかったファイルコピー動作に関連するデータのキューを保持するであろう。ネットワーク接続が再確立されるとすぐに、第1のプロトコルサービス112はキューに入れたデータを伝送し、やがてファイルコピー操作に関連するデータの転送を継続することができる。
本発明のこの局面は、ファイルコピー動作例の観点で説明されているが、通常当業者には、クライアント108とサーバ415またはホストサービス116a乃至116n間で取引されるいかなる操作、トランザクション、コマンド、ファンクションコール等も、ネットワーク接続中断による失敗なく、またさらに、クライアント108が、中断があったことを認識したり中断の通知を受けたりすることなく、保持および継続できることが認識されるであろう。
さらに、信頼できる持続的な接続を提供することにより、本発明は、クライアント108に、クライアント108上でセッションまたはアプリケーションを再開することなく、異なるネットワークトポロジーを通じて妨害させることもできる。例えば、クライアント108は無線ネットワーク接続可能なノート型パソコンであってよい。クライアント108が第1の無線ネットワークから第2の無線ネットワークへ移動する場合、第2の無線ネットワークによってネットワーク接続が確立される際に、クライアントのネットワーク接続120は、第1の無線ネットワークから一時的に中断される場合がある。第2の無線ネットワークは、クライアント108に、ホスト名またはインターネットプロトコルアドレスのような新しいネットワーク識別子を割り当てることができる。この新しいネットワーク識別子は、第1の無線ネットワークによってクライアント108に割り当てられたネットワーク識別子と異なる場合がある。別の実施態様において、クライアント108は、イーサネット(登録商標)ケーブルを介してネットワーク上のポートに物理的に接続される場合がある。物理的な接続はプラグを抜かれる場合があり、クライアント108はネットワーク上の異なるポートに接続するため別の場所に移動する場合がある。これは、ネットワーク接続102への中断および割り当てられたネットワーク識別子における潜在的な変化を引き起こすであろう。本発明がなければ、クライアント108におけるホストサービス116a乃至116nとのいかなるセッションも、またネットワークにアクセスするクライアント108上のアプリケーションも、ネットワークトポロジーの変化、ネットワーク接続120への中断、および/または割り当てられたネットワーク識別子の変化によって再開される必要があるかもしれない。本願明細書に記載の方法およびシステムによって、本発明はクライアントのためのネットワーク接続ならびに、ネットワークトポロジーおよびネットワーク識別子における変化の処理も含む自動的に再確立されたクライアント108のネットワーク接続を保持する。クライアント108およびクライアント108上の任意のアプリケーションまたはセッションは、あたかもネットワーク接続中断もネットワーク識別子における変化もなかったかのように動作を継続することができる。さらに、クライアント108上のユーザーは、いかなる中断や変化があったことも認識しない場合があり、クライアント108はそのような中断のいかなる通知も受信しない場合がある。
上述のような信頼できる持続的な通信セッションがあったとしても、ネットワーク接続は中断されたままである。ホストサービスへのクライアントの接続を再確立する際、クライアント108はホストサービス116に対して再認証されることも必要である。本発明の一実施態様は、クライアント108をホストサービス116に対して認証するための、および認証証明書を再入力することなくクライアント108をホストサービス116に対して再認証するためのシステムおよび方法に関する。
図4は、自動クライアント再接続サービスまたはACRサービス405と呼ばれる自動的なクライアント再接続サービスを使用して、クライアント108をホストサービス116に再接続することが可能な、システム400の実施態様を示す。つまり、クライアント108は、通信チャネル418上で、サーバとも呼ばれるコンピュータサーバ415と通信を行う。通信チャネル418は、ネットワーク104を含むことができる。例えば、通信チャネル418は、会社のイントラネットのようなローカルエリアネットワーク(LAN)または、インターネットまたはワールドワイドウェブのようなワイドエリアネットワーク(WAN)上にあってよい。サーバ415は、ACRサービス405により自動クライアント再接続サービスを提供する。クライアント108は通信チャネル418を通じてサーバ415にアクセスする。サーバ415のACRサービス405は、サーバ415に対してクライアント108を認証するための認証サービスを提供する。ネットワーク通信において中断がある場合、ACRサービス405は、サーバ415に対してクライアント108を認証するための再認証サービスをさらに提供する。単一のクライアント108および1つの通信チャネル418で説明しているが、多数のクライアント(例えば、108、108’)および多数の通信チャネル(例えば、418、418’)がシステム100の一部であってよい。
一実施態様において、サーバ415は、システムバス432上で通信を行うプロセッサ425およびメモリ430を含む。メモリ430は、ランダムアクセスメモリ(RAM)および/またはリードオンリーメモリ(ROM)を含む場合がある。別の実施態様において、サーバ415は、リモートサイト(例えば、別のコンピュータ、外部記憶装置)からメモリ430にアクセスする。
サーバ415上で動作するACRサービス405は、キージェネレータ435、セッション識別子(SID)ジェネレータ438、エンクリプター440、キーデストロイヤー445、およびデクリプター448を含む。キージェネレータ435は、サーバ415またはACRサービス405がクライアント108から認証証明書を受信した際にキーを生成する。一実施態様において、キージェネレータ435は、サーバ415の特性からキーを導き出す。具体的な例としては、プロセッサ425の温度からキーを導き出すキージェネレータ435、サーバ415が認証証明書を受信する時間、およびメモリ430に格納されているキーの数が挙げられる。さらなる実施態様において、キーおよび認証証明書は同じ大きさ(例えば、8ビット)である。一実施態様において、キージェネレータはソフトウェアモジュールである。別の実施態様において、キージェネレータ435は乱数ジェネレータである。
SIDジェネレータ438は、サーバ415に特定の通信セッションを識別させる固有のSIDを生成する。一実施態様において、SIDジェネレータ438はソフトウェアモジュールである。別の実施態様において、SIDジェネレータ438は乱数ジェネレータである。別の遂行形態において、SIDジェネレータはSIDをホストサービス116へ伝送する。一実施態様において、SIDジェネレータ438はサーバ上で動作するホストサービス116からSIDを得る。さらなる実施態様において、SIDジェネレータは、ユーザーセッションを確立するホストサービス116からセッション識別子を受信することによって、SIDを生成する。
エンクリプター440は、認証証明書を持つキーを暗号化し、暗号化した認証証明書を作成する。一実施態様において、エンクリプター440は、キーおよび認証証明書において排他的論理和演算(すなわち、XOR)を遂行することによって認証証明書を持つキーを暗号化する。別の実施態様において、エンクリプター440は、キーに認証証明書を加えて認証証明書を暗号化する、つまり、エンクリプター440は、キーをシフト値として使用することにより、認証証明書において「シーザー暗号」を遂行する。別の実施態様において、エンクリプター440は、認証証明書において、MD4、MD5、またはSHA‐1等のハッシュ関数を遂行する。エンクリプター440は、ACRサービス405が暗号化した認証証明書をキーによって解読できる限り、認証証明書においていかなるタイプの操作も遂行できることを明らかにする必要がある。
一実施態様において、エンクリプター440は、暗号化した認証証明書を作成するために、キーおよび認証証明書において数学アルゴリズムを実行するソフトウェアモジュールである。別の実施態様において、エンクリプター440は、排他的論理和(XOR)ゲートのような、サーバコンピュータ415の論理ゲートである。
一実施態様において、エンクリプター440はSIDを持つ暗号化した認証証明書をメモリ430内のテーブル455に格納する。別の実施態様において、エンクリプター440は、暗号化した認証証明書を、テーブル455およびテーブル455にSIDを格納するSIDジェネレータ438内に格納する。一実施態様において、テーブル455は、エンクリプター440が使用するために、プロセッサ455によって割り付けられたメモリ430内の領域にある。別の実施態様において、エンクリプター440は、SIDを持つ暗号化した認証証明書を、メモリ430から分離したデータベース(図4には示さず)内に格納する。
一実施態様において、ACRサービス405はSIDを、テーブル455における暗号化した認証証明書の位置を指すベクトルとして使用する。別の実施態様において、ACRサービス405はSIDを、データベース(図4には示さず)内の暗号化した認証証明書を見つけ引き出すためのデータベースキーとして使用する。エンクリプター440により作成された、暗号化した認証証明書のそれぞれは、1つの固有のSIDにのみ関連している。従って、ACRサービス405は、特定のSIDを使用することで暗号化した認証証明書を見つけ引き出すことができる。
キーデストロイヤー445は、ACRサービス405がそのキーはもはや必要ないと判断すると、キーを削除する。一実施態様において、キーデストロイヤー445はサーバ415のオペレーティングシステムのようなソフトウェアプログラムの削除機能である。
デクリプター448は、ACRサービス405がクライアント108からキーおよびSIDを引き出すと、暗号化した認証証明書を解読する。一実施態様において、デクリプター448は、暗号化した証明書を作成するためにエンクリプター440が遂行した逆関数またはアルゴリズムを遂行するソフトモジュールである。別の実施態様において、デクリプター448は、エンクリプター440の逆演算を遂行するハードウェアコンポーネント(例えば、論理ゲート)である。
一実施態様において、1つ以上のキージェネレータ435、SIDジェネレータ438、エンクリプター440、キーデストロイヤー445、およびデクリプター448は、ACRサービス405を代表する1つのソフトウェアモジュールに接合される。別の実施態様において、これらのコンポーネント(436、438、440、445、および448)は、論理ゲートのようなハードウェアコンポーネントであってよい。さらなる実施態様において、これらのコンポーネント(435、438、440、445、および448)は、単一の集積回路に含まれてよい。さらに別の実施態様において、例えばキージェネレータ435およびSIDジェネレータ438のような一部のコンポーネントはハードウェアコンポーネントであってよく、例えばエンクリプター440、キーデストロイヤー445およびデクリプター448のようなその他のコンポーネントはソフトウェアコンポーネントであってよい。
別の実施態様において、本発明は、ネットワークへのクライアントの接続において中断がある場合に、クライアント108をホストサービス116に再接続するための方法も提供する。前記方法は、ホストサービス116へのクライアントの接続の再確立およびクライアントをホストサービスに対して再認証するためのACRサービス405の使用を含む。
図5Aを参照して、クライアント108は、通信チャネル418上でサーバ415との第1の通信セッションを確立する。クライアント108はクライアント108のユーザーから認証証明書を得る(ステップ500)。クライアント108とサーバ415との間の通信のための伝送プロトコルのような開放型システム間相互接続(OSI)プロトコルを使用しないシステム100においては、認証証明書が第1の通信セッションを確立するために必要なログインパスワードとなる場合がある。一実施態様において、ユーザーから認証証明書を得ることは、通信セッションの確立に先行する。別の実施態様において、認証証明書は、第1の通信セッションが確立した後にクライアント108が得る、ユーザーの個人情報である。認証証明書の例としては、ログインパスワード、社会保障番号、電話番号、住所、生体認証情報、時間依存性パスコード、およびデジタル証明書が挙げられる。クライアント108はその後、サーバ415がクライアント108またはクライアント108のユーザーを認証できるよう、認証証明書を通信チャネル418上でサーバ415へ伝送する(ステップ505)。
サーバ415が認証証明書を受信した後、ACRサービス405はその自動クライアント再接続サービスを提供する。キージェネレータ435は、認証証明書に使用するための第1の暗号化キーを作成する(ステップ510)。一実施態様において、暗号化キーは乱数である。別の実施態様において、暗号化キーは任意の標準的な暗号鍵である。エンクリプター440はその後、第1のキーで認証証明書を暗号化し(ステップ515)、暗号化した認証証明書を生成する。これは、サーバ415にアクセスする攻撃者がキーなしで認証証明書にアクセスするのを防止する。次いでSIDジェネレータ438は第1のSIDを作成し(ステップ520)、クライアント108とサーバ415との間の第1の通信セッションを識別する。一実施態様において、第1の通信セッションはサーバ415によりホストされるホストサービス116を伴う。エンクリプター440は次いで第1のSIDを持つ暗号化した認証証明書を上述のテーブル455内に格納する(ステップ525)。
一実施態様において、エンクリプター440は第1のSIDを持つ暗号化した認証証明書を後のより効率的な検索のために一定の位置に格納する。例えば、エンクリプター440は、RAM30内において所定時間内で作成されたすべての暗号化した認証証明書およびSIDを格納する。ACRサービス405は、所定時間の前に作成されたすべての暗号化した認証証明書およびSIDを、第2の外部メモリ(図示せず)へ転送する。別の実施態様において、エンクリプター440は、SIDを持つ暗号化した認証証明書をデータベース(図示せず)内に格納する。
メモリ430内に格納したSIDおよび暗号化した認証証明書は、任意の特定の順序および/またはフォーマットで配置することができる。例えば、SIDおよび暗号化した認証証明書は、暗号化した認証証明書の作成時に関連した時系列で格納することができる。
サーバ415は次いで第1のキーおよび関連する第1のSIDを、ネットワーク104上でクライアント108へ伝送する(ステップ535)。クライアント108は、第1のキーおよび第1のSIDをクライアント108のメモリ(図示せず)内に格納する(ステップ540)。次いでACRサービス405のキーデストロイヤー445が、メモリ430内に格納されたキーを削除する(ステップ545)。
別の実施態様において、ACRサービス405は、クライアント108がキーを受信したという通知をACRサービス405が受け取るまで、メモリ430から第1のキーを削除しない。例えば、クライアント108は、クライアント108が無事にキーを受信した後、確認応答メッセージをサーバ415へ伝送する。ACRサービス405が通知を受信すると、次いでキーデストロイヤー445がメモリ430からキーを削除する(ステップ545)。これは、クライアント108が無事にキーを受信する前にACRサービス405がキーを削除するのを防止する。応答確認メッセージまでキーを削除しないことにより、ACRサービス405は、伝送の失敗時にキーおよびSIDをクライアント108へ再伝送することができる。
ステップ545においてキーを削除することにより、ACRサービス405は、テーブル455に格納されている暗号化した認証証明書を解読する必要のあるメカニズムを持たない。従って、攻撃者がサーバ415メモリの430にアクセスした場合、その攻撃者は暗号化した認証証明書を受信することはできるが、その暗号化した認証証明書を解読することはできない。そのため、攻撃者はその認証証明書を読み出すことができない。つまり、サーバ415に格納されている暗号化した認証証明書は、攻撃者が解釈または理解できるいかなる情報も提供しない。このように、サーバ415は、暗号化した認証証明書を解読するいかなる情報も所有しない。
また、クライアント108は、暗号化した認証証明書のためのキーを提供できる唯一の機器である。ネットワーク104の一部として多くのクライアント108がある可能性のために、攻撃者は的確なキーを所有するクライアント108を発見するために各クライアント(例えば、108、108’)への個別アクセスを試みる必要がある可能性がある。これは、時間がかかり退屈であるため、結果として攻撃者が暗号化した認証証明書を解読しようとする試みを阻止することができる。
別の実施態様において、サーバ415は暗号化した認証証明書へのアクセスに関してタイムアウト機能を有する。例えば、サーバ415は第1の通信が異常終了した場合にタイマーを開始する。クライアント108が第2の通信セッションを再確立する前にタイマーが所定値に達し、解読のためのキーをサーバ415へ伝送すると、ACRサービス405は暗号化した認証証明書をテーブル455から削除する。タイマーを使用しない場合、キーは今後のセッションのための事実上のパスワードとして作用する。
図5Aを参照して上述したようにクライアント108がサーバ415から第1のキーおよび第1のSIDを受信すると、図5Bに示すように、ユーザーに自身の認証証明書を再入力するように要求することなくセッションを再確立することができる。クライアント108とサーバ415との間の第1の通信セッションにおいて中断または切断が発生(ステップ500)した際、第1の通信セッション418は再確立される必要があり、クライアント108はサーバ415に対して再認証される必要がある。ACRサービス405は、クライアント108を再確立しサーバ415に対して再認証するためのシステムおよび方法を提供する。
クライアント108およびサーバ415が第2の通信セッションを確立すると、クライアント108は第1のキーおよび第1のSIDをサーバ415へ伝送する(ステップ555)。ACRサービス405は、サーバのメモリ430内の暗号化した認証証明書を見つけ引き出すためにSIDを使用(ステップ558)し、引き出した認証証明書を解読するためにキーを使用する(ステップ560)。次いでサーバ415は、クライアント108からの認証証明書を有効にすることによって、クライアント108をサーバ415に対して再認証する(ステップ565)。一実施態様において、認証および再認証はサーバ415のコンピュータデバイスのオペレーティングシステムによって提供されるセキュリティサービスにより容易になる。例えば、認証証明書はサーバ415に対するログインおよびパスワードである。別の実施態様において、認証および再認証は、サーバ415上のアプリケーションまたはソフトウェアプログラムのアプリケーションレベルのセキュリティサービスにより容易になる。例えば、認証証明書は特定のホストサーバ116に対するアプリケーションログインおよびパスワードである。
例えば、ユーザーのログインパスワードが認証証明書であった第1の通信セッションが異常終了したとき(ステップ550)クライアント108はサーバ415との第2の通信セッションを確立しようと試みる。サーバ415との第2の通信セッションを確立するよう求めるサーバ415への要求の一部として、クライアント108は第1の終了した通信セッションのキーおよびSIDをサーバ415へ伝送する(ステップ555)。ユーザーにユーザーのログインパスワードを再び入力するよう促す代わりに、サーバ415は、ACRサービス405を介して、SIDを使用して(ステップ558)そのユーザーに関連する暗号化した認証証明書を見つけ引き出し、キーを使用して(ステップ560)引き出した認証証明書を解読し、その解読した認証証明書を使用することによってクライアントを再認証する(ステップ565)。
一実施態様において、第2の通信セッション中に、ACRサービス405は認証証明書のための第2のキーを作成し(ステップ570)、次いでその第2のキーを使用して認証証明書を暗号化する(ステップ575)。第2の通信セッションを識別し、クライアント108と関連付けるために、第2のSIDが作成される(ステップ580)。第2の暗号化した認証証明書は、第2のSIDとともにテーブル455内に格納される(ステップ525)。
この実施態様において、サーバはその後第2のキーおよび第2のSIDをクライアント108へ伝送する(ステップ585)。クライアント108は次いでその第2のキーおよび第2のSIDをその後の引き出しのためにメモリ(図示せず)内に格納する(ステップ590)。ACRサービス405は次いでメモリ430の第2のキーを削除する(ステップ595)。従って、ACRサービス405は、クライアント108から第2のキーおよび第2のSIDを得たとき、第2の暗号化した認証を解読できるだけである。ACRサービス405は、第1の通信セッション中にユーザーが伝送していたのと同じ認証証明書とともに使用される、第2の通信セッションのための新しいキーおよび新しいSIDを作成している。そのため、ユーザーの認証証明書は、第1の通信セッションの異常終了後に第2の通信チャネル上で再伝送される必要がない。
本発明を認証証明書の観点で説明しているが、通信の失敗があった場合にセッション間で保持できる任意の機密情報を使用してもよい。従って、本発明の発表後であれば、アプリケーションがクレジットカード情報を要求しクレジットカード情報がサーバへ送られた場合、その後に起こるクライアントとサーバとの間の遮断はクレジットカード情報の再入力を要求しない。さらに、セッション識別子またはSIDは格納された認証証明書を指すポインタを提供するとして説明しているが、ポインタとして適合するいずれの数および値も使用してよい。
図6は、中間ノード650を実行するACRサービス405を使用してクライアント108をサーバ415へ再接続できるシステム600の実施様態を示す。中間ノード650は、サーバ415とは異なるコンピュータデバイスであり、通信が可能で本願明細書に開示した動作を行うには十分なプロセッサ能力とメモリ容量を有する、任意のコンピュータであってよい。つまり、クライアント108は、通信チャネル418上の中間ノード650と通信を行っている。通信チャネル418はネットワーク104を含んでよい。中間ノード650は、ACRサービス405を経由して、サーバ415へのクライアント108の接続のため、クライアント108に自動再接続サービスも提供する。中間ノード650は、通信チャネル418’上でサーバ415と通信を行っている。通信チャネル418’はネットワーク104’を含んでよい。クライアント108は中間ノード650を通じてサーバ415のサービスにアクセスする。中間ノード650上のACRサービス405は、クライアント108のサーバ415への接続のための自動クライアント再接続サービスを提供する。通信チャネル418上の単一のクライアント108を示したが、多数のクライアントおよび多数の通信チャネルをシステム600の一部とすることができる。
さらなる実施態様(図示せず)において、システム600は、追加の通信チャネル418、418’上のネットワーク104を通じて1つ以上のクライアント108と通信を行う多数の中間ノード650を含む。図6において通信チャネル418上の単一の中間ノードを示したが、多数の中間ノード650および多数の通信チャネル418をシステム600の一部とすることができる。
別の実施態様において、本発明は、1つ以上の中間ノード650を使用して、サーバ415に対するクライアント108の接続の確立および認証を容易にするための方法に関する。図7Aに示すように、中間ノード650は、サーバ415とのセッションを確立する(ステップ520A)。
クライアント108は、通信チャネル418上に中間ノード650との第1の通信セッションを確立する。クライアント108は、クライアント108のユーザーから認証証明書を得る(ステップ500)。次いでクライアント108は、中間ノード650がサーバ415でユーザーを認証できるよう、その認証証明書を通信チャネル418上の中間ノード650へ伝送する(ステップ505)。
中間ノード650が認証証明書を受信した後、ACRサービス405はその自動クライアント再接続サービスを提供する。ACRサービス405は認証証明書に使用するための第1の暗号化キーを作成し(ステップ510)、次いで暗号化した認証証明書を生成するためにその認証証明書を暗号化する(ステップ515)。これは、サーバ415へアクセスする攻撃者がキーなしで認証証明書にアクセスすることを防止する。次いでサーバ415によりセッションが確立され(ステップ520A)、クライアント108は認証証明書を使用してサーバ415に対し認証される。それにより、ACRサービス405は第1の通信セッションを識別するため、第1のSIDを作成する。暗号化した認証証明書は第1のSIDとともに上述のテーブル455内に格納される(ステップ525)。中間ノード650は次いで第1のキーおよび第1のSIDをネットワーク104上でクライアント108へ伝送する(ステップ535)。クライアント108は、第1のキーおよび第1のSIDをクライアント108のメモリ(図示せず)内に格納する(ステップ540)。ACRサービス405は次いでメモリ430に格納されたキーを削除する(ステップ545)。
図7Aを参照して上述したようにクライアント108が中間ノード650から第1のキーおよび第1のSIDを受信すると、図7Bに示すように、ユーザーに自身の認証証明書を再入力するように要求することなく通信セッションを再確立および再認証することができる。例えば、クライアント108と中間ノード650との間の第1の通信セッションにおいて、異常終了による中断がある(ステップ705)場合がある。
クライアント108および中間ノード650が第2の通信セッションを再確立する際、クライアント108は第1のキーおよび第1のSIDを中間ノード650へ伝送する(ステップ555)。中間ノード650のACRサービス405は、サーバのメモリ430内の暗号化した認証証明書を見つけ引き出すために、SIDを使用し(ステップ558)、引き出した認証証明書を解読するためにキーを使用する(ステップ560)。キージェネレータは認証証明書のための第2のキーを作成し(ステップ570)、キーエンクリプター440は次いで第2のキーを使用し認証証明書を暗号化する(ステップ575)。SIDジェネレータ438も、第2の通信セッションを識別しそれを中間ノード650とサーバ415との間の保持したセッションと関連付けるため、第2のSIDを作成する(ステップ580)。エンクリプター440は、第2の暗号化した認証証明書をSIDとともにテーブル455内に格納する。
一実施態様において、サーバ415は次いで第2のキーおよび第2のSIDをクライアント108へ伝送する(ステップ585)。クライアント108はその後の引き出しのために第2のキーおよび第2のSIDを格納する(ステップ590)。次いでキーデストロイヤー445が第2のキーをメモリ430から削除する(ステップ595)。従って、ACRサービス405は、クライアント108から第2のキーおよび第2のSIDを得たとき、第2の暗号化した認証を解読できるだけである。ACRサービス405は、第1の通信セッション中にユーザーが伝送していたのと同じ認証証明書とともに使用される、第2の通信セッションのための新しいキーおよび新しいSIDを作成している。そのため、ユーザーの認証証明書は、第1の通信セッションの異常終了後に第2の通信チャネル上で再伝送される必要がない。
別の実施態様において、中間ノード650とサーバ415との間の第2の通信セッションにおいて中断または異常終了がある(ステップ710)場合がある。図7Cに示すように、第2の通信セッションはユーザーに自身の認証証明書を再入力するよう要求することなく再確立および再認証できる。
中間ノード650およびサーバ415が第2の通信セッションを再確立する際、中間ノード650は、クライアントを代表してサーバ415とのセッションを再確立するために、クライアント108から第1のキーおよび第1のSIDを要求する(ステップ550)。それに応えて、クライアント108は第1のキーおよび第1のSIDを中間ノード650へ伝送する(ステップ555)。中間ノード650のACRサービス405は、サーバのメモリ430内において暗号化した認証証明書を見つけ引き出すためにSIDを使用し(ステップ558)、引き出した認証証明書を解読するためにキーを使用する(ステップ560)。ACRサービス500はその後、サーバ415に対しクライアント108を再認証するため解読した認証証明書を使用してサーバとのクライアントのセッションを再確立する(ステップ565)。
別の実施態様において、第2の通信セッション上でクライアントを再確立および再認証した後、中間ノード650のACRサービス405は、図7Bにおいて先に説明したように、代替の第2のSIDおよび第2のキーを作成する。図4に示すACRサービスの実施態様を参照して、キージェネレータは認証証明書のための第2のキーを作成し(ステップ570)、キーエンクリプター440は次いで第2のキーを使用し認証証明書を暗号化する(ステップ575)。SIDジェネレータ438も、第2の通信セッションを識別しそれを中間ノード650とサーバ415との間の保持したセッションと関連付けるため、第2のSIDを作成する(ステップ580)。エンクリプター440は、第2の暗号化した認証証明書をSIDとともにテーブル455内に格納する。この実施態様において、サーバはその後第2のキーおよび第2のSIDをクライアント108へ伝送する(ステップ585)。クライアント108は次いでその第2のキーおよび第2のSIDをその後の引き出しのために格納する(ステップ590)。キーデストロイヤー445は次いで第2のキーをメモリ430から削除する(ステップ595)。
その他の実施形態において、1つ以上の第1のプロトコルサービス112およびACRサービス405は、任意のホストサービスノードにわたって配信されることができる。結果として、ホストサービス116に接続するクライアント108の再確立、再認証、または自動再接続の機能性は、ホストサービス116および/またはホストノード118にわたり、異なるシステムおよび配備アーキテクチャにおいて柔軟に配信されることができる。
本発明のこの局面の一実施態様において、各ホストサービス116に専用の自動クライアント再接続サービスをそれぞれ提供するため、ACRサービス405をシステム100の各ホストノード116a乃至116nと関連付けることができる。単一の第1のプロトコルサービス112は、ホストサービス116a乃至116nのすべてを処理するよう配備することができる。図8Aに示すように、複数のACRサービス405a乃至405nは各ホストサービス116a乃至116nとそれぞれ関連付けられている。例示した方法により、クライアント108は第1のプロトコルサービス112を使用してホストサービス116aとの通信セッションを確立する。ホストサービス116aと関連付けられたACRサービス405aは、ホストサービス116aへのクライアント108の接続のため、自動クライアント再接続サービスを提供する。ネットワーク接続において中断がある場合、第1のプロトコルサービス112はクライアント108との接続を再確立し、ACRサービス405aはホストサービス116aに対してクライアント108を再認証するであろう。第2のクライアントサービス108’は、第1のクライアント108とともに、第1のプロトコルサービス112を使用してホストサービス116bとの通信セッションを確立することができる。ACRサービス405bは、ホストサービス116bへのクライアントの接続のために、自動クライアント再接続サービスを提供する。ネットワーク中断がある場合、ACRサービス405bに関連する第1のプロトコルサービス112は、クライアント108’をホストサービス116bに再接続するであろう。
本発明のこの局面の別の実施態様において、ACRサービスは、システム100のホストノード118a乃至118nのそれぞれにおいて動作する複数のホストサービス116a乃至116nのそれぞれと関連付けることができる。第1のプロトコルサービス112は、ホストノード118上で動作する複数のホストサービス116a乃至116nのそれぞれにサービスを提供するよう、各ホストノード118上に配備することができる。図8Bに示すように、各ACRサービス405a乃至405nは、各ホストサービス116a乃至116nにそれぞれ関連付けられている。各ホストノード118は、そのホストサービス116およびACRサービス405のそれぞれにサービスを提供する専用の第1のプロトコルサービス112を有する。例えば、クライアント108は、第1のプロトコルサービス112aを使用することにより、ホストノード118a上にホストサービス116aとの通信セッションを確立する。ホストノード118a上のACRサービス405aは、ホストノード118a上のホストサービス116aへのクライアント108の接続のために、自動クライアント再接続サービスを提供する。
ネットワーク中断が検出されると、第1のプロトコルサービス112aはホストノード118a上のホストサービス116aへのクライアントの接続を再確立し、ホストノード118a上のACRサービス405aはホストノード118a上のホストサービス116aに対してクライアント108を再認証する。第1のクライアント108と同時に、第2のクライアント108’は第1のプロトコルサービス112aおよびACRサービス405aを使用してホストノード118a上のホストサービス116bとの通信セッションを確立する。ネットワーク中断がある場合、ACRサービス405aに関連する第1のプロトコルサービス112aは、ホストノード118a上のホストサービス116bにクライアント108’を再接続する。第1のクライアント108および第2のクライアント108’と同時に、第3のクライアント108’’は、第1のプロトコルサービス112bおよびホストノード118b上のACRサービス405nを使用して、ホストノード118b上のホストサービス116nとの通信セッションを確立する。同様に、第1のプロトコルサービス112bおよびACRサービス405nは、クライアント108’’をホストノード118bのホストサービス116nに再接続することができる。
その他の実施態様において、1つ以上のACRサービス405は、中間ノードまたは第1のプロトコルサービスノードのいずれかを通して、第1のプロトコルサービス112とともに配信されることができる。このように、クライアント108をホストサービス116へ再接続する機能性は、第1のプロトコルサービス112に関連する、異なるシステムおよび配備アーキテクチャにおいて柔軟に配信されることができる。
本発明のこの局面の一実施態様において、ACRサービス405は、第1のプロトコルサービス112専用の自動クライアント再接続サービスを提供するため、各第1のプロトコルサービス112と関連付けることができる。単一の第1のプロトコルサービス112およびACRサービス405はホストサービス116a乃至116nのすべてを処理するように配備することができる。図9Aに示すように、ACRサービス405は、ホストサービス116a乃至116nに自動クライアント再接続サービスを提供するため、第1のプロトコルサービス112と同じコンピュータデバイス内に存在する。例えば、クライアント108は、第1のプロトコルサービス112およびACRサービス405を使用して、ホストサービス116a乃至116nのいずれかと通信セッションを確立する。第1のプロトコルサービス112およびACRサービス405は、クライアント108からホストサービス116a乃至116nのいずれかへの再接続機能性を提供する。
本発明のこの局面の別の実施態様において、ACRサービス405a乃至405nのそれぞれは、複数の第1のプロトコルサービス116a乃至116nのそれぞれに関連付けることができる。例えば、図9Bに示すように、第1のプロトコルサービス112aおよびACRサービス405aは、ホストノード118a上で動作する複数のホストサービス116a乃至116nのそれぞれにサービスを提供するようホストノード118a上に配備されることができる。図9Bにさらに示すように、各ACRサービス405a乃至405nは、専用の自動クライアント再接続サービスを、各ホストノード118a乃至118nの複数のホストサービス116a乃至116nに提供するため、各第1のプロトコルサービス112a乃至112nと関連付けられている。例示したように、クライアント108は、ホストノード118a上のホストサービス116aとの通信セッションを、同じホストノード118a上の第1のプロトコルサービス112aおよびACRサービス405aを使用して確立する。ネットワーク中断がある場合、ACRサービス405aと関連する第1のプロトコルサービス112aは、クライアント108をホストノード118a上のホストサービス116aに再接続する。
本発明を図8A、8Bおよび9A、9Bの様々なシステムおよび配備アーキテクチャの観点で説明しているが、ホストノード118のいずれかにある1つ以上の第1のプロトコルサービス112、ACRサービス405およびホストサービス116、中間ノード650、またはその他のコンピュータデバイスを組み合わせた、および/または配信する、その他任意のシステムおよび/または配備アーキテクチャを使用してもよい。
さらに、認証および再認証サービスを提供するためACRサービス405を使用する代わりに、チケットオーソリティ1036サービスが使用できる。チケットオーソリティ1036は、接続および認証目的のためのチケットを生成し有効化する。チケットは、セッション識別子およびキーを備えることができる。乱数、アプリケーションサーバ証明書、その場限りの、恒常的な、または無効な値もしくはその他任意のタイプの識別子、機密情報、またはそのような目的に使用できるセキュリティベースの情報を備えることもできる。
図10Aに示すようなクライアント108をホストサービス116に再接続するためのネットワーク通信システム1000の実施態様において、チケットオーソリティ1036は、中間ノード1032、第1のプロトコルサービス112、またはホストサービス116a乃至116nのいずれかから分離したノード上で動作できる。図10Aは、中間ノード1032およびチケットオーソリティ1036を示すものであり、これはシステム1000の一部として単一のコンピュータデバイスであってよい。ネットワーク104および104’に加え、システム1000は、すべて上述の、クライアント108、第1のプロトコルサービス112、およびホストサービス116a乃至116nを含む。一実施態様において、中間ノード1032は、ネットワーク104の構成上クライアント108と第1のプロトコルサービス112との間のメッセージが通過しなければならない、例えばファイアウォールおよび/またはルータのようなセキュリティゲートウェイである。チケットオーソリティ1036は、例えば、通信が可能で本願明細書に開示した動作を行うには十分なプロセッサ能力とメモリ容量を有する、スタンドアロンのネットワークコンポーネントとすることができる。チケットオーソリティ1036は、サーバ415上でのチケット関連サービス提供専用の特定のホストサービス116とすることもできる。
図10Aの実施態様に示すように、中間ノード1032は、クライアント108によって開始される接続120aを受け入れ、第1のプロトコルサービス112による第2の接続120bを確立するように構成される。合わせて、接続120aおよび第2の接続120bは、上述のように接続120を構成し、それらを通じて第1のプロトコルを使用してクライアント108および第1のプロトコルサービス112が通信を行う。
図に示すように、中間ノード1032はまた、チケットオーソリティ1036と通信を行うように構成される。一実施態様では、チケットオーソリティ1036は、中間ノード1032からの第1の再接続チケットに対する要求を受信し、その後に第1の再構成チケットを生成するように構成される。第1の再接続チケットは、例えば、大きな乱数を含むことができる。第1の再接続チケットは、クライアント108に、サービスの異常中断後、クライアント108に再度認証証明書を要求することなく自動的にホストサービスとの通信を再確立させる。
第1の再接続チケット生成後、チケットオーソリティ1036は、中間ノード1032またはチケットオーソリティ1036へアクセスできる攻撃者が第1の再接続チケットがなくては認証証明書にアクセスできないよう、第1の再接続チケットを使用してクライアント108により供給された認証証明書を暗号化する。チケットオーソリティ1036は、クライアント108と中間ノード1032との間に確立される通信セッションを認識するため、SIDを生成することもできる。チケットオーソリティ1036は、暗号化した認証証明書をSIDとともにメモリ内に格納し、SIDおよび第1の再接続チケットをネットワーク104上でクライアント108へ伝送する。クライアントがSIDおよび第1の再接続チケットを受信すると、チケットオーソリティ1036はそのメモリ(図示せず)からチケットを破壊(すなわち、削除)する。
別の実施態様では、チケットオーソリティ1036は、ハンドルを生成するように構成される。ハンドルは、例えば、第1の再接続チケットと関連する(例えば、マップされ)乱数とすることができる。一実施態様では、ハンドルは、第1の再接続チケットを形成している乱数よりも小さな乱数である。例えば、ハンドルは、32ビット乱数としてよい。チケットオーソリティ1036は、第1の再接続チケットおよびハンドルを中間ノード1032に送信しながら、第1の再接続チケットのコピーおよびハンドルのコピーを維持する。第1の再接続チケットのコピーは、後にチケットオーソリティ1036が使用することができ、クライアント108の再接続プロセス中に、後にチケットオーソリティ1036にそのコピーを示す際に、元々はクライアント108に送信された第1の再接続チケットを検証する。一実施態様では、チケットオーソリティ1036は、第1のプロトコルサービス112に対するアドレスも維持するが、そのアドレスは、後述するように、第1の接続チケットに関連し、第1の再接続チケットの検証時に、中間ノード1032に送信される。
一実施態様では、中間ノード1032は、チケットオーソリティ1036がそこに送信されたハンドルを使用して、チケットオーソリティ1036で維持された第1の接続チケットを削除するようにさらに構成される。別の実施態様では、下記のように、チケットオーソリティ1036は、クライアント108のホストサービス116への再接続プロセス中に、第1の再接続チケットを削除し、その後代替の第1の再接続チケットを生成するようにさらに構成される。加えて、別の実施態様では、第1の再接続チケットは、所定の時間の経過後に自動的に削除するように構成される。
別の実施態様では、第1のプロトコルサービス112は、第1の再接続チケットなどの場合、例えば、大きな乱数を含むことができる第2の再接続チケットを生成するように構成される。第1のプロトコルサービス112は、第2の接続チケットをクライアント108に送信しながら、第2の再接続チケットのコピーおよびセッション番号を維持するようにも構成することができる。第2の再接続チケットのコピーは、後に第1のプロトコルサービス112が使用することができ、クライアント108の再接続プロセス中に、後に第1のプロトコルサービス112にそのコピーを示す際に、元々はクライアント108に送信された第2の再接続チケットを検証する。一実施態様では、第1のプロトコルサービス112は、中間ノード1032を介して第2の再接続チケットをクライアント108に送信する。別の実施態様では、第1のプロトコルサービス112は、第2の再接続チケットをクライアント108に直接送信する。さらに、下記にさらに詳しく説明するように、第1のプロトコルサービス112は、クライアント108のホストサービス116への再接続プロセス中に、第2の再接続チケットを削除し、その後代替の第2の再接続チケットを生成するようにさらに構成される。加えて、別の実施態様では、第2の再接続チケットは、所定の時間の経過後に自動的に削除するように構成される。
一実施態様では、中間ノード1032は、第1および第2の再接続チケットに対する中間物としての機能を果たす。中間ノード1032は、例えば、チケットオーソリティ1036が生成する第1の再接続チケット、および第1のプロトコルサービス112が生成する第2の再接続チケットを受信する。中間ノード1032は、次いで第1の再接続チケットおよび第2の再接続チケットをクライアント108に送信することができる。さらに、クライアント108のホストサービス116への再接続プロセス中、中間ノード1032は、クライアント108から第1の再接続チケットおよび第2の再接続チケットを受け入れることができ、その後第1の再接続チケットをチケットオーソリティ1036に送信することができ、該当する場合は、第2の再接続チケットを第1のプロトコルサービス112に送信することができる。
クライアント108とホストサービス116との間の第1の通信セッションが、例えば異常に終了した場合、ユーザーに自身の認証証明書を再入力するよう要求することなく新しいセッションを再確立できる。クライアント108およびホストサービス116が第2の通信セッションを再確立する際、クライアント108は第1および第2の再接続チケットならびにSIDを中間ノード1032へ再伝送する。中間ノード1032は第1および第2の再接続チケットならびにSIDをチケットオーソリティ1036へ伝送し、チケットオーソリティ1036は第1の接続のための暗号化した認証証明書を見つけ引き出すためにSIDを使用し、引き出した認証証明書を解読するために第1の再接続チケットを使用する。チケットオーソリティ1036は次いで解読された認証証明書を有効にすることにより、クライアントを認証する。再認証後、ホストサービス116との第2の接続124を再確立するため、第2の再接続チケットは第1のプロトコルサービス112へ転送される。
図10Bに示すようなネットワーク通信システム1000の別の実施態様において、ACRサービス405は、クライアント108をホストサービス116a乃至116nのいずれかに再接続するチケットオーソリティ1036の代わりに使用することができる。この実施態様において、ACRサービス405は、チケットオーソリティ1036に関して上述したのと同様のサービスを提供することができる。先に説明したように、ACRサービス405はクライアント通信セッションを接続および再接続するためのSIDおよびキーを生成し、有効にし、管理する。SIDおよびチケットは、上述のようにチケットオーソリティ1036によって生成され、有効にされ、管理されるタイプのチケットのようなチケットを形成することができる。このように、別の実施態様において、チケットはセッション識別子およびキーと同義的に使用されてよい。
中間ノード1032は、図10Bに示すように、ACRサービス405と通信を行うように構成される。一実施態様において、ACRサービス405は、第1のSIDおよび第1のキーのための要求を中間ノード1032から受信し、その後第1のSIDおよび第1のキーを生成するように構成される。ACRサービス405は、クライアント108とホストサービス116との間の通信セッションを識別するために第1のSIDを使用する。第1のSIDおよび第1のキーは、サービスの異常中断の後、クライアント108に再び認証証明書を提供するよう要求することなくクライアント108にホストサービス116と自動的に再接続させる。
第1のSIDおよび第1のキーの生成後、ACRサービス405は、中間ノード1032またはACRサービス405へアクセスできる攻撃者が第1のキーがなくては認証証明書にアクセスできないよう、第1のキーを使用して、クライアント108により供給された認証証明書を暗号化する。ACRサービス405は次いで暗号化した認証証明書をSIDとともにメモリ430内に格納し、第1のSIDおよび第1のキーをネットワーク104上でクライアント108へ伝送する。クライアントがSIDおよびキーを受信すると、ACRサービス405はメモリ430からキーを破壊(すなわち、削除)する。
別の実施態様において、第1のプロトコルサービス112は、第2のSIDおよび第2のキーを生成するよう構成される。第1のプロトコルサービス112は、第2のSIDおよび第2のキーのコピーを維持しながら、第2のSIDおよび第2のキーをクライアント108へ伝送するようにも構成できる。第2のSIDおよび第2のキーのコピーは、後に第1のプロトコルサービス112によって、元来は後でクライアント108への再接続プロセス中に第1のプロトコルサービス112に提示されるクライアント108へ伝送された第2のSIDおよび第2のキーを有効にするために使用されうる。一実施態様において、第1のプロトコルサービス112は第2のSIDおよび第2のキーを、中間ノード1032を経由してクライアント108へ伝送する。別の実施態様において、第1のプロトコルサービス112は第2のSIDおよび第2のキーをクライアント108へ直接伝送する。さらに、以下でさらに詳しく説明するように、第1のプロトコルサービス112は、ホストサービス116へのクライアント108の再接続プロセス中に第2のSIDおよび第2のキーを削除し、その後代替の第2のSIDおよび第2のキーを生成するようにさらに構成できる。また、別の実施態様において、第2のSIDおよび第2のキーは、所定時間の経過後に自動削除されるように構成される。
一実施態様において、中間ノード1032は第1および第2のSIDおよびキーのための仲介としての役割を果たす。中間ノード1032は、例えばACRサービス405によって生成された第1のSIDおよび第1のキーならびに第1のプロトコルサービス112によって生成された第2のSIDおよび第2のキーを受信する。中間ノード1032はその後第1のSIDおよび第1のキーならびにSIDおよび第2のキーをクライアント108へ伝送する。さらに、ホストサービス116へのクライアント108の再接続プロセス中、中間ノード1032はクライアント108から第1のSIDおよび第1のキーならびに第2のSIDおよび第2のキーを受け取り、その後第1のSIDおよび第1のキーをACRサービス405へ、また適切な場合、第2のSIDおよび第2のキーを第1のプロトコルサービス112へ伝送することができる。
クライアント108とホストサービス116との間の第1の通信セッションが、例えば異常に終了した場合、ユーザーに自身の認証証明書を再入力するように要求することなく新しいセッションを再確立できる。クライアント108およびホストサービス116が第2の通信セッションを再確立する際、クライアント108は第1および第2のSIDおよびキーを中間ノード1032へ再伝送する。中間ノード1032は第1のSIDおよび第1のキーをACRサービス405へ伝送し、ACRサービス405は、第1の接続のための暗号化した認証証明書を見つけ引き出すためにSIDを使用し、引き出した認証証明書を解読するために第1のキーを使用する。
ACRサービス405はその後、解読された認証証明書を有効にすることによりクライアントを認証する。再認証後、第2のSIDおよび第2のキーは、ホストサービス116との第2の接続124を再確立するため、第1のプロトコルサービス112へ転送される。
図11Aを参照すると、ネットワーク通信のためのシステム1100の別の実施態様は、上述のように、ネットワーク104および104’と、クライアント108と、第1のプロトコルサービス112と、ホストサービス116と、中間ノード1032と、チケットオーソリティ1036とを含み、さらに、一実施態様においてクライアント108をホストサービス116に最初に接続するためにどちらも使用される、第1の計算ノード1140および第2の計算ノード144を示す。さらに、図11Aの実施態様では、クライアント108は、例えば、Microsoft社(Redmond、WA)製のINTERNET EXPLORERなどのような、ワールドワイドウェブに接続するためのウェブブラウザ148をさらに含む。
一実施態様では(図示せず)、システム1100は、2つ以上の中間ノード1032および/または2つ以上の第1のプロトコルサービス112を含む。クライアント108と第1のプロトコルサービス112との間のメッセージが通過すべき中間ノード1032および/または第1のプロトコルサービス112は、例えばロードバランシング式に基づいてそれぞれ選択することができる。
第1の計算ノード1140および第2の計算ノード1144のそれぞれは、通信が可能で本願明細書に開示した動作を行うには十分なプロセッサ能力とメモリ容量を有する、いずれのコンピュータとすることができる。例えば、一実施態様では、第1の計算ノード1140は、1つ以上のウェブサイトを提供するウェブサーバである。別の実施態様では、第2の計算ノード1144は、XMLサービスあるいはウェブサービスを提供する。
一実施態様では、クライアント108およびネットワーク104は、外部ネットワーク1152を形成するが、破線で示される第1のファイアウォール1156によってシステム1100の他の部分から切り離される。中間ノード1032および第1の計算ノード1140は、「非武装地帯」1160(すなわち、会社のプライベートネットワークとパブリックネットワークとの間に配置されるネットワーク領域)内に置くことができ、同様に破線で示される第1のファイアウォール1156および第2のファイアウォール1164によってシステム1100の他の部分から切り離される。次いで、図に示すように、ネットワーク104’、第1のプロトコルサービス112、ホストサービス116a乃至116n、チケットオーソリティ1036、および、第2の計算ノード1144は、内部ネットワーク1168を形成するが、第2のファイアウォール1164によってシステム1100の他の部分から切り離される。
あるいは、図11Aには示していない別の実施態様では、システム1100は、非武装地帯1160内でネットワーク104と中間ノード1032との間に配置される第3の計算ノード1146をさらに含む。第3の計算ノード1146は、ネットワーク化された通信が可能で本願明細書に開示した動作を行うには十分なプロセッサ能力とメモリ容量を有する、いずれのコンピュータとすることができる。下記のように、第3の計算ノード1146は、一部の実施態様では、クライアント108のホストサービス116への最初の接続プロセス中、および/またはクライアント108のホストサービス116への再接続プロセス中に使用する。より具体的には、下記のように、システム1100が2つ以上の中間ノード1032を含む際には、第3の計算ノード1146は、例えばロードバランシング式に基づいて、クライアント108のクライアントエージェント128と第1のプロトコルサービス112との間の通信が通過すべき中間ノード1032を選択することができる。
さらに、図11Aを参照すると、中間ノード1032は、別の実施態様では、2つ以上のレベル「a」乃至「n」の中間ノード1032に置換することができる。図示するように、各レベル「a」乃至「n」は、2つ以上の中間ノード1032a乃至1032nを含むことができる。下記のように、クライアント108のクライアントエージェント128は、例えばロードバランシング式に基づいて、中間ノード1032のいずれの組み合わせを介して送ることができる。例えば、図示するように、クライアントエージェント128は、接続120を介して中間ノード1032を介して送ることができる。当業者にとって容易に明らかなように、他の構成のシステム1100も可能である。
再び図11Aを参照すると、一実施態様では、ウェブブラウザ1148は、ネットワーク104を通じて第1の計算ノード1140と通信を行うが、これ自身が第2の計算ノード1144およびチケットオーソリティ1036と接続する。より具体的には、第1の計算ノード1140は、第2の計算ノード1144およびチケットオーソリティ1036のアドレスによって構成される。一実施態様では、下記にさらに説明するように、第1の計算ノード1140は、クライアント108のウェブブラウザ1148と、第2の計算ノード1144と、チケットオーソリティ1036との間の情報を中継し、それによってそれらの直接的な通信を防ぐように構成される。このような直接的な通信を防ぐことによって、第1の計算ノード140は、システム1100に更なるレベルのセキュリティを付加する。第1の計算ノード1140は、中間ノード1032のアドレス、または代わりに、2つ以上の中間ノード1032のアドレスによって構成することもできる。
第2の計算ノード1144は、その役割として、ホストサービス116上で実行するどのアプリケーションプログラムをクライアント108のユーザーが利用できるのかを判断するように構成される。すなわち、第2の計算ノード1144は、ユーザーがアクセスを許可されたのはどのアプリケーションプログラムなのかを判断する。一実施態様では、ユーザーが自身の所望のアプリケーションプログラムを選択した後、さらに下記のように、第2の計算ノード1144は、ロードバランシングのためにユーザーの所望のアプリケーションを実行するために、どのホストサービス116を使用するのかを判断するように構成される。第2の計算ノード1144は、そのホストサービス116のアドレスを第1の計算ノード1140に返す。第2の計算ノード1144は、ロードバランシング式を使用して複数の第1のプロトコルサービス112の中からも選択される、第1のプロトコルサービス112のアドレスも第1の計算ノード1140に返す。次に、第1の計算ノード1140は、選択した第1のプロトコルサービス112および選択したホストサービス116のアドレスをチケットオーソリティ1036に送信する。
チケットオーソリティ1036は、その役割として、接続チケットを生成する。一実施態様では、チケットオーソリティ1036は、クライアント108への送信に対する最初の接続チケットを第1の計算コード1140に送信する。別の実施態様では、チケットオーソリティは、第1の再接続チケットを中間ノード1032に送信する。
図11Bに示されるようなネットワーク通信システム1100の別の実施態様において、ACRサービス405は、クライアント108をホストサービス116に再接続するチケットオーソリティ1036の代わりに使用することができる。チケットオーソリティ1036と同様にチケットを使用する代わりに、ACRサービス405は、クライアント通信セッションを接続および再接続するためのSIDおよびキーを生成し、有効にし、管理する。ACRサービス405は、クライアント108に関連するSIDおよびキー、またはチケットを使用し、ホストサービス116またはサーバ415に対してクライアントを認証および再認証する。前述のように、チケットはSIDとキーの組み合わせを参照することができ、またチケットはSIDおよびキーを備えることができる。
図11Bのシステム1100は、上述のように、ネットワーク104および104’、クライアント108、第1のプロトコルサービス112、ホストサービス116、中間ノード1032、およびACRサービス405を含み、第1の計算ノード1140および第2の計算ノード1144をさらに描写したものであり、その両方がホストサービス116にクライアント108を最初に接続するための一実施態様において使用される。さらに、クライアント108は、ワールドワイドウェブに接続するためのウェブブラウザ148をさらに含む。
一実施態様(図示せず)において、システム1100は、2つ以上の中間ノード1032および/または2つ以上の第1のプロトコルサービス112または2つ以上のACRサービス405を含む。それを介してクライアント108と第1のプロトコルサービス112との間のメッセージが通過しなければならない中間ノード1032、および/または第1のプロトコルサービス112および/またはACRサービス405は、以下に説明するように、例えばロードバランシング式に基づいてそれぞれ選択することができる。
別の実施態様において、図11Bのシステム1100は、同様に内部ネットワーク1168から第2のファイアウォール1164によって分離された第1のファイアウォール1156によって、「非武装地帯」1160から分離された外部ネットワーク1152を含んでよい。本発明を図11Aおよび11Bにおける様々なネットワークの観点から上記で説明したが、例えば、内部ネットワーク、外部ネットワーク、サブネットワーク、イントラネット、ファイアウォール、セキュリティゾーン、単一サーバ、サーバネットワークまたはサーバファームの組み合わせを含むトポロジーのような、その他任意のネットワークトポロジーを使用することができる。
あるいは、図11Bに示されていない別の実施態様において、システム1100は、非武装地帯1160内でネットワーク104と中間ノード1032との間に配置される第3の計算ノード1146をさらに含む。第3の計算ノード1146は、一部の実施態様において、ホストサービス116へのクライアント108の最初の接続プロセス中、またはホストサービス116へのクライアント108の再接続プロセス中に使用される。
図11Bにおけるシステム1100の別の実施態様において、中間のノード1032は、2つ以上のレベル「a」乃至「n」の中間ノード1032a乃至1032nに置換することができる。クライアント108のクライアントエージェント128は、例えばロードバランシング式に基づいて、中間ノード1032のいずれかの組み合わせを介して送ることができる。
一実施態様において、ウェブブラウザ1148は第1の計算ノード1144によるネットワーク104を通じて通信を行うが、それ自体が第2の計算ノード1144およびACRサービス405と接続する。第1の計算ノード1140には、第2の計算ノード1144およびACRサービス405のタイムアドレスによって構成される。システム1100におけるセキュリティの追加レベルを提供する別の実施態様において、第1の計算ノード1140は、クライアント108のウェブブラウザ1148と第2の計算ノード1144と、ACRサービス405の間の情報を中継し、それによってそれらの直接的な通信を防ぐように構成される。第1の計算ノード1140は、中間ノード1032a乃至1032nのいずれかのアドレスによって構成することもできる。
その部分に関して、第2の計算ノード1144は、ホストサービス116上で実行するどのアプリケーションプログラムをクライアント108が利用できるのかを判断し、ユーザーによって選択されたホストサービス116のアドレスを第1の計算ノード1140に提供するように構成されている。第2の計算ノード1144は、ロードバランシング式の使用により、複数の第1のプロトコルサービス112のうち1つの第1の計算ノード1140に対するアドレスも提供する。同様に、第1の計算ノード1140は、選択した第1のプロトコルサービス112および選択したホストサービス116をACRサービス405へ伝送する。
その部分に関して、ACRサービス405は、本願明細書に開示されるようなクライアントのホストサービス116またはサーバ415との通信セッションを再確立するための認証および再認証サービスを提供するために、接続SIDおよびキーを生成し、有効にし、管理する。一実施態様において、ACRサービス405は、クライアント108への伝送のために第1のSIDおよび第1のキーを第1の計算ノード1140へ伝送する。別の実施態様において、ACRサービス405は、第1のSIDおよび第1のキーを中間ノード1032の1つへ伝送する。
別の局面において、本発明は、ネットワーク通信および第1のプロトコル内でカプセル化された複数の第2のプロトコルを使用してクライアント108をホストサービス116に再接続するための方法に関する。前記方法は、第1のプロトコルを使用し第1のプロトコル内でカプセル化された複数の第2のプロトコルを介してクライアント108と第1のプロトコルサービス112との間で通信を行うことによって、クライアント108と第1のプロトコルサービス112との間の第1の接続を確立するステップを含む。さらに、第2のプロトコルのうち少なくとも1つは複数の仮想チャネルを含む。
本発明のこの局面の一実施態様において、第2の接続は、第2のプロトコルのうち1つを使用して、第1のプロトコル112とホストサービス116との間に確立される。第1のプロトコルサービス112とホストサービス116との間の通信は、第2のプロトコルのうち1つを介して発生する。特に、複数の第2の接続はそれぞれ第1のプロトコルサービス112と異なるホストサービス116との間に確立され、複数の第2の接続のそれぞれは複数の第2のプロトコルのそれぞれを使用して確立される。さらに別の実施態様において、クライアント108と第1のプロトコルサービス116との間の第1の接続は、1つ以上の中間ノード1032によって確立される。
図12Aを参照して、ネットワークの失敗後にクライアントをホストサービスに再接続する方法1200の一実施態様を示す。ステップ1204で、クライアント108は、例えば、複数のホストサービス116の1つに接続する。概して、クライアント108は、通信セッションを開始するため、認証証明書をホストサービス116へ伝送するよう要求される。クライアント108のホストサービス116への接続後、クライアント108およびホストサービス116は、第1のプロトコルサービス112を介して、およびステップ1208で、図2A乃至2B、および図3を参照して上述したように、第1のプロトコル内にカプセル化された複数の第2のプロトコルを介して通信を行う。一実施態様では、第1のプロトコルサービス112は、いずれの第1のプロトコルパケットの送信前に、通信を第1のプロトコル204のレベルで暗号化し、それによって通信を保護する。別の実施態様では、第1のプロトコルサービス112は、いずれの第1のプロトコルパケットの送信前に、通信を第1のプロトコルのレベルで圧縮し、それによって通信効率を改善する。
ステップ1212で、クライアントエージェント128は、クライアントエージェント128と第1のプロトコルサービス112との間の接続120が失敗したかどうかを判断する。例えば、クライアントエージェント128と中間ノード1032との間の接続120aが失敗した、中間ノード1032と第1のプロトコルサービス112との間の接続120bが失敗した、あるいは接続120aおよび120bの両方が失敗したという可能性がある。クライアントエージェント128が、接続120は失敗しなかったと判断した場合は、方法1200はステップ1220へ進む。一方で、クライアントエージェント128が、接続120は失敗したと判断した場合は、ステップ1216で、クライアント108にホストサービス116への信頼できる接続を提供し、ホストサービス116に再接続する。
第1の通信セッションが異常終了した後、ステップ1216において再接続するステップは、システム1100にチケットオーソリティ1036およびSIDならびに第1および第2の再接続チケットを中間ノード1032へ伝送するクライアント108を配備するステップを含むことができる。中間ノード1032は、クライアント108を認証しクライアント108と中間ノード1032との間の接続120を再確立するため、第1の再接続チケットを使用する。中間ノード1032は次いで第2の再接続チケットを第1のプロトコルサービス112へ伝送し、そこではホストサービス116への接続124の再確立を認証するために第2の再接続チケットを使用する。再接続チケットは従って、認証証明書を2度再伝送することなくクライアント108にホストサービス116への第2の通信セッションを自動的に確立させる。
別の実施態様において、ステップ1216の再接続するステップは、ACRサービス405を配備するシステム1100を備えることもできる。そのような実施態様において、クライアント108は、クライアント108を認証しクライアント108のホストサービス116への接続を再確立するため、第1のSIDおよび第1のキーを中間ノード1032へ伝送する。
ステップ1220では、クライアント108がプロトコルサービス112との接続120を、そして結果的にホストサービス116a乃至116nとの接続124a乃至124nを完全に完了することを望んでいるかどうかを判断する。望んでいない場合には、ステップ1208で、第1のプロトコル内にカプセル化された複数の第2のプロトコルを介して、クライアント108と第1のプロトコルサービス112との間の通信を継続する。望んでいる場合は、次いでステップ1224で、すべての接続120a、120b、および124a乃至124nを中断し、すべての再接続チケットを削除する。ACRサービス405を使用する別の実施態様において、ステップ1224で、すべての接続120a、120b、および124a乃至124nは切断されすべてのSIDおよびキーは削除される。一実施態様では、中間ノード1032は、チケットオーソリティ1036から受信したハンドルを使用して、チケットオーソリティ1036に保存された第1の再接続チケットのコピーを削除する。チケットオーソリティ1036を配備する別の実施態様において、第1のプロトコルサービス112は、第1のプロトコルサービス112で維持されていた第2の再接続チケットのコピーを削除する。ACRサービス405を配備するさらに別の実施態様において、第1のプロトコルサービス112は、第1のプロトコルサービス112で維持されていた第2のSIDおよび第2のキーのコピーを削除する。
チケットオーソリティ1036を使用する、更なる実施態様では、何らかの理由で第2のプロトコル接続124が失敗した場合、関連する第1のプロトコルサービス112で保存された第2の再接続チケットのコピーを第1のプロトコルサービス112によって削除する。さらに別の実施態様では、第1の再接続チケットおよび/または第2の再接続チケットは、ステップ1212でのように、接続120における失敗に続いて、および/またはステップ1220でのように、接続120の完全な終了に続いて、所定の時間の経過後に自動的に削除される。
別の局面において、本発明は、ACRサービス405を使用してクライアント108をホストサービス116に再接続するための方法に関する。ここで図12Bを参照して、クライアント108をホストサービス116に再接続するための方法1216の一実施態様を説明する。クライアント108は、第1のSIDおよび第1のキーをACRサービス405へ伝送し、ホストサービスへ再接続する(ステップ1255)。ACRサービス405は、暗号化した認証証明書を見つけ引き出すためにSIDを使用し(ステップ1258)、引き出した認証証明書を解読するためにキーを使用する(ステップ1260)。一実施態様(図示せず)において、ACRサービス405は、保持した第1のプロトコルサービス113とホストサービス116との間のセッションに対してクライアント108を再認証するために、解読した認証証明書を使用する。再認証後、クライアント108の第1のプロトコルサービス116に対して再確立された接続は、第1のプロトコルサービス112とホストサービス116との間の保持したセッションに再リンクされる。
別の実施態様において、第2の通信セッション中に、ACRサービス405は認証証明書のための第2のキーを生成し(ステップ1270)、次いでその認証証明書を第2のキーを使用して暗号化する(ステップ1275)。ACRサービス405は第2のSIDを作成する(ステップ1280)。次いで解読された認証証明書がホストサービス116で再認証され、第2のSIDが保持したホストサービス116との通信セッションと関連付けられる(ステップ1280a)。ACRサービス405は次いで第2のSIDおよび第2のキーをクライアント108へ伝送する(ステップ1285)。一実施態様において、ACRサービス405は中間ノード1032を通じて第2のSIDおよび第2のキーを伝送することができる。クライアント108は第2のSIDおよび第2のキーを格納する(ステップ1290)。ACRサービス405は次いで第2のキーを削除する(ステップ1295)。
図13A乃至13Cを参照して、ACRサービス405を使用したクライアント108のホストサービス116への最初の接続のための方法1300の一実施態様を示す。ステップ1304で、クライアント108は、ブラウザ148を使用して、例えばHTTPリクエストなどのような、リクエストを第1の計算ノード1140に送信する。第1の計算ノード1140は、認証情報(例えば、ユーザー名およびパスワード)を要求する、例えばHTMLフォームなどのようなウェブページを返す。クライアント108のユーザーは、自分の認証を入力して完了したフォームを第1の計算ノード1140に送信する。
ステップ1308で、第1の計算ノード1140は、次いでクライアント108のユーザーに実行可能なアプリケーションを通知する。一実施態様では、第1の計算ノード1140は、ユーザーの認証をログインページから取り出し、第2の計算ノード1144に対しユーザーが利用可能なアプリケーションを列挙するよう求める要求とともに、その認証を第2の計算ノード1144に送信する。ユーザーの認証に基づいて、第2の計算ノード1144は、ユーザーが利用可能な特定のアプリケーションのリストを第1の計算ノード1140に返し、次いでそのリストは、例えばウェブページの形態で、クライアント108のユーザーに転送される。
ステップ1312で、ユーザーは、所望のアプリケーションと、そのアプリケーションを第1の計算ノード1140に送信する要求を選択する。例えば、一実施態様では、ユーザーは、第1の計算ノード1140がユーザーに示すウェブページにリストされた所望のアプリケーションと、そのアプリケーションを第1の計算ノード1140に転送するHTTP要求をクリックする。その要求は、第1の計算ノード140によって処理され、第2の計算ノード1144に転送される。
ステップ1316で、第2の計算ノード144は、要求したアプリケーションを実行するホストサービス116を判断する。第2の計算ノード1144は、例えば、ロードバランシング式に基づいてその決定を行うことができる。一実施態様では、第2の計算ノード1144は、接続124を介してホストサービス116と通信を行うために使用する複数の第1のプロトコルサービス112の中から第1のプロトコルサービス112も判断する。また、第2の計算ノード1144は、例えば、ロードバランシング式に基づいてその決定を行うことができる。第2の計算ノード1144は、選択したホストサービス116および選択した第1のプロトコルサービス112のアドレスを第1の計算ノード1140に返す。
ステップ1320で、クライアント108には、次いで最初の接続セッションIDおよびキー、第1のSID、および第1のキーと、中間ノード1032(下記のように、その実際のアドレスか、またはその仮想アドレスである)のためのアドレスが提供される。一実施態様では、第1の計算ノード1140は、最初の接続セッションIDおよびキーの要求とともに、選択したホストサービス116および選択した第1のプロトコルサービス112のアドレスをACRサービス405に提供する。ACRサービス405は、最初のセッションIDおよびキーを生成し、このセッションIDおよびキーを第1の計算ノード1140に送信しながら、自身のためのコピーを保存する。
一実施態様において中間ノード1032の実際のアドレスによって構成される第1の計算ノード1140は、次いで中間ノード1032の実際のアドレスおよび最初の接続セッションIDおよびキーをクライアント108のブラウザ1148に送信する。第1の計算ノード1140は、例えば、中間ノード1032の実際のアドレスおよび最初の接続チケットを含むファイルをまず作成し、次いでそのファイルをクライアント108のブラウザ1148に送信することができる。随意的に、別の実施態様では、第1の計算ノード1140は、2つ以上の中間ノード1032の実際のアドレスによって構成される。このような実施態様では、第1の計算ノード1140は、クライアント108と第1のプロトコルサービス112との間のメッセージが通過すべき中間ノード1032を判断する。第1の計算ノード1140は、次いでその選択した中間ノード1032の実際のアドレスおよび最初の接続チケットを、例えば、上述のファイルを使用して、クライアント108のブラウザ1148に送信する。一実施態様では、第1の計算ノード1140は、ロードバランシング式を使用して中間ノード1032を選択する。次いでクライアント108のクライアントエージェント128が起動され、中間ノード1032のアドレスを使用して、ステップ1324で、クライアント108のクライアントエージェント128と中間ノード1032との間の第1のプロトコル接続120aを確立する。
あるいは、別の実施態様では、第1の計算ノード1140は、中間ノード1032の仮想アドレスとしての機能を果たす第3の計算ノード1146の実際のアドレスによって構成される。このような実施態様では、ステップ1320で、第1の計算ノード1140は、第3の計算ノード1146の実際のアドレスおよび最初の接続セッションIDおよびキーを、例えば、上述のファイルを使用して、クライアント108のブラウザ1148に送信する。次いでクライアント108のクライアントエージェント128が起動され、第3の計算ノード1146の実際のアドレスを使用して、ステップ1324で、クライアント108のクライアントエージェント128と第3の計算ノード1146との間の第1のプロトコル接続を確立する。第3の計算ノード1146は、次いで、クライアント108と第1のプロトコルサービス112との間のメッセージが通過すべき中間ノード1032を判断する。一実施態様では、第3の計算ノード1146は、ロードバランシング式を使用して中間ノード1032を選択する。中間ノード1032を選択すると、第3の計算ノード1146は、中間ノード1032に対する第1のプロトコル接続を確立する。その結果、第3の計算ノード1146を介して、第1のプロトコル接続120aが、クライアント108のクライアントエージェント128と中間ノード1032との間に存在する。したがって、第3の計算ノード1146の実際のアドレスは、中間ノード1032の実際のアドレスにマップされる。その結果、クライアント108のクライアントエージェント128に対して、第3の計算ノード146の実際のアドレスが中間ノード1032の仮想アドレスとしての機能を果たす。
一実施態様では、2つ以上のレベルの中間ノード1032a乃至1032nが存在する際には、上述のように、第1の計算ノード1140または第3の計算ノード1146はそれぞれ、クライアントエージェント128がレベル「a」で接続する中間ノード1032だけを選択する。このような実施態様では、各々のレベル「a」乃至「n−1」で、クライアントエージェント128がレベルで送られる中間ノード1032は、その後、例えばロードバランシング式に基づいて、次のレベルで接続する中間ノード132を判断する。あるいは、他の実施態様では、第1の計算ノード1140または第3の計算ノード146はそれぞれ、2つ以上またはすべてのレベル「a」乃至「n」に対して、クライアントエージェント128が送られる中間ノード1032を選択する。
クライアント108のクライアントエージェント128と中間ノード1032との間の第1のプロトコル接続120a、例えば、レベル「n」の中間ノード1032(以下、方法1300において中間ノード1032と称する)を確立すると、次いでクライアントエージェント128は、最初の接続チケットを中間ノード1032に送信する。
次いで、ステップ1328で、最初の接続セッションIDおよびキーが有効かどうかを判断する。一実施態様では、中間ノード1032は、検証のために最初の接続SIDおよびキーをACRサービス405に送信する。一実施態様では、ACRサービス405は、ステップ1320で保存したSIDおよび暗号化した認証証明書と比較することによって、SIDおよびキーを検証する。ACRサービス405がSIDおよびキーを有効であると判断した場合、ステップ1332で、ACRサービス405は、第1のプロトコルサービス112のアドレスおよび選択したホストサービス116のアドレスを中間ノード1032に送信する。第1のプロトコルサービス112は、前記SIDおよびキー、およびそのコピーを削除することもできる。一方で、ACRサービス405がSIDおよびキーを無効であると判断した場合、ステップ1330で、クライアント108は、第1のプロトコルサービス112への接続を拒否し、結果的に、ホストサービス116に接続する。
ステップ1332に続いて、中間ノード1032は、選択した第1のプロトコルサービス112のアドレスを使用して、ステップ1336で、中間ノード1032と第1のプロトコルサービス112との間の第1のプロトコル接続120bを確立する。したがってここでは、中間ノード1032を介して、クライアント108のクライアントエージェント128と第1のプロトコルサービス112との間に、第1のプロトコル接続120が存在する。中間ノード1032は、選択したホストサービス116のアドレスを第1のプロトコルサービス112に渡すこともできる。
一実施態様では、ステップ1340で、第1のプロトコルサービス112は、選択したホストサービス116のアドレスを使用して、第1のプロトコルサービス112と選択したホストサービス116との間の第2のプロトコル接続124を確立する。例えば、選択したホストサービス116は実際にホストサービス116aであり、第2のプロトコル接続124aが第1のプロトコルサービス112とホストサービス116bとの間に確立される。
一実施態様では、ステップ1340に続いてステップ1344で、ユーザーは実行する第2のアプリケーションを選択し、ステップ1348で、第2の計算ノード1144は第2のアプリケーションが実行されるホストサービス116を判断する。例えば、ロードバランシング式を計算することによって、第2の計算ノード1144は、第2のアプリケーションプログラムを実行するためにホストサービス116bを選択することが可能である。第2の計算ノード1144は、次いで選択したホストサービス116bのアドレスを第1のプロトコルサービス112に送信する。一実施態様では、第2の計算ノード1144は、第1のプロトコルサービス112をによる直接的な通信状態にあり、そこにアドレスを直接送信する。別の実施態様では、選択したホストサービス116bのアドレスは、第1のプロトコルサービス112に間接的に送信される。例えば、第1の計算ノード1140、ACRサービス405、中間ノード1032、および第1のプロトコルサービス112のいずれの組み合わせを介して第1のプロトコルサービス112にアドレスを送信することができる。選択したホストサービス116bのアドレスを受信すると、第1のプロトコルサービス112は、ステップ1352で、第1のプロトコルサービス112と選択したホストサービス116bとの間の第2のプロトコル接続124bを確立する。
ステップ1344、1348、および1352は、多数回繰り返すことができる。このように、多数のアプリケーションプログラムを多数のホストサービス116a乃至116n上で実行することができ、その出力は、多数の第2のプロトコルを使用して接続124a乃至124nを通じて第1のプロトコルサービス112へ通信を行うことができる。
ステップ1356では、第1のプロトコルサービス112は、上述のように、第1のプロトコル内に複数の第2のプロトコルをカプセル化することができる。このように、クライアント108は、複数のホストサービス116に接続され、同時にそれらと通信を行う。
別の実施態様では、ステップ1344、1348、および1352を行う前に、例えば、ホストサービス116bなどのようなホストサービス116上で新しいアプリケーションプログラムを実行するために、クライアント108のユーザーは、例えば、ホストサービス116a上で実行しているアプリケーションプログラムなどのような、別のアプリケーションプログラムの実行を終了する。そのような場合、第1のプロトコルサービス112は、第1のプロトコルサービス112とホストサービス116aとの間の接続124aを中断させる。次いで第1のプロトコルサービス112は、ステップ1344、1348、および1352を実行して、クライアント108と第1のプロトコルサービス112との間の接続120を中断せずに、第1のプロトコルサービス112とホストサービス116bとの間の接続124bを確立する。
一実施態様では、第1のSIDおよびキーは、ステップ1360で生成される。例えば、中間ノード1032は、ACRサービス405から第1のSIDおよびキーを要求する。その要求を受信すると、ACRサービス405は、第1のSIDおよびキーを生成し、例えば乱数であるハンドルも生成することができる。次いでACRサービス405は、ステップ1364で、第1のSIDおよびキー、およびハンドルを中間ノード1032に送信し、一方で、第1のSIDおよびキーのコピーおよびハンドルのコピーを保存することができる。ACRサービス405は、ステップ1320で第1の計算ノード1140によってそこに送信された第1のプロトコルサービス112のアドレスの維持を継続する。次いで中間ノード1032は、ステップ1368で、第1の再接続チケットをクライアント108に送信する。
ステップ1372では、次いで第2のSIDおよびキーを生成する。一実施態様では、第1のプロトコルサービス112は、第2のSIDおよびキーを生成する。次いで第1のプロトコルサービス112は、ステップ1376で、中間ノード1032を介して第2のSIDおよびキーをクライアント108に送信する。この際、第1のプロトコルサービス112は、接続120の中断に続いて再接続されるセッションを識別するために、キーのコピーおよびそれらに関連するセッション番号を保存する。一実施態様では、例えば、第1のプロトコルサービス112は、特定のセッション番号に対して、そのセッション番号に関連する第2のプロトコル接続124a乃至124nをリストしたテーブルを維持する。したがって、第1のプロトコルサービス112での第1のプロトコル接続120の再確立および第2のSIDおよびキーの検証に続けて、下記のように、第1のプロトコルサービス112は、クライアント108への通信のために、再確立された第1のプロトコル接続120内にカプセル化された第2のプロトコル接続124を識別することができる。
図13A乃至13Cに示されていない実施態様において、チケットオーソリティ1136は、ACRサービス405の代わりにホストサービス116へのクライアント108の再接続を提供するために使用されることができる。方法1300において、チケットオーソリティ1326は、ACR405と同様にSIDおよびキーの代わりに再接続チケットを生成し伝送するであろう。例えば、ステップ1320において、チケットオーソリティ1036はクライアント108に最初の接続チケットおよび中間ノード1032のアドレスを提供するであろう。また、ステップ1328において、チケットオーソリティ1036は最初の接続チケットが有効か否かを判断し、ステップ1360において第1の再接続チケットを生成するであろう。また、ステップ1364、1368、1372、および1378において、チケットオーソリティは方法1300に関連する第1および第2の再接続チケットを生成し伝送するであろう。このように、チケットオーソリティ1036はホストサービス116へのクライアント108の再接続を容易にした。
以下、図14を参照して、(例えば、図12Aのステップ1216で)クライアント108に1つ以上のホストサービス116への持続的で信頼できる接続を提供し、クライアント108をホストサービス116へ再接続する方法1400の一実施態様を示す。特に、ステップ1404で、第1のプロトコルサービス112と1つ以上のホストサービス116のそれぞれとの間の第2のプロトコル接続124を維持する。さらに、ステップ1408で、例えば、図12のステップ1216で中断していると判断された接続120を介して、クライアント108のクライアントエージェント128と第1のプロトコルサービス112との間の直近に送信されたデータパケットのキューを維持する。一実施態様では、データパケットは、接続120の前でも失敗時でもキューに入れられ維持される。キューに入れたデータパケットは、例えば、クライアントエージェント128によってバッファ内に維持することができる。あるいは、第1のプロトコルサービス112は、キューに入れたデータパケットをバッファ内に維持することができる。さらに別の実施態様では、クライアントエージェント128および第1のプロトコルサービス112のどちらも、キューに入れたデータパケットをバッファ内に維持する。
ステップ1412で、新しい第1のプロトコル接続120が、クライアント108のクライアントエージェント128と第1のプロトコルサービス112との間に確立され、第1のプロトコルサービス112と1つ以上のホストサービス116のそれぞれとの間で維持された第2のプロトコル接続124にリンクされ、それによって、クライアント108をホストサービス116に再接続する。クライアント108の再接続後、ステップ1408で維持されたキューに入れたデータパケットは、ステップ1416で、新しく確立された第1のプロトコル接続120を介して送信することができる。このように、ホストサービス116とクライアント108との間の通信セッションは、第1のプロトコルサービス112を介して、いずれのデータも失わずに持続的に進められる。一実施態様において、ACRサービス405は、ホストサービス116にクライアント108を再接続する前に、ホストサービス116へのクライアント108を認証する。別の実施態様において、第1のプロトコルサービス112は、ホストサービス116にクライアント108を再接続する前に、チケットオーソリティ1036で再接続チケットを有効にする。
図15A乃至15Bは、図11Bに示したシステム1100の実施態様のように、ACRサービス405を使用してクライアント108を1つ以上のホストサービス116に再接続するための方法1500の一実施態様を示す。
ステップ1504で、クライアント108と第1のプロトコルサービス112との間のうちの残りの接続を中断する。例えば、接続120aは失敗したが、接続120bは失敗していない場合、接続120bを中断する。あるいは、接続120bは失敗したが、接続120aは失敗していない場合、接続120aを中断する。
一実施態様では、クライアント108に提供した中間ノード1032の実際のアドレスを使用して、ステップ1508で、クライアント108のクライアントエージェント128は、次いでクライアントエージェント128と中間ノード1032との間の第1のプロトコル接続120aを再確立する。あるいは、別の実施態様では、クライアント108に提供した第3の計算ノード1146の実際のアドレスを使用して、ステップ1508で、クライアント108のクライアントエージェント128は、次いでクライアントエージェント128と第3の計算ノード1146との間の第1のプロトコル接続を再確立する。第3の計算ノード1146は、クライアント108と第1のプロトコルサービス112との間のメッセージが通過すべき中間ノード1032を判断する。一実施態様では、第3の計算ノード1146は、ロードバランシング式を使用して中間ノード1032を選択する。クライアント108の1つ以上のホストサービス116への再接続において、第3の計算ノード1146によって選択された中間ノード1032は、クライアント108を1つ以上のホストサービス116に最初に接続するために、その選択とは異なることができる。中間ノード1032を選択すると、第3の計算ノード1146は、中間ノード1032への第1のプロトコル接続を再確立する。したがって、第1のプロトコル接続120aは、第3の計算ノード1146を介して、クライアント108のクライアントエージェント128と中間ノード1032との間で再確立される。
一実施態様では、2つ以上のレベルの中間ノード1032が存在する場合、クライアントエージェント128がレベル「a」乃至「n−1」で送られる中間ノード1032は、例えばロードバランシング式に基づいて、次のレベルで接続される中間ノード1032を判断する。あるいは、別の実施態様では、第3の計算ノード1146は、2つ以上またはすべてのレベル「a」乃至「n」に対して、クライアントエージェント128が送られる中間ノード1032を判断する。
クライアント108のクライアントエージェント128と中間ノード1032との間の第1のプロトコル接続120a、例えば、レベル「n」の中間ノード1032(以下、方法1500において中間ノード1032と称する)を確立すると、次いでクライアントエージェント128は、ステップ1512で、第1のSIDおよびキーならびに第2のSIDおよびキーを中間ノード1032に送信する。
次いで、ステップ1516で、第1のSIDおよびキーが有効かどうかを判断する。一実施態様では、第1のSIDおよびキーの有効性は、ACRサービス405を使用することによって判断される。例えば、中間ノード1032は、第1のSIDおよびキーをACRサービス405に送信する。一実施態様では、ACRサービス405は、第1のSIDおよびキーの有効性を、メモリ430に保存した第1のSIDおよびキーのコピーと比較することによって判断する。ACRサービス405が第1のSIDおよびキーを有効であると判断した場合、ステップ1520で、ACRサービス405は、ホストサービス116へのクライアント108を再認証し、第1のプロトコルサービス112のアドレスを中間ノード1032に送信する。さもなければ、ACRサービス405が第1のSIDおよびキーを無効であると判断した場合、ステップ1524で、クライアント108は、第1のプロトコルサービス112への再接続を拒否し、結果的に、ホストサービス116に接続する。
ステップ1528で、第1の再SIDおよびキーは、例えばACRサービス405によって削除され、代替の第2のSIDおよびキーが、例えばACRサービス405により生成される。一部のこのような実施態様では、ACRサービス405は、第2のSIDおよびキーを中間ノード1032に送信する。一部の実施態様では、ACRサービス405は、クライアント108が第1のSIDおよびキーの削除に進む前に代替の第2のSIDおよびキーを受信したことを認識するまで待つ。
第1のSIDおよびキーの検証後、中間ノード1032は、第1のプロトコルサービス112のアドレスを使用して、ステップ1532で、中間ノード1032と第1のプロトコルサービス112との間の第1のプロトコル接続120bを再確立する。中間ノード1032と第1のプロトコルサービス112との間の第1のプロトコル接続120bを再確立すると、次いでステップ1536で、第2のSIDおよびキーが有効かどうかを判断する。一実施態様では、第2のSIDおよびキーの有効性は、第1のプロトコルサービス112を使用することによって判断する。例えば、中間ノード1032は、第2のSIDおよびキーを第1のプロトコルサービス112に送信する。一実施態様では、第1のプロトコルサービス112は、第2のSIDおよびキーの有効性を、以前に保存した第2のSIDおよびキーのコピーおよび暗号化された認証証明書と比較することによって判断する。第1のプロトコルサービス112が第2のSIDおよびキーを有効であると判断した場合、第1の中間ノード132と第1のプロトコルサービス112との間で再確立された第1のプロトコル接続120bは、ステップ1540で、第1のプロトコルサービス112と1つ以上のホストサービス116のそれぞれとの間で維持された第2のプロトコル接続124にリンクされる。さもなければ、第1のプロトコルサービス112が第2のSIDおよびキーを無効であると判断した場合、再確立された第1のプロトコル接続120bは、1つ以上の維持された第2のプロトコル接続124にはリンクされず、クライアント108は、ステップ1544で、1つ以上のホストサービス116への再接続を拒否する。
ステップ1548で、第2のSIDおよびキーは、例えば第1のプロトコルサービス112によって削除され、代替の第2のSIDおよびキーが、クライアント108への送信のために、例えば第1のプロトコルサービス112により生成される。このような実施態様では、第1のプロトコルサービス112は、代替の第2のSIDおよびキーのコピーを保存する。一部の実施態様では、第1のプロトコルサービス112は、クライアント108が第2のセッションIDおよびキーの削除に進む前に代替の第2のSIDおよびキーを受信したことを認識するまで待つ。
ステップ1552で、代替の第2のSIDおよびキーは、クライアントに送信される。例えば、ACRサービス405は、中間ノード1032を介して、代替の第2のSIDおよびキーをクライアント108に送信することができる。さらに、一実施態様では、第1のプロトコルサービス112は、中間ノード1032を介して、代替の第2のSIDおよびキーをクライアント108に送信する
図15A乃至15Cに示されていない実施態様において、チケットオーソリティ1036はACRサービス405の代わりにホストサービス116へクライアント108を再接続するために使用される可能性もある。方法1500において、チケットオーソリティ1036はACRサービス405と同様、SDIおよびキーの代わりに再接続チケットを生成し伝送するであろう。例えば、ステップ1512において、チケットオーソリティ1036は、中間ノード1032からステップ1512で受信した第1の再接続チケットが有効か否かをステップ1516で判断するであろう。ステップ1528においてチケットオーソリティ1036は第1の再接続チケットを削除し、第2の再接続チケットをハンドルで生成する。このように、チケットオーソリティ1036は、ホストサービス116へのクライアント108の通信セッションの再確立および再認証を容易にする。
本発明の趣旨および範囲から逸脱することなく、多くの修正および改良が当業者によってなされる場合がある。従って、例示的実施態様は例としての目的のみのために示されたものであり、以下の特許請求の範囲によって定義される本発明を限定するものと考えられるべきでないことは、明確に理解されなければならない。これらの特許請求の範囲は、上記の図に示し説明したものとその他の点で同一でないとしても、逐語的に説明するもの、また実質的に異ならない同等の要素を含むものとして読まれたい。
特許請求の範囲は以下の通りである。
上述の本発明の他の目的、局面、特徴、および利点は、添付図面とともに以下の説明を参照することによって、より明らかになり、よりよく理解されるであろう。
図1Aは、本発明の実施態様による、クライアントにホストサービスへの信頼できる接続を提供するシステムのブロック図である。 図1Bは、本発明の別の実施態様による、クライアントにホストサービスへの信頼できる接続を提供するシステムのブロック図である。 図2Aは、本発明の実施態様によるネットワークを通じて行われる通信を示す。 図2Bは、本発明の他の実施態様によるネットワークを通じて行われる通信を示す。 図3は、本発明の実施態様によるネットワークを通じた通信のために第1のプロトコル内に複数の第2のプロトコルをカプセル化するプロセスを示す。 図4は、本発明による認証証明を維持するためのコンピュータシステムの、一実施態様のブロック図である。 図5Aは、本発明による第1の通信セッション中における認証証明を維持するための、図4のコンピュータシステムの実施態様で踏まれる段階の流れ図である。 図5Bは、本発明による図5Aの第1の通信セッションの終了につづく第2の通信セッション中における認証証明を維持するための、図4のコンピュータシステムの実施態様で踏まれる段階の流れ図である。 図6は、本発明の別の実施態様による認証証明を維持するための、コンピュータシステムの一実施態様のブロック図である。 図7Aは、本発明による第1の通信セッション中における認証証明を維持するための、図6のコンピュータシステムの実施態様で踏まれる段階の流れ図である。 図7Bは、本発明による図6の第1の通信セッション終了につづく第2の通信セッション中における認証証明を維持するための、図6のコンピュータシステムの実施態様で踏まれる段階の流れ図である。 図7Cは、本発明による図6の第1の通信セッションの第2の通信チャンネル終了につづく第2の通信セッション中における認証証明を維持するための、図6のコンピュータシステムの実施態様で踏まれる段階の流れ図である。 図8Aは、本発明の具体例による、認証証明を維持し、クライアントにホストサービスへの信頼のおける接続を提供するためのシステムのブロック図である。 図8Bは、本発明の別の具体例による、認証証明を維持し、クライアントにホストサービスへの信頼のおける接続を提供するためのシステムのブロック図である。 図9Aは、本発明の別の具体例による、認証証明を維持し、クライアントにホストサービスへの信頼のおける接続を提供するためのシステムのブロック図である。 図9Bは、本発明の別の具体例による、認証証明を維持し、クライアントにホストサービスへの信頼のおける接続を提供するためのシステムのブロック図である。 図10Aは、本発明の具体例による、クライアントにホストサービスへの信頼のおける接続を提供し、さらにホストサービスへクライアントを再接続するための構成要素を含むシステムのブロック図である。 図10Bは、クライアントにホストサービスへの信頼のおける接続を提供し、さらにホストサービスへクライアントを再接続するための構成要素を含むシステムの一実施態様のブロック図である。 図11Aは、本来クライアントをホストサービスに接続するための構成要素をさらに含む図10Aの実施態様のブロック図である。 図11Bは、本発明の具体例による、認証証明を維持するための、本来クライアントをホストサービスに接続するための構成要素をさらに含む図10Bの具体的なシステムのブロック図である。 図12Aは、本発明の具体例による、ネットワーク通信の方法の流れ図である。 図12Bは、クライアントをホストサービスに再接続する方法の流れ図である。 図13Aは、本発明の具体例による、クライアントを複数のホストサービスに接続する方法の流れ図である。 図13Bは、本発明の具体例による、クライアントを複数のホストサービスに接続する方法の流れ図である。 図13Cは、本発明の具体例による、クライアントを複数のホストサービスに接続する方法の流れ図である。 図14は、本発明の具体例による、クライアントにホストサービスへの信頼のおける接続を提供し、クライアントをホストサービスへ再接続する方法の流れ図である。 図15Aは、本発明の実施態様によるクライアントのホストサービスへの再接続方法の流れ図である。 図15Bは、本発明の実施態様によるクライアントのホストサービスへの再接続方法の流れ図である。

Claims (24)

  1. クライアントをホストサービスに再接続するための方法であって、
    (a)クライアントと第1のプロトコルサービスとの間の第1の接続と、第1のプロトコルサービスとホストサービスとの間の第2の接続とを提供するステップと、
    (b)前記第1の接続の中断を検出するステップと、
    (c)前記第1のプロトコルサービスと前記ホストサービスとの間の前記第2の接続を保持しながら、前記クライアントと前記プロトコルサービスとの間の前記第1の接続を再確立するステップと、
    (d)前記第1のプロトコルサービスにおいて前記クライアントに関連するチケットを受信するステップと、
    (e)前記チケットを有効にするステップと、
    (f)前記チケットが有効にされた後、前記再確立された第1の接続を前記保持した第2の接続にリンクさせるステップと、
    を含む、方法。
  2. ステップ(a)が、前記クライアントと前記ホストサービスとの間の第1の通信セッション中に、前記クライアントを前記ホストサービスによって認証するステップをさらに含む、請求項1に記載の方法。
  3. ステップ(e)が、前記チケットからキーおよびセッションIDを得るステップをさらに含む、請求項1に記載の方法。
  4. ステップ(e)が、暗号化した認証証明書を引き出すために前記チケットからのセッションIDを使用するステップをさらに含む、請求項3に記載の方法。
  5. ステップ(e)が、前記引き出された認証証明書を解読するために前記チケットからの前記キーを使用するステップをさらに含む、請求項4に記載の方法。
  6. ステップ(e)が、前記解読した認証証明書を使用して、前記クライアントを前記ホストサービスによって再認証するステップをさらに含む、請求項5に記載の方法。
  7. ステップ(f)が、前記チケットが有効にされた後、前記チケットを削除するステップをさらに含む、請求項1に記載の方法。
  8. ステップ(f)が、前記チケットが削除された後、代替のチケットを生成するステップをさらに含む、請求項2に記載の方法。
  9. ステップ(a)が、前記第1のプロトコルサービスにおいてチケットを生成するステップをさらに含む、請求項1に記載の方法。
  10. ステップ(a)が、前記第1のプロトコルサービスにおいて、前記チケットのコピーを保存するステップをさらに含む、請求項9に記載の方法。
  11. ステップ(a)が、前記チケットを前記第1のプロトコルサービスから前記クライアントへ伝送するステップをさらに含む、請求項4に記載の方法。
  12. ステップ(a)が、前記チケットを所定時間の経過後に自動的に削除するステップをさらに含む、請求項1に記載の方法。
  13. クライアントをホストサービスに再接続するためのシステムであって、
    第1のプロトコルサービスとの第1の接続を保持するように構成されたクライアントと、
    前記クライアントとの前記第1の接続および前記ホストサービスとの第2の接続を保持するように構成された前記第1のプロトコルサービスとを含み、
    前記第1の接続において中断が検出され、
    前記第1のプロトコルサービスと前記ホストサービスとの間の前記第2の接続が保持されながら、前記第1の接続が前記クライアントと前記第1のプロトコルサービスとの間に再確立され、
    前記クライアントに関連するチケットが前記クライアントから前記第1のプロトコルサービスに伝送され、
    前記チケットが有効にされ、
    前記チケットが有効にされた後、前記再確立された第1の接続が前記保持した第2の接続にリンクされる、システム。
  14. 前記クライアントが、前記クライアントと前記ホストサービスとの間の第1の通信セッション中に前記ホストサービスによって認証される、請求項13に記載のシステム。
  15. 前記チケットがキーおよびセッションIDを含む、請求項13に記載のシステム。
  16. 前記チケットが、暗号化した認証証明書を引き出すために前記セッションIDを使用して前記第1のプロトコルサービスによって有効にされる、請求項15に記載のシステム。
  17. 前記チケットが、さらに前記引き出された認証証明書を前記チケットからの前記キーで解読することによって有効にされる、請求項16に記載のシステム。
  18. 前記クライアントが、前記解読した認証証明書を使用して前記ホストサービスによって再認証される、請求項17に記載のシステム。
  19. 前記第1のプロトコルサービスが、前記チケットが有効にされた後、前記チケットを削除するようさらに構成される、請求項13に記載のシステム。
  20. 前記第1のプロトコルサービスが、前記チケットが削除された後、代替のチケットを生成するようさらに構成される、請求項19に記載のシステム。
  21. 前記第1のプロトコルサービスが、前記チケットを生成するようさらに構成される、請求項13に記載のシステム。
  22. 前記第1のプロトコルサービスが、前記チケットのコピーを保存するようさらに構成される、請求項12に記載のシステム。
  23. 前記第1のプロトコルサービスが、前記チケットを前記クライアントに伝送するようさらに構成される、請求項13に記載のシステム。
  24. 前記第1のプロトコルサービスが、所定時間の経過後に前記チケットを削除するようさらに構成される、請求項13に記載のシステム。
JP2006534409A 2003-10-10 2004-10-08 信頼性および持続性のある通信セッションを介したクライアントの自動的な再接続 Pending JP2007514337A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/683,881 US7562146B2 (en) 2003-10-10 2003-10-10 Encapsulating protocol for session persistence and reliability
US10/711,646 US20050198379A1 (en) 2001-06-13 2004-09-29 Automatically reconnecting a client across reliable and persistent communication sessions
PCT/US2004/033333 WO2005036857A1 (en) 2003-10-10 2004-10-08 Automatically reconnecting a client across reliable and persistent communication sessions

Publications (1)

Publication Number Publication Date
JP2007514337A true JP2007514337A (ja) 2007-05-31

Family

ID=34437417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006534409A Pending JP2007514337A (ja) 2003-10-10 2004-10-08 信頼性および持続性のある通信セッションを介したクライアントの自動的な再接続

Country Status (7)

Country Link
US (5) US20050198379A1 (ja)
EP (1) EP1678917B1 (ja)
JP (1) JP2007514337A (ja)
KR (1) KR20060120035A (ja)
AU (1) AU2004306771A1 (ja)
CA (1) CA2542139C (ja)
WO (1) WO2005036857A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007128349A (ja) * 2005-11-04 2007-05-24 Nec Corp ネットワークシステム、プロキシサーバ、セッション管理方法、及びプログラム
WO2009017097A1 (ja) * 2007-07-31 2009-02-05 Softbank Mobile Corp. 通信モジュール、通信方法、通信プログラム、通信端末、および通信制御装置
JP2010507293A (ja) * 2006-10-16 2010-03-04 マーベル ワールド トレード リミテッド ネットワーク接続の高速リカバリ
WO2011096307A1 (ja) * 2010-02-03 2011-08-11 日本電気株式会社 プロキシ装置とその動作方法
JP2012533792A (ja) * 2009-07-15 2012-12-27 アリババ・グループ・ホールディング・リミテッド インスタントメッセージセッションの管理

Families Citing this family (240)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7290288B2 (en) 1997-06-11 2007-10-30 Prism Technologies, L.L.C. Method and system for controlling access, by an authentication server, to protected computer resources provided via an internet protocol network
US6928469B1 (en) 1998-12-29 2005-08-09 Citrix Systems, Inc. Apparatus and method for determining a program neighborhood for a client node in a client-server network using markup language techniques
US7117239B1 (en) 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
US8108543B2 (en) 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
US7185014B1 (en) 2000-09-22 2007-02-27 Axeda Corporation Retrieving data from a server
US7409685B2 (en) 2002-04-12 2008-08-05 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
US8479189B2 (en) 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US20050198379A1 (en) * 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US7363376B2 (en) * 2001-07-31 2008-04-22 Arraycomm Llc Method and apparatus for generating an identifier to facilitate delivery of enhanced data services in a mobile computing environment
US7783901B2 (en) * 2001-12-05 2010-08-24 At&T Intellectual Property Ii, L.P. Network security device and method
US7254601B2 (en) 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
US8135843B2 (en) * 2002-03-22 2012-03-13 Citrix Systems, Inc. Methods and systems for providing access to an application
US7080404B2 (en) * 2002-04-01 2006-07-18 Microsoft Corporation Automatic re-authentication
US7178149B2 (en) 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
US7246178B2 (en) * 2002-05-07 2007-07-17 Nortel Networks Limited Methods and systems for changing a topology of a network
US7966418B2 (en) 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
US20040187029A1 (en) * 2003-03-21 2004-09-23 Ting David M. T. System and method for data and request filtering
JP3882917B2 (ja) * 2003-04-03 2007-02-21 日本アイ・ビー・エム株式会社 情報処理システム、情報処理装置及びプログラム
US8473620B2 (en) * 2003-04-14 2013-06-25 Riverbed Technology, Inc. Interception of a cloud-based communication connection
US7409451B1 (en) 2003-05-30 2008-08-05 Aol Llc, A Delaware Limited Liability Company Switching between connectivity types to maintain connectivity
US9081620B1 (en) * 2003-09-11 2015-07-14 Oracle America, Inc. Multi-grid mechanism using peer-to-peer protocols
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US8954590B2 (en) * 2004-04-27 2015-02-10 Sap Ag Tunneling apparatus and method for client-server communication
US7580867B2 (en) * 2004-05-04 2009-08-25 Paul Nykamp Methods for interactively displaying product information and for collaborative product design
US8023985B1 (en) * 2004-06-07 2011-09-20 Nortel Networks Limited Transitioning a state of a connection in response to an indication that a wireless link to a wireless device has been lost
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US8739274B2 (en) 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
AU2005266943C1 (en) 2004-07-23 2011-01-06 Citrix Systems, Inc. Systems and methods for optimizing communications between network nodes
US7978714B2 (en) 2004-07-23 2011-07-12 Citrix Systems, Inc. Methods and systems for securing access to private networks using encryption and authentication technology built in to peripheral devices
WO2006020823A1 (en) 2004-08-13 2006-02-23 Citrix Systems, Inc. A method for maintaining transaction integrity across multiple remote access servers
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US20060067244A1 (en) * 2004-09-30 2006-03-30 Microsoft Corporation Registration identifier reuse
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US8700695B2 (en) 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US7810089B2 (en) 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
CN102123178B (zh) 2005-01-24 2014-04-09 茨特里克斯系统公司 在网络中对动态产生的对象执行缓存的系统和方法
US8726023B2 (en) * 2005-02-03 2014-05-13 Nokia Corporation Authentication using GAA functionality for unidirectional network connections
EP1866797A4 (en) * 2005-03-16 2010-08-04 Guidance Software Inc SYSTEM AND METHOD FOR SEARCHING FOR STATIC DATA IN A COMPUTER INVESTIGATION SYSTEM
US7831833B2 (en) * 2005-04-22 2010-11-09 Citrix Systems, Inc. System and method for key recovery
US7594020B2 (en) * 2005-05-31 2009-09-22 Microsoft Corporation Re-establishing a connection for an application layer via a service layer
US7986947B2 (en) * 2005-06-28 2011-07-26 Hewlett-Packard Development Company, L.P. Device management network with support for roaming
US8478986B2 (en) * 2005-08-10 2013-07-02 Riverbed Technology, Inc. Reducing latency of split-terminated secure communication protocol sessions
US8438628B2 (en) * 2005-08-10 2013-05-07 Riverbed Technology, Inc. Method and apparatus for split-terminating a secure network connection, with client authentication
US8220042B2 (en) * 2005-09-12 2012-07-10 Microsoft Corporation Creating secure interactive connections with remote resources
US7725737B2 (en) * 2005-10-14 2010-05-25 Check Point Software Technologies, Inc. System and methodology providing secure workspace environment
JP4232778B2 (ja) * 2005-12-28 2009-03-04 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置及び画像処理システム
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US7921184B2 (en) 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US8788807B2 (en) 2006-01-13 2014-07-22 Qualcomm Incorporated Privacy protection in communication systems
BRPI0621299A2 (pt) 2006-02-03 2012-10-09 Mideye Ab sistema e meios de autenticação para autenticação de um usuário final, e, método para autenticar um usuário final remoto de um arranjo de estação de usuário
US8782393B1 (en) 2006-03-23 2014-07-15 F5 Networks, Inc. Accessing SSL connection data by a third-party
US7904563B2 (en) * 2006-03-31 2011-03-08 Microsoft Corporation Establishing and utilizing terminal server dynamic virtual channels
US8356171B2 (en) * 2006-04-26 2013-01-15 Cisco Technology, Inc. System and method for implementing fast reauthentication
JP2007318650A (ja) * 2006-05-29 2007-12-06 Funai Electric Co Ltd クライアント・サーバシステム
US20070288645A1 (en) * 2006-06-08 2007-12-13 International Business Machines Corporation Method and System for Persistent and Reliable Data Transmission
EP2025095A2 (en) 2006-06-08 2009-02-18 Hewlett-Packard Development Company, L.P. Device management in a network
JP4787684B2 (ja) * 2006-06-15 2011-10-05 日本電気株式会社 セッション管理システム、セッション管理方法、及びプログラム
US20090005122A1 (en) * 2006-07-10 2009-01-01 David Elliot Goldfarb Advertisement-based dialing
EP2047420A4 (en) 2006-07-27 2009-11-18 Hewlett Packard Development Co USER EXPERIENCE AND DEPENDENCE MANAGEMENT IN A MOBILE DEVICE
US20080075096A1 (en) * 2006-09-22 2008-03-27 Enthenergy, Llc Remote access to secure network devices
US8370479B2 (en) 2006-10-03 2013-02-05 Axeda Acquisition Corporation System and method for dynamically grouping devices based on present device conditions
JP4819644B2 (ja) * 2006-10-12 2011-11-24 株式会社日立製作所 情報処理システム、情報処理方法、情報処理装置
EP2095596B1 (en) 2006-12-19 2010-03-10 Telefonaktiebolaget LM Ericsson (PUBL) Managing user access in a communications network
US8065397B2 (en) 2006-12-26 2011-11-22 Axeda Acquisition Corporation Managing configurations of distributed devices
US8902449B1 (en) * 2007-01-03 2014-12-02 Crimson Corporation Systems and methods for determining when results from a criteria scan are deleted from a computing device
CA2675034A1 (en) 2007-01-09 2008-07-17 Visa U.S.A. Inc. Contactless transaction
US8201218B2 (en) * 2007-02-28 2012-06-12 Microsoft Corporation Strategies for securely applying connection policies via a gateway
US8650297B2 (en) * 2007-03-14 2014-02-11 Cisco Technology, Inc. Unified user interface for network management systems
US8020195B2 (en) * 2007-03-30 2011-09-13 Citrix Systems, Inc. Systems and methods for user login
US8224919B2 (en) 2007-04-04 2012-07-17 Research In Motion Limited Mobile communications system including intermediate service provider and related methods
US7770214B2 (en) * 2007-04-17 2010-08-03 International Business Machines Corporation Apparatus, system, and method for establishing a reusable and reconfigurable model for fast and persistent connections in database drivers
US8291483B2 (en) * 2007-04-30 2012-10-16 Hewlett-Packard Development Company, L.P. Remote network device with security policy failsafe
US20090003387A1 (en) * 2007-06-27 2009-01-01 Microsoft Corporation Synchronization Between Connection Manager and Extension Components
US20090006537A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Virtual Desktop Integration with Terminal Services
KR101092675B1 (ko) * 2007-07-06 2011-12-09 엘지전자 주식회사 무선 네트워크 관리 방법 및 그 방법을 지원하는 스테이션
US8291481B2 (en) * 2007-09-18 2012-10-16 Microsoft Corporation Sessionless redirection in terminal services
US8782251B2 (en) * 2008-02-27 2014-07-15 Microsoft Corporation Automated configuration of network mode
US8683062B2 (en) 2008-02-28 2014-03-25 Microsoft Corporation Centralized publishing of network resources
US8170123B1 (en) * 2008-04-15 2012-05-01 Desktone, Inc. Media acceleration for virtual computing services
US20090259757A1 (en) * 2008-04-15 2009-10-15 Microsoft Corporation Securely Pushing Connection Settings to a Terminal Server Using Tickets
EP2281387A4 (en) * 2008-05-20 2013-03-20 Raytheon Co SYSTEM AND METHOD FOR COLLABORATIVE MESSAGE TRANSMISSION AND DATA DISTRIBUTION
ES2575006T3 (es) * 2008-05-20 2016-06-23 Raytheon Company Sistema y método para filtrar mensajes
WO2009143106A1 (en) * 2008-05-20 2009-11-26 Raytheon Company System and method for dynamic contact lists
US8200751B2 (en) * 2008-05-20 2012-06-12 Raytheon Company System and method for maintaining stateful information
WO2009143105A2 (en) * 2008-05-20 2009-11-26 Raytheon Company Method and apparatus for providing a synchronous interface for an asynchronous service
WO2009147215A2 (en) * 2008-06-04 2009-12-10 Nokia Siemens Networks Oy Device management in visited network
US8402111B2 (en) 2009-01-28 2013-03-19 Headwater Partners I, Llc Device assisted services install
US8626115B2 (en) * 2009-01-28 2014-01-07 Headwater Partners I Llc Wireless network service interfaces
US8548428B2 (en) 2009-01-28 2013-10-01 Headwater Partners I Llc Device group partitions and settlement platform
US8275830B2 (en) 2009-01-28 2012-09-25 Headwater Partners I Llc Device assisted CDR creation, aggregation, mediation and billing
US8346225B2 (en) 2009-01-28 2013-01-01 Headwater Partners I, Llc Quality of service for device assisted services
US8340634B2 (en) 2009-01-28 2012-12-25 Headwater Partners I, Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US8589541B2 (en) 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
US8391834B2 (en) 2009-01-28 2013-03-05 Headwater Partners I Llc Security techniques for device assisted services
US8229812B2 (en) 2009-01-28 2012-07-24 Headwater Partners I, Llc Open transaction central billing system
US8832777B2 (en) 2009-03-02 2014-09-09 Headwater Partners I Llc Adapting network policies based on device service processor configuration
US8406748B2 (en) 2009-01-28 2013-03-26 Headwater Partners I Llc Adaptive ambient services
US8612862B2 (en) * 2008-06-27 2013-12-17 Microsoft Corporation Integrated client for access to remote resources
US8018940B2 (en) * 2008-08-13 2011-09-13 Alcatel Lucent Network address lookup based on bloom filters
US7694130B1 (en) * 2008-09-12 2010-04-06 Michael Anthony Martinez System and method to authenticate a user utilizing a time-varying auxiliary code
US8149431B2 (en) * 2008-11-07 2012-04-03 Citrix Systems, Inc. Systems and methods for managing printer settings in a networked computing environment
JP5161736B2 (ja) * 2008-11-18 2013-03-13 株式会社東芝 障害診断プログラム、方法、および通信装置
US10783581B2 (en) 2009-01-28 2020-09-22 Headwater Research Llc Wireless end-user device providing ambient or sponsored services
US9565707B2 (en) 2009-01-28 2017-02-07 Headwater Partners I Llc Wireless end-user device with wireless data attribution to multiple personas
US10200541B2 (en) 2009-01-28 2019-02-05 Headwater Research Llc Wireless end-user device with divided user space/kernel space traffic policy system
US10237757B2 (en) 2009-01-28 2019-03-19 Headwater Research Llc System and method for wireless network offloading
US9706061B2 (en) 2009-01-28 2017-07-11 Headwater Partners I Llc Service design center for device assisted services
US10841839B2 (en) 2009-01-28 2020-11-17 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US10492102B2 (en) 2009-01-28 2019-11-26 Headwater Research Llc Intermediate networking devices
US10484858B2 (en) 2009-01-28 2019-11-19 Headwater Research Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US9609510B2 (en) 2009-01-28 2017-03-28 Headwater Research Llc Automated credential porting for mobile devices
US10326800B2 (en) 2009-01-28 2019-06-18 Headwater Research Llc Wireless network service interfaces
US10064055B2 (en) 2009-01-28 2018-08-28 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US10715342B2 (en) 2009-01-28 2020-07-14 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US9392462B2 (en) 2009-01-28 2016-07-12 Headwater Partners I Llc Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy
US9954975B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Enhanced curfew and protection associated with a device group
US11218854B2 (en) 2009-01-28 2022-01-04 Headwater Research Llc Service plan design, user interfaces, application programming interfaces, and device management
US10248996B2 (en) 2009-01-28 2019-04-02 Headwater Research Llc Method for operating a wireless end-user device mobile payment agent
US10779177B2 (en) 2009-01-28 2020-09-15 Headwater Research Llc Device group partitions and settlement platform
US9955332B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Method for child wireless device activation to subscriber account of a master wireless device
US11985155B2 (en) 2009-01-28 2024-05-14 Headwater Research Llc Communications device with secure data path processing agents
US9270559B2 (en) 2009-01-28 2016-02-23 Headwater Partners I Llc Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow
US9572019B2 (en) 2009-01-28 2017-02-14 Headwater Partners LLC Service selection set published to device agent with on-device service selection
US10057775B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US9980146B2 (en) 2009-01-28 2018-05-22 Headwater Research Llc Communications device with secure data path processing agents
US10798252B2 (en) 2009-01-28 2020-10-06 Headwater Research Llc System and method for providing user notifications
US10264138B2 (en) 2009-01-28 2019-04-16 Headwater Research Llc Mobile device and service management
US11973804B2 (en) 2009-01-28 2024-04-30 Headwater Research Llc Network service plan design
US8707043B2 (en) * 2009-03-03 2014-04-22 Riverbed Technology, Inc. Split termination of secure communication sessions with mutual certificate-based authentication
US8555069B2 (en) * 2009-03-06 2013-10-08 Microsoft Corporation Fast-reconnection of negotiable authentication network clients
US8869239B2 (en) 2009-04-15 2014-10-21 Wyse Technology L.L.C. Method and system for rendering composite view of an application
US9578113B2 (en) 2009-04-15 2017-02-21 Wyse Technology L.L.C. Method and apparatus for transferring remote session data
US9553953B2 (en) 2009-04-15 2017-01-24 Dell Products L.P. Method and apparatus for extending capabilities of a virtualization domain to support features available in a normal desktop application
US8676926B2 (en) 2009-04-15 2014-03-18 Wyse Technology L.L.C. System and method for handling remote drawing commands
US9588803B2 (en) 2009-05-11 2017-03-07 Microsoft Technology Licensing, Llc Executing native-code applications in a browser
US8930527B2 (en) * 2009-05-26 2015-01-06 Oracle International Corporation High availability enabler
US8219676B2 (en) 2009-06-22 2012-07-10 Citrix Systems, Inc. Systems and methods for web logging of trace data in a multi-core system
CN101997673B (zh) 2009-08-17 2012-11-21 成都市华为赛门铁克科技有限公司 网络代理实现方法及装置
US9438448B2 (en) * 2009-08-18 2016-09-06 Microsoft Technology Licensing, Llc Maintaining communication connections during temporary network disruptions
US20110047610A1 (en) * 2009-08-19 2011-02-24 Keypair Technologies, Inc. Modular Framework for Virtualization of Identity and Authentication Processing for Multi-Factor Authentication
US8599834B2 (en) * 2009-09-29 2013-12-03 Ipc Systems, Inc. Systems, methods, and computer program products for providing a manual ring-down communication line using session initiation protocol
US8688816B2 (en) * 2009-11-19 2014-04-01 Oracle International Corporation High availability by letting application session processing occur independent of protocol servers
US8966112B1 (en) 2009-11-30 2015-02-24 Dell Software Inc. Network protocol proxy
US8479268B2 (en) 2009-12-15 2013-07-02 International Business Machines Corporation Securing asynchronous client server transactions
US8265591B1 (en) * 2010-02-02 2012-09-11 Sprint Communications Company L.P. Blocking subscribers defaulting payment from network access
TWI502375B (zh) * 2010-03-09 2015-10-01 Alibaba Group Holding Ltd Instant messaging method, system and device
US8700892B2 (en) * 2010-03-19 2014-04-15 F5 Networks, Inc. Proxy SSL authentication in split SSL for client-side proxy agent resources with content insertion
US9443078B2 (en) 2010-04-20 2016-09-13 International Business Machines Corporation Secure access to a virtual machine
US8452877B2 (en) * 2010-04-28 2013-05-28 Lenovo (Singapore) Pte. Ltd. Establishing a remote desktop
US9323921B2 (en) 2010-07-13 2016-04-26 Microsoft Technology Licensing, Llc Ultra-low cost sandboxing for application appliances
US9276979B2 (en) 2010-09-01 2016-03-01 Vuclip (Singapore) Pte. Ltd. System and methods for resilient media streaming
US20120084369A1 (en) * 2010-09-30 2012-04-05 Microsoft Corporation Unified Reconnection To Multiple Remote Servers
US8819424B2 (en) 2010-09-30 2014-08-26 Microsoft Corporation Token-based authentication using middle tier
US8607306B1 (en) * 2010-11-10 2013-12-10 Google Inc. Background auto-submit of login credentials
CN103392319B (zh) * 2010-12-30 2016-09-28 交互数字专利控股公司 针对通信切换场景的认证和安全信道设置
US8542810B2 (en) * 2011-03-21 2013-09-24 Microsoft Corporation Automatic rejoining of conferences
JP2012227704A (ja) * 2011-04-19 2012-11-15 Fujitsu Ltd 伝送装置、伝送制御方法及び伝送制御プログラム
US9495183B2 (en) 2011-05-16 2016-11-15 Microsoft Technology Licensing, Llc Instruction set emulation for guest operating systems
JP5677899B2 (ja) * 2011-06-16 2015-02-25 株式会社三菱東京Ufj銀行 情報処理装置及び情報処理方法
US10855734B2 (en) * 2011-06-29 2020-12-01 Interdigital Ce Patent Holdings Remote management of devices
US20130054734A1 (en) * 2011-08-23 2013-02-28 Microsoft Corporation Migration of cloud applications between a local computing device and cloud
US9280377B2 (en) 2013-03-29 2016-03-08 Citrix Systems, Inc. Application with multiple operation modes
US9215225B2 (en) 2013-03-29 2015-12-15 Citrix Systems, Inc. Mobile device locking with context
US8881229B2 (en) 2011-10-11 2014-11-04 Citrix Systems, Inc. Policy-based application management
US8799994B2 (en) 2011-10-11 2014-08-05 Citrix Systems, Inc. Policy-based application management
US9378359B2 (en) 2011-10-11 2016-06-28 Citrix Systems, Inc. Gateway for controlling mobile device access to enterprise resources
US20140032733A1 (en) 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
US9413538B2 (en) 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
US9389933B2 (en) 2011-12-12 2016-07-12 Microsoft Technology Licensing, Llc Facilitating system service request interactions for hardware-protected applications
US9537899B2 (en) 2012-02-29 2017-01-03 Microsoft Technology Licensing, Llc Dynamic selection of security protocol
US9467305B2 (en) 2012-03-07 2016-10-11 Vmware, Inc. Multitenant access to multiple desktops on host machine partitions in a service provider network
US10148438B2 (en) * 2012-04-03 2018-12-04 Rally Health, Inc. Methods and apparatus for protecting sensitive data in distributed applications
US10936591B2 (en) 2012-05-15 2021-03-02 Microsoft Technology Licensing, Llc Idempotent command execution
US9239868B2 (en) 2012-06-19 2016-01-19 Microsoft Technology Licensing, Llc Virtual session management and reestablishment
US9251194B2 (en) 2012-07-26 2016-02-02 Microsoft Technology Licensing, Llc Automatic data request recovery after session failure
US8898109B2 (en) 2012-07-27 2014-11-25 Microsoft Corporation Automatic transaction retry after session failure
US9553935B2 (en) * 2012-09-29 2017-01-24 Oracle International Corporation Mechanism for configuring service endpoints in native client applications at runtime
US8745755B2 (en) 2012-10-12 2014-06-03 Citrix Systems, Inc. Controlling device access to enterprise resources in an orchestration framework for connected devices
US9516022B2 (en) 2012-10-14 2016-12-06 Getgo, Inc. Automated meeting room
US20140109176A1 (en) 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications
US8910239B2 (en) 2012-10-15 2014-12-09 Citrix Systems, Inc. Providing virtualized private network tunnels
US20140109171A1 (en) * 2012-10-15 2014-04-17 Citrix Systems, Inc. Providing Virtualized Private Network tunnels
US9235464B2 (en) 2012-10-16 2016-01-12 Microsoft Technology Licensing, Llc Smart error recovery for database applications
US20140108793A1 (en) 2012-10-16 2014-04-17 Citrix Systems, Inc. Controlling mobile device access to secure data
CN104854561B (zh) 2012-10-16 2018-05-11 思杰系统有限公司 用于应用程序管理框架的应用程序封装
US9971585B2 (en) 2012-10-16 2018-05-15 Citrix Systems, Inc. Wrapping unmanaged applications on a mobile device
US9606774B2 (en) 2012-10-16 2017-03-28 Citrix Systems, Inc. Wrapping an application with field-programmable business logic
US9485233B1 (en) 2012-11-02 2016-11-01 Wyse Technology L.L.C. Virtual desktop accelerator support for network gateway
US9374351B1 (en) * 2012-11-02 2016-06-21 Wyse Technology L.L.C. Virtual desktop accelerator support for network gateway
US9992185B1 (en) 2012-11-02 2018-06-05 Wyse Technology L.L.C. Virtual desktop accelerator support for network gateway
US9560069B1 (en) 2012-12-02 2017-01-31 Symantec Corporation Method and system for protection of messages in an electronic messaging system
CN103870346B (zh) * 2012-12-11 2015-12-23 腾讯科技(深圳)有限公司 解锁用户数据方法和通信系统
US9369449B2 (en) 2013-03-29 2016-06-14 Citrix Systems, Inc. Providing an enterprise application store
US9985850B2 (en) 2013-03-29 2018-05-29 Citrix Systems, Inc. Providing mobile device management functionalities
US8849979B1 (en) 2013-03-29 2014-09-30 Citrix Systems, Inc. Providing mobile device management functionalities
US10284627B2 (en) 2013-03-29 2019-05-07 Citrix Systems, Inc. Data management for an application with multiple operation modes
US9355223B2 (en) 2013-03-29 2016-05-31 Citrix Systems, Inc. Providing a managed browser
KR101586151B1 (ko) * 2013-08-28 2016-01-18 주식회사 케이티 컨트롤러와 네트워크 장치 간 재연결 방법
US9398111B1 (en) 2013-08-30 2016-07-19 hopTo Inc. File caching upon disconnection
US20150082390A1 (en) * 2013-09-08 2015-03-19 Yona Flink Method and a system for secure login to a computer, computer network, and computer website using biometrics and a mobile computing wireless electronic communication device
US20180082050A1 (en) * 2013-09-08 2018-03-22 Yona Flink Method and a system for secure login to a computer, computer network, and computer website using biometrics and a mobile computing wireless electronic communication device
US9900366B2 (en) 2013-09-17 2018-02-20 Amazon Technologies, Inc. Email webclient notification queuing
US9961027B2 (en) 2013-09-17 2018-05-01 Amazon Technolgies, Inc. Email webclient automatic failover
US9118650B1 (en) * 2013-09-23 2015-08-25 Amazon Technologies, Inc. Persistent connections for email web applications
CN104683434B (zh) * 2013-11-27 2018-11-06 夏普株式会社 网络系统、保持连接方法、通信方法、电子设备、保持连接服务器、应用服务器、程序
JP6248641B2 (ja) * 2014-01-15 2017-12-20 株式会社リコー 情報処理システム及び認証方法
US9936002B2 (en) 2014-02-21 2018-04-03 Dell Products L.P. Video compose function
US9553925B2 (en) 2014-02-21 2017-01-24 Dell Products L.P. Front-end high availability proxy
US20150244835A1 (en) * 2014-02-21 2015-08-27 Andrew T. Fausak Transcoding instance with multiple channels
CN106416172B (zh) * 2014-03-24 2020-03-27 诺基亚技术有限公司 用于内容管理的方法和装置
EP3170301A4 (en) * 2014-07-18 2018-02-28 Nokia Technologies Oy Access to a node
US9930013B2 (en) * 2014-11-14 2018-03-27 Cisco Technology, Inc. Control of out-of-band multipath connections
KR101506223B1 (ko) * 2014-12-10 2015-03-27 (주)한위드정보기술 가상화 서비스 제공을 위한 비정상적인 접속 차단시 자동 재접속 시스템
KR101627256B1 (ko) * 2015-01-08 2016-06-03 (주)넷텐션 다수 분산서버를 구비한 네트워크 통신의 세션 이양 방법
US20160330221A1 (en) * 2015-05-07 2016-11-10 Cyber-Ark Software Ltd. Systems and Methods for Detecting and Reacting to Malicious Activity in Computer Networks
US10432592B2 (en) * 2015-05-10 2019-10-01 Citrix Systems, Inc. Password encryption for hybrid cloud services
US10122767B2 (en) * 2015-05-29 2018-11-06 Nagravision S.A. Systems and methods for conducting secure VOIP multi-party calls
US9900769B2 (en) 2015-05-29 2018-02-20 Nagravision S.A. Methods and systems for establishing an encrypted-audio session
US9891882B2 (en) 2015-06-01 2018-02-13 Nagravision S.A. Methods and systems for conveying encrypted data to a communication device
US10356059B2 (en) 2015-06-04 2019-07-16 Nagravision S.A. Methods and systems for communication-session arrangement on behalf of cryptographic endpoints
US10582022B2 (en) * 2016-05-20 2020-03-03 Citrix Systems, Inc. Adaptive session reliability over multiple transports
FR3057373A1 (fr) * 2016-10-12 2018-04-13 Orange Securisation d'une base de donnees d'authentification par un reseau
US10791103B2 (en) * 2016-10-28 2020-09-29 Vmware, Inc. Adapting remote display protocols to remote applications
US10447672B2 (en) 2016-11-01 2019-10-15 Salesforce.Com, Inc. Facilitating encrypted persistent storage in browsers
KR102034528B1 (ko) * 2016-11-07 2019-10-21 한국전자통신연구원 다중 채널 기반 데이터 송수신 방법 및 장치
US11348685B2 (en) * 2017-02-28 2022-05-31 19Labs, Inc. System and method for a telemedicine device to securely relay personal data to a remote terminal
US10613994B2 (en) * 2017-03-29 2020-04-07 Intel Corporation Methods and apparatus to establish a connection between a supplicant and a secured network
JP7033978B2 (ja) * 2018-03-28 2022-03-11 株式会社トプコン 測量機の遠隔操作システム
US11082217B1 (en) * 2019-01-31 2021-08-03 Amazon Technologies, Inc. Session resumption
EP3970016A4 (en) * 2019-06-21 2022-05-18 Snapt, Inc CONTROL CONFIGURATION FOR MULTIPLE ENDPOINT DEVICES
JP7318423B2 (ja) * 2019-08-30 2023-08-01 富士通株式会社 通信制御装置、通信制御方法及び通信制御プログラム
CN113206790B (zh) * 2021-04-30 2022-10-18 网络通信与安全紫金山实验室 基于时间周期的SRv6传输路径认证方法、系统及存储介质
US20220377061A1 (en) * 2021-05-20 2022-11-24 Zebra Technonolgies Corporation Accelerated Reconnection in Authenticated Networks
KR102339028B1 (ko) * 2021-06-17 2021-12-15 농업협동조합중앙회 로봇 프로세스 자동화 장치 및 그 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000101640A (ja) * 1998-09-18 2000-04-07 Mitsubishi Electric Corp クライアント/サーバシステム

Family Cites Families (439)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4438511A (en) * 1980-11-10 1984-03-20 Telebit Corporation Packetized ensemble modem
US4649510A (en) * 1982-04-30 1987-03-10 Schmidt Walter E Methods and apparatus for the protection and control of computer programs
US4435511A (en) 1982-09-13 1984-03-06 Owens-Illinois, Inc. Glasses suitable for sealing ferrites
GB2168831B (en) 1984-11-13 1988-04-27 Dowty Information Services Lim Password-protected data link
US4768190A (en) * 1986-04-30 1988-08-30 Og Corporation Packet switching network
US4736369A (en) * 1986-06-13 1988-04-05 International Business Machines Corp. Adaptive session-level pacing
US4750171A (en) * 1986-07-11 1988-06-07 Tadiran Electronics Industries Ltd. Data switching system and method
US4941089A (en) * 1986-12-12 1990-07-10 Datapoint Corporation Input/output network for computer system
US5390297A (en) * 1987-11-10 1995-02-14 Auto-Trol Technology Corporation System for controlling the number of concurrent copies of a program in a network based on the number of available licenses
US5021949A (en) * 1988-02-29 1991-06-04 International Business Machines Corporation Method and apparatus for linking an SNA host to a remote SNA host over a packet switched communications network
US4893307A (en) * 1988-02-29 1990-01-09 International Business Machines Corporation Method and apparatus for linking SNA terminals to an SNA host over a packet switched communications network
US4837800A (en) * 1988-03-18 1989-06-06 Motorola, Inc. Cellular data telephone system and cellular data telephone therefor
JP2643978B2 (ja) * 1988-04-23 1997-08-25 株式会社ケンウッド パケットデータ生成装置
US4924378A (en) * 1988-06-13 1990-05-08 Prime Computer, Inc. License mangagement system and license storage key
US4953159A (en) * 1989-01-03 1990-08-28 American Telephone And Telegraph Company Audiographics conferencing arrangement
US5349678A (en) 1991-08-21 1994-09-20 Norand Corporation Versatile RF data capture system
DE69030340T2 (de) 1989-02-24 1997-11-20 Digital Equipment Corp Makler für die Auswahl von Rechnernetzwerkservern
US4912756A (en) * 1989-04-07 1990-03-27 Unilink Corporation Method and apparatus for error-free digital data transmission during cellular telephone handoff, etc.
US5220501A (en) * 1989-12-08 1993-06-15 Online Resources, Ltd. Method and system for remote delivery of retail banking services
CA2048306A1 (en) 1990-10-02 1992-04-03 Steven P. Miller Distributed configuration profile for computing system
US5181200A (en) * 1990-10-29 1993-01-19 International Business Machines Corporation Handoff method and apparatus for mobile wireless workstation
US5159592A (en) 1990-10-29 1992-10-27 International Business Machines Corporation Network address management for a wired network supporting wireless communication to a plurality of mobile users
US5212806A (en) * 1990-10-29 1993-05-18 International Business Machines Corporation Distributed control methods for management of migrating data stations in a wireless communications network
CA2040234C (en) 1991-04-11 2000-01-04 Steven Messenger Wireless coupling of devices to wired network
US5204897A (en) * 1991-06-28 1993-04-20 Digital Equipment Corporation Management interface for license management system
US5504814A (en) * 1991-07-10 1996-04-02 Hughes Aircraft Company Efficient security kernel for the 80960 extended architecture
US5224098A (en) * 1991-07-17 1993-06-29 International Business Machines Corporation Compensation for mismatched transport protocols in a data communications network
US5481721A (en) * 1991-07-17 1996-01-02 Next Computer, Inc. Method for providing automatic and dynamic translation of object oriented programming language-based message passing into operation system message passing using proxy objects
US5241542A (en) 1991-08-23 1993-08-31 International Business Machines Corporation Battery efficient operation of scheduled access protocol
DE4131133B4 (de) 1991-09-19 2005-09-08 Robert Bosch Gmbh Verfahren und Vorrichtung zum Austausch von Daten in Datenverarbeitungsanlagen
US5210753A (en) * 1991-10-31 1993-05-11 International Business Machines Corporation Robust scheduling mechanm for efficient band-width usage in muliticell wireless local networks
US5610595A (en) * 1991-12-09 1997-03-11 Intermec Corporation Packet radio communication system protocol
US5359721A (en) 1991-12-18 1994-10-25 Sun Microsystems, Inc. Non-supervisor mode cross address space dynamic linking
US6850252B1 (en) 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
WO1993020511A1 (en) 1992-03-31 1993-10-14 Aggregate Computing, Inc. An integrated remote execution system for a heterogenous computer network environment
US5412717A (en) * 1992-05-15 1995-05-02 Fischer; Addison M. Computer system security method and apparatus having program authorization information data structures
US6026452A (en) * 1997-02-26 2000-02-15 Pitts; William Michael Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data
US5265159A (en) 1992-06-23 1993-11-23 Hughes Aircraft Company Secure file erasure
US5442633A (en) 1992-07-08 1995-08-15 International Business Machines Corporation Shortcut network layer routing for mobile hosts
US5307490A (en) * 1992-08-28 1994-04-26 Tandem Computers, Inc. Method and system for implementing remote procedure calls in a distributed computer system
US5325361A (en) * 1992-12-01 1994-06-28 Legent Corporation System and method for multiplexing data transmissions
CA2103297A1 (en) 1992-12-07 1994-06-08 Donald J. Kennedy Interception system and method including user interface
US5550976A (en) 1992-12-08 1996-08-27 Sun Hydraulics Corporation Decentralized distributed asynchronous object oriented system and method for electronic data management, storage, and communication
US5426637A (en) * 1992-12-14 1995-06-20 International Business Machines Corporation Methods and apparatus for interconnecting local area networks with wide area backbone networks
US5509070A (en) * 1992-12-15 1996-04-16 Softlock Services Inc. Method for encouraging purchase of executable and non-executable software
US5410543A (en) * 1993-01-04 1995-04-25 Apple Computer, Inc. Method for connecting a mobile computer to a computer network by using an address server
FR2703362B1 (fr) * 1993-03-31 1997-08-29 Aerospatiale Procede et machine de collage d'une bordure de protection adhesive sur le bord d'un panneau multicouche tel qu'un panneau de protection thermique d'engin spatial.
US6006090A (en) 1993-04-28 1999-12-21 Proxim, Inc. Providing roaming capability for mobile computers in a standard network
US5796727A (en) 1993-04-30 1998-08-18 International Business Machines Corporation Wide-area wireless lan access
US5446915A (en) 1993-05-25 1995-08-29 Intel Corporation Parallel processing system virtual connection method and apparatus with protection and flow control
FI107102B (fi) 1993-05-31 2001-05-31 Nokia Networks Oy Menetelmä puhelukustannusten ilmoittamiseksi sekä tilaajalaite
EP0631455A1 (de) 1993-06-25 1994-12-28 Siemens Aktiengesellschaft Verfahren zum Aufrechterhalten von virtuellen Verbindungen bei einem zumindest teilweisen Ausfall von Verbindungswegen
US6249818B1 (en) 1993-06-30 2001-06-19 Compaq Computer Corporation Network transport driver interfacing
US5794207A (en) * 1996-09-04 1998-08-11 Walker Asset Management Limited Partnership Method and apparatus for a cryptographically assisted commercial network system designed to facilitate buyer-driven conditional purchase offers
US5564070A (en) 1993-07-30 1996-10-08 Xerox Corporation Method and system for maintaining processing continuity to mobile computers in a wireless network
US5359593A (en) 1993-08-26 1994-10-25 International Business Machines Corporation Dynamic bandwidth estimation and adaptation for packet communications networks
US5544246A (en) 1993-09-17 1996-08-06 At&T Corp. Smartcard adapted for a plurality of service providers and for remote installation of same
US5446736A (en) 1993-10-07 1995-08-29 Ast Research, Inc. Method and apparatus for connecting a node to a wireless network using a standard protocol
US5455953A (en) 1993-11-03 1995-10-03 Wang Laboratories, Inc. Authorization system for obtaining in single step both identification and access rights of client to server directly from encrypted authorization ticket
US5835726A (en) 1993-12-15 1998-11-10 Check Point Software Technologies Ltd. System for securing the flow of and selectively modifying packets in a computer network
US5499343A (en) * 1993-12-17 1996-03-12 Taligent, Inc. Object-oriented networking system with dynamically configurable communication links
US5548723A (en) 1993-12-17 1996-08-20 Taligent, Inc. Object-oriented network protocol configuration system utilizing a dynamically configurable protocol stack
US5564016A (en) 1993-12-17 1996-10-08 International Business Machines Corporation Method for controlling access to a computer resource based on a timing policy
US5515508A (en) * 1993-12-17 1996-05-07 Taligent, Inc. Client server system and method of operation including a dynamically configurable protocol stack
US5491800A (en) * 1993-12-20 1996-02-13 Taligent, Inc. Object-oriented remote procedure call networking system
US5495411A (en) * 1993-12-22 1996-02-27 Ananda; Mohan Secure software rental system using continuous asynchronous password verification
US5491750A (en) * 1993-12-30 1996-02-13 International Business Machines Corporation Method and apparatus for three-party entity authentication and key distribution using message authentication codes
US5412654A (en) * 1994-01-10 1995-05-02 International Business Machines Corporation Highly dynamic destination-sequenced destination vector routing for mobile computers
US5559800A (en) 1994-01-19 1996-09-24 Research In Motion Limited Remote control of gateway functions in a wireless data communication network
US5627821A (en) * 1994-03-15 1997-05-06 Hitachi, Ltd. Defect notification method in a multipoint ATM network
US5524238A (en) * 1994-03-23 1996-06-04 Breakout I/O Corporation User specific intelligent interface which intercepts and either replaces or passes commands to a data identity and the field accessed
US5553139A (en) 1994-04-04 1996-09-03 Novell, Inc. Method and apparatus for electronic license distribution
CA2143874C (en) * 1994-04-25 2000-06-20 Thomas Edward Cooper Method and apparatus for enabling trial period use of software products: method and apparatus for utilizing a decryption stub
US5757907A (en) 1994-04-25 1998-05-26 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: method and apparatus for generating a machine-dependent identification
JP2826468B2 (ja) * 1994-04-27 1998-11-18 日本電気 株式会社 回線切替え装置
US5574774A (en) 1994-05-04 1996-11-12 Ericsson Inc. Method and apparatus of maintaining an open communications channel between a cellular terminal and an associated cellular radio network
US5586257A (en) 1994-05-05 1996-12-17 Perlman; Stephen G. Network architecture to support multiple site real-time video games
US5594490A (en) * 1994-05-23 1997-01-14 Cable Services Technologies, Inc. System for distributing video/audio files from central location to a plurality of cable headends
US5416842A (en) * 1994-06-10 1995-05-16 Sun Microsystems, Inc. Method and apparatus for key-management scheme for use with internet protocols at site firewalls
US5550981A (en) 1994-06-21 1996-08-27 At&T Global Information Solutions Company Dynamic binding of network identities to locally-meaningful identities in computer networks
US5771459A (en) * 1994-06-21 1998-06-23 U.S. Philips Corporation Communication system for use with stationary and second entities, via a wireless intermediate network with gateway devices, a gateway device for use with such system, and a mobile entity provided with such gateway device
US5481535A (en) * 1994-06-29 1996-01-02 General Electric Company Datagram message communication service employing a hybrid network
US5557732A (en) 1994-08-11 1996-09-17 International Business Machines Corporation Method and apparatus for protecting software executing on a demonstration computer
US5604490A (en) * 1994-09-09 1997-02-18 International Business Machines Corporation Method and system for providing a user access to multiple secured subsystems
US5490139A (en) * 1994-09-28 1996-02-06 International Business Machines Corporation Mobility enabling access point architecture for wireless attachment to source routing networks
US5652789A (en) * 1994-09-30 1997-07-29 Wildfire Communications, Inc. Network based knowledgeable assistant
US5602916A (en) * 1994-10-05 1997-02-11 Motorola, Inc. Method and apparatus for preventing unauthorized monitoring of wireless data transmissions
US5633868A (en) * 1994-10-17 1997-05-27 Lucent Technologies Inc. Virtual circuit management in cellular telecommunications
US5659544A (en) 1994-10-17 1997-08-19 Lucent Technologies Inc. Method and system for distributed control in wireless cellular and personal communication systems
US5623601A (en) * 1994-11-18 1997-04-22 Milkway Networks Corporation Apparatus and method for providing a secure gateway for communication and data exchanges between networks
US5566225A (en) 1994-11-21 1996-10-15 Lucent Technologies Inc. Wireless data communications system for detecting a disabled condition and simulating a functioning mode in response to detection
US5752185A (en) * 1994-11-21 1998-05-12 Lucent Technologies Inc. Disconnection management system for wireless voice communications
US5668999A (en) 1994-12-20 1997-09-16 Sun Microsystems, Inc. System and method for pre-verification of stack usage in bytecode program loops
JP3251797B2 (ja) * 1995-01-11 2002-01-28 富士通株式会社 ワイヤレスlanシステム
US5682478A (en) 1995-01-19 1997-10-28 Microsoft Corporation Method and apparatus for supporting multiple, simultaneous services over multiple, simultaneous connections between a client and network server
JPH08235114A (ja) 1995-02-28 1996-09-13 Hitachi Ltd サーバアクセス方法と課金情報管理方法
US5664007A (en) 1995-03-06 1997-09-02 Samadi; Behrokh Method and apparatus for providing continuation of a communication call across multiple networks
US5572528A (en) 1995-03-20 1996-11-05 Novell, Inc. Mobile networking method and apparatus
EP0734144A3 (de) 1995-03-20 1999-08-18 Siemens Aktiengesellschaft Verfahren und Anordnung zum Ermitteln der Benutzergebühr in einer Teilnehmereinrichtung
US5623492A (en) 1995-03-24 1997-04-22 U S West Technologies, Inc. Methods and systems for managing bandwidth resources in a fast packet switching network
US5666501A (en) 1995-03-30 1997-09-09 International Business Machines Corporation Method and apparatus for installing software
US5689708A (en) 1995-03-31 1997-11-18 Showcase Corporation Client/server computer systems having control of client-based application programs, and application-program control means therefor
US5627892A (en) * 1995-04-19 1997-05-06 General Instrument Corporation Of Delaware Data security scheme for point-to-point communication sessions
US6418324B1 (en) 1995-06-01 2002-07-09 Padcom, Incorporated Apparatus and method for transparent wireless communication between a remote device and host system
US5717737A (en) * 1995-06-01 1998-02-10 Padcom, Inc. Apparatus and method for transparent wireless communication between a remote device and a host system
US5592549A (en) * 1995-06-15 1997-01-07 Infosafe Systems, Inc. Method and apparatus for retrieving selected information from a secure information source
US5657390A (en) 1995-08-25 1997-08-12 Netscape Communications Corporation Secure socket layer application program apparatus and method
US5657452A (en) * 1995-09-08 1997-08-12 U.S. Robotics Corp. Transparent support of protocol and data compression features for data communication
US5682534A (en) 1995-09-12 1997-10-28 International Business Machines Corporation Transparent local RPC optimization
US5623600A (en) * 1995-09-26 1997-04-22 Trend Micro, Incorporated Virus detection and removal apparatus for computer networks
US5758186A (en) * 1995-10-06 1998-05-26 Sun Microsystems, Inc. Method and apparatus for generically handling diverse protocol method calls in a client/server computer system
US5729734A (en) * 1995-11-03 1998-03-17 Apple Computer, Inc. File privilege administration apparatus and methods
AU1122997A (en) * 1995-11-07 1997-06-11 Cadis, Inc. Search engine for remote object oriented database management system
HUP9900026A3 (en) 1995-11-14 1999-11-29 Ibm Information handling system for allowing a generic web browser to access servers of a plurality of different protocol types
US6112085A (en) 1995-11-30 2000-08-29 Amsc Subsidiary Corporation Virtual network configuration and management system for satellite communication system
US5732074A (en) * 1996-01-16 1998-03-24 Cellport Labs, Inc. Mobile portable wireless communication system
US5721818A (en) * 1996-01-25 1998-02-24 Apple Computer, Inc. Method and system for enabling a file server to service multiple networks of the same network protocol family by invoking multiple instances of a network session protocol
US5889816A (en) * 1996-02-02 1999-03-30 Lucent Technologies, Inc. Wireless adapter architecture for mobile computing
US5856974A (en) * 1996-02-13 1999-01-05 Novell, Inc. Internetwork address mapping gateway
US5754774A (en) * 1996-02-15 1998-05-19 International Business Machine Corp. Client/server communication system
US5673322A (en) 1996-03-22 1997-09-30 Bell Communications Research, Inc. System and method for providing protocol translation and filtering to access the world wide web from wireless or low-bandwidth networks
US5784643A (en) * 1996-03-28 1998-07-21 International Business Machines Corporation System incorporating program for intercepting and interpreting or altering commands for generating I/O activity for enabling real-time user feedback by sending substitute characters to modem
JP3510042B2 (ja) * 1996-04-26 2004-03-22 株式会社日立製作所 データベース管理方法及びシステム
GB2313524A (en) * 1996-05-24 1997-11-26 Ibm Providing communications links in a computer network
US5742757A (en) * 1996-05-30 1998-04-21 Mitsubishi Semiconductor America, Inc. Automatic software license manager
EP0851628A1 (en) 1996-12-23 1998-07-01 ICO Services Ltd. Key distribution for mobile network
US5740361A (en) * 1996-06-03 1998-04-14 Compuserve Incorporated System for remote pass-phrase authentication
US5987132A (en) 1996-06-17 1999-11-16 Verifone, Inc. System, method and article of manufacture for conditionally accepting a payment method utilizing an extensible, flexible architecture
US5983208A (en) 1996-06-17 1999-11-09 Verifone, Inc. System, method and article of manufacture for handling transaction results in a gateway payment architecture utilizing a multichannel, extensible, flexible architecture
US6072870A (en) 1996-06-17 2000-06-06 Verifone Inc. System, method and article of manufacture for a gateway payment architecture utilizing a multichannel, extensible, flexible architecture
US6002767A (en) 1996-06-17 1999-12-14 Verifone, Inc. System, method and article of manufacture for a modular gateway server architecture
US5850446A (en) 1996-06-17 1998-12-15 Verifone, Inc. System, method and article of manufacture for virtual point of sale processing utilizing an extensible, flexible architecture
US6253027B1 (en) 1996-06-17 2001-06-26 Hewlett-Packard Company System, method and article of manufacture for exchanging software and configuration data over a multichannel, extensible, flexible architecture
US6119105A (en) 1996-06-17 2000-09-12 Verifone, Inc. System, method and article of manufacture for initiation of software distribution from a point of certificate creation utilizing an extensible, flexible architecture
US6026379A (en) 1996-06-17 2000-02-15 Verifone, Inc. System, method and article of manufacture for managing transactions in a high availability system
US5889863A (en) 1996-06-17 1999-03-30 Verifone, Inc. System, method and article of manufacture for remote virtual point of sale processing utilizing a multichannel, extensible, flexible architecture
US6373950B1 (en) 1996-06-17 2002-04-16 Hewlett-Packard Company System, method and article of manufacture for transmitting messages within messages utilizing an extensible, flexible architecture
US5812668A (en) 1996-06-17 1998-09-22 Verifone, Inc. System, method and article of manufacture for verifying the operation of a remote transaction clearance system utilizing a multichannel, extensible, flexible architecture
US6178409B1 (en) 1996-06-17 2001-01-23 Verifone, Inc. System, method and article of manufacture for multiple-entry point virtual point of sale architecture
US6324525B1 (en) 1996-06-17 2001-11-27 Hewlett-Packard Company Settlement of aggregated electronic transactions over a network
US5943424A (en) 1996-06-17 1999-08-24 Hewlett-Packard Company System, method and article of manufacture for processing a plurality of transactions from a single initiation point on a multichannel, extensible, flexible architecture
US6058250A (en) 1996-06-19 2000-05-02 At&T Corp Bifurcated transaction system in which nonsensitive information is exchanged using a public network connection and sensitive information is exchanged after automatically configuring a private network connection
US5909431A (en) * 1996-06-28 1999-06-01 At&T Corp. Packet mode multimedia conferencing services over an ISDN wide area network
US6088451A (en) 1996-06-28 2000-07-11 Mci Communications Corporation Security system and method for network element access
US6272556B1 (en) 1996-07-01 2001-08-07 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for migrating a client-server application (#5)
US5748897A (en) * 1996-07-02 1998-05-05 Sun Microsystems, Inc. Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
US5812671A (en) * 1996-07-17 1998-09-22 Xante Corporation Cryptographic communication system
US5848064A (en) 1996-08-07 1998-12-08 Telxon Corporation Wireless software upgrades with version control
US5978840A (en) 1996-09-26 1999-11-02 Verifone, Inc. System, method and article of manufacture for a payment gateway system architecture for processing encrypted payment transactions utilizing a multichannel, extensible, flexible architecture
US5931917A (en) 1996-09-26 1999-08-03 Verifone, Inc. System, method and article of manufacture for a gateway system architecture with system administration information accessible from a browser
US5944791A (en) 1996-10-04 1999-08-31 Contigo Software Llc Collaborative web browser
JP3492865B2 (ja) * 1996-10-16 2004-02-03 株式会社東芝 移動計算機装置及びパケット暗号化認証方法
JPH10178421A (ja) * 1996-10-18 1998-06-30 Toshiba Corp パケット処理装置、移動計算機装置、パケット転送方法及びパケット処理方法
US6101543A (en) 1996-10-25 2000-08-08 Digital Equipment Corporation Pseudo network adapter for frame capture, encapsulation and encryption
JP3651721B2 (ja) 1996-11-01 2005-05-25 株式会社東芝 移動計算機装置、パケット処理装置及び通信制御方法
US5974151A (en) * 1996-11-01 1999-10-26 Slavin; Keith R. Public key cryptographic system having differential security levels
US6131116A (en) 1996-12-13 2000-10-10 Visto Corporation System and method for globally accessing computer services
US5987611A (en) 1996-12-31 1999-11-16 Zone Labs, Inc. System and methodology for managing internet access on a per application basis for client computers connected to the internet
US6026440A (en) 1997-01-27 2000-02-15 International Business Machines Corporation Web server account manager plug-in for monitoring resources
US6055575A (en) 1997-01-28 2000-04-25 Ascend Communications, Inc. Virtual private network system and method
US5923756A (en) * 1997-02-12 1999-07-13 Gte Laboratories Incorporated Method for providing secure remote command execution over an insecure computer network
US5996076A (en) 1997-02-19 1999-11-30 Verifone, Inc. System, method and article of manufacture for secure digital certification of electronic commerce
AU6654798A (en) 1997-02-26 1998-09-18 Siebel Systems, Inc. Method of determining visibility to a remote database client of a plurality of database transactions using a networked proxy server
US6304637B1 (en) * 1997-03-14 2001-10-16 Itxc, Inc. Method and apparatus for establishing and facilitating a direct quality voice call to a telephone extension on behalf of a client computer
US6282172B1 (en) 1997-04-01 2001-08-28 Yipes Communications, Inc. Generating acknowledgement signals in a data communication system
US6161123A (en) 1997-05-06 2000-12-12 Intermec Ip Corporation Providing reliable communication over an unreliable transport layer in a hand-held device using a persistent session
US20020115407A1 (en) 1997-05-07 2002-08-22 Broadcloud Communications, Inc. Wireless ASP systems and methods
US6166729A (en) 1997-05-07 2000-12-26 Broadcloud Communications, Inc. Remote digital image viewing system and method
US6408174B1 (en) 1997-05-13 2002-06-18 Telefonaktiebolaget Lm Ericsson (Publ) Communication method, system, and device for reducing processor load at tariff switch
US6154461A (en) 1997-05-14 2000-11-28 Telxon Corporation Seamless roaming among multiple networks
US6201962B1 (en) * 1997-05-14 2001-03-13 Telxon Corporation Seamless roaming among multiple networks including seamless transitioning between multiple devices
US6091951A (en) 1997-05-14 2000-07-18 Telxon Corporation Seamless roaming among multiple networks
US5968176A (en) 1997-05-29 1999-10-19 3Com Corporation Multilayer firewall system
US5958016A (en) 1997-07-13 1999-09-28 Bell Atlantic Network Services, Inc. Internet-web link for access to intelligent network service control
US6006268A (en) 1997-07-31 1999-12-21 Cisco Technology, Inc. Method and apparatus for reducing overhead on a proxied connection
US5935212A (en) 1997-08-07 1999-08-10 I-Planet, Inc. Connection-oriented session emulation
US6061796A (en) 1997-08-26 2000-05-09 V-One Corporation Multi-access virtual private network
US6681017B1 (en) * 1997-09-03 2004-01-20 Lucent Technologies Inc. Simplified secure shared key establishment and data delivery protocols for electronic commerce
US6199181B1 (en) 1997-09-09 2001-03-06 Perfecto Technologies Ltd. Method and system for maintaining restricted operating environments for application programs or operating systems
US9197599B1 (en) 1997-09-26 2015-11-24 Verizon Patent And Licensing Inc. Integrated business system for web based telecommunications management
US6023724A (en) * 1997-09-26 2000-02-08 3Com Corporation Apparatus and methods for use therein for an ISDN LAN modem that displays fault information to local hosts through interception of host DNS request messages
US6256739B1 (en) 1997-10-30 2001-07-03 Juno Online Services, Inc. Method and apparatus to determine user identity and limit access to a communications network
US6725376B1 (en) * 1997-11-13 2004-04-20 Ncr Corporation Method of using an electronic ticket and distributed server computer architecture for the same
WO1999026121A2 (en) 1997-11-13 1999-05-27 Hyperspace Communications, Inc. File transfer system
US6085247A (en) * 1998-06-08 2000-07-04 Microsoft Corporation Server operating system for supporting multiple client-server sessions and dynamic reconnection of users to previous sessions using different computers
JP4676060B2 (ja) * 1997-11-14 2011-04-27 マイクロソフト コーポレーション 多数のクライアント−サーバ・セッションおよび以前のセッションへのユーザのダイナミック再接続をサポートするサーバ・オペレーティング・システム
AU1421799A (en) 1997-11-25 1999-06-15 Packeteer, Inc. Method for automatically classifying traffic in a packet communications network
US6230004B1 (en) * 1997-12-01 2001-05-08 Telefonaktiebolaget Lm Ericsson Remote procedure calls using short message service
US6065120A (en) * 1997-12-09 2000-05-16 Phone.Com, Inc. Method and system for self-provisioning a rendezvous to ensure secure access to information in a database from multiple devices
US6170075B1 (en) 1997-12-18 2001-01-02 3Com Corporation Data and real-time media communication over a lossy network
WO1999030462A2 (en) 1997-12-12 1999-06-17 3Com Corporation A forward error correction system for packet based real-time media
US5870412A (en) 1997-12-12 1999-02-09 3Com Corporation Forward error correction system for packet based real time media
US6145109A (en) 1997-12-12 2000-11-07 3Com Corporation Forward error correction system for packet based real time media
FR2773935A1 (fr) * 1998-01-19 1999-07-23 Canon Kk Procedes de communication entre systemes informatiques et dispositifs les mettant en oeuvre
US6226750B1 (en) 1998-01-20 2001-05-01 Proact Technologies Corp. Secure session tracking method and system for client-server environment
US6415329B1 (en) 1998-03-06 2002-07-02 Massachusetts Institute Of Technology Method and apparatus for improving efficiency of TCP/IP protocol over high delay-bandwidth network
US6147986A (en) 1998-03-06 2000-11-14 Lucent Technologies Inc. Address updating of wireless mobile terminal hosts affiliated with a wired network
US6327242B1 (en) 1998-03-17 2001-12-04 Infolibria, Inc. Message redirector with cut-through switch for highly reliable and efficient network traffic processor deployment
US6199113B1 (en) * 1998-04-15 2001-03-06 Sun Microsystems, Inc. Apparatus and method for providing trusted network security
US6590588B2 (en) 1998-05-29 2003-07-08 Palm, Inc. Wireless, radio-frequency communications using a handheld computer
US6289461B1 (en) * 1998-06-09 2001-09-11 Placeware, Inc. Bi-directional process-to-process byte stream protocol
US6308273B1 (en) 1998-06-12 2001-10-23 Microsoft Corporation Method and system of security location discrimination
US6243753B1 (en) 1998-06-12 2001-06-05 Microsoft Corporation Method, system, and computer program product for creating a raw data channel form an integrating component to a series of kernel mode filters
IL134615A (en) 1998-06-19 2004-03-28 Juniper Networks Inc Quality of service facility in a device for performing ip forwarding and atm switching
US6564320B1 (en) * 1998-06-30 2003-05-13 Verisign, Inc. Local hosting of digital certificate services
US6360265B1 (en) * 1998-07-08 2002-03-19 Lucent Technologies Inc. Arrangement of delivering internet protocol datagrams for multimedia services to the same server
US6452915B1 (en) 1998-07-10 2002-09-17 Malibu Networks, Inc. IP-flow classification in a wireless point to multi-point (PTMP) transmission system
US6640248B1 (en) 1998-07-10 2003-10-28 Malibu Networks, Inc. Application-aware, quality of service (QoS) sensitive, media access control (MAC) layer
US6269402B1 (en) 1998-07-20 2001-07-31 Motorola, Inc. Method for providing seamless communication across bearers in a wireless communication system
US7277424B1 (en) * 1998-07-21 2007-10-02 Dowling Eric M Method and apparatus for co-socket telephony
US6714536B1 (en) * 1998-07-21 2004-03-30 Eric M. Dowling Method and apparatus for cosocket telephony
JP3216607B2 (ja) * 1998-07-29 2001-10-09 日本電気株式会社 デジタル著作物流通システム及び方法、デジタル著作物再生装置及び方法、並びに記録媒体
US6233619B1 (en) * 1998-07-31 2001-05-15 Unisys Corporation Virtual transport layer interface and messaging subsystem for high-speed communications between heterogeneous computer systems
US6094423A (en) * 1998-08-03 2000-07-25 Motorola, Inc. Wireless protocol method and apparatus supporting transaction requests with variable length responses
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6308281B1 (en) 1998-09-02 2001-10-23 International Business Machines Corporation Virtual client to gateway connection over multiple physical connections
GB2341523B (en) 1998-09-12 2003-10-29 Ibm Apparatus and method for establishing communication in a computer network
US6574239B1 (en) * 1998-10-07 2003-06-03 Eric Morgan Dowling Virtual connection of a remote unit to a server
US6484206B2 (en) * 1998-10-07 2002-11-19 Nortel Networks Limited Efficient recovery of multiple connections in a communication network
US7136645B2 (en) 1998-10-09 2006-11-14 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US6546425B1 (en) * 1998-10-09 2003-04-08 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
JP2000125029A (ja) 1998-10-12 2000-04-28 Matsushita Electric Ind Co Ltd 網制御装置
FI108195B (fi) * 1998-10-19 2001-11-30 Nokia Networks Oy Mekanismi verkon aloittamaa informaation siirtoa varten
US6700902B1 (en) 1998-10-19 2004-03-02 Elster Electricity, Llc Method and system for improving wireless data packet delivery
WO2000025476A1 (en) 1998-10-28 2000-05-04 L-3 Communications Corporation Apparatus and methods for cryptographic synchronization in packet based communications
DE69929627T2 (de) 1998-11-02 2006-09-14 Airbiquity Inc., Bainbridge Island Geo-räumliche adressierung zum internet-protokoll
US6449651B1 (en) * 1998-11-19 2002-09-10 Toshiba America Information Systems, Inc. System and method for providing temporary remote access to a computer
US6253327B1 (en) 1998-12-02 2001-06-26 Cisco Technology, Inc. Single step network logon based on point to point protocol
US6697844B1 (en) 1998-12-08 2004-02-24 Lucent Technologies, Inc. Internet browsing using cache-based compaction
US6333931B1 (en) 1998-12-28 2001-12-25 Cisco Technology, Inc. Method and apparatus for interconnecting a circuit-switched telephony network and a packet-switched data network, and applications thereof
US6452923B1 (en) 1998-12-31 2002-09-17 At&T Corp Cable connected wan interconnectivity services for corporate telecommuters
US6760748B1 (en) 1999-01-20 2004-07-06 Accenture Llp Instructional system grouping student terminals
EP1022875B1 (en) * 1999-01-25 2005-06-01 Nippon Telegraph and Telephone Corporation Push network
US6615357B1 (en) 1999-01-29 2003-09-02 International Business Machines Corporation System and method for network address translation integration with IP security
JP2000242589A (ja) * 1999-02-25 2000-09-08 Mitsubishi Electric Corp データ転送制御コンピュータシステム
CA2363733C (en) 1999-03-02 2011-10-18 Quixtar Investments, Inc. Electronic commerce transactions within a marketing system
US6662221B1 (en) 1999-04-12 2003-12-09 Lucent Technologies Inc. Integrated network and service management with automated flow through configuration and provisioning of virtual private networks
US6421768B1 (en) * 1999-05-04 2002-07-16 First Data Corporation Method and system for authentication and single sign on using cryptographically assured cookies in a distributed computer environment
US7103068B1 (en) 1999-05-04 2006-09-05 Sprint Communication Company L.P. System and method for configuring bandwidth transmission rates for call connections
US6611822B1 (en) 1999-05-05 2003-08-26 Ac Properties B.V. System method and article of manufacture for creating collaborative application sharing
US7152092B2 (en) 1999-05-05 2006-12-19 Indeliq, Inc. Creating chat rooms with multiple roles for multiple participants
US6505230B1 (en) 1999-05-14 2003-01-07 Pivia, Inc. Client-server independent intermediary mechanism
US6792615B1 (en) 1999-05-19 2004-09-14 New Horizons Telecasting, Inc. Encapsulated, streaming media automation and distribution system
AU5084500A (en) 1999-05-21 2000-12-12 International Business Machines Corporation Method and apparatus for initializing secure communications among, and for exclusively pairing wireless devices
US6519571B1 (en) 1999-05-27 2003-02-11 Accenture Llp Dynamic customer profile management
US6473794B1 (en) 1999-05-27 2002-10-29 Accenture Llp System for establishing plan to test components of web based framework by displaying pictorial representation and conveying indicia coded components of existing network framework
US6615166B1 (en) 1999-05-27 2003-09-02 Accenture Llp Prioritizing components of a network framework required for implementation of technology
US6536037B1 (en) 1999-05-27 2003-03-18 Accenture Llp Identification of redundancies and omissions among components of a web based architecture
US6721713B1 (en) 1999-05-27 2004-04-13 Andersen Consulting Llp Business alliance identification in a web architecture framework
US6957186B1 (en) 1999-05-27 2005-10-18 Accenture Llp System method and article of manufacture for building, managing, and supporting various components of a system
US7165041B1 (en) 1999-05-27 2007-01-16 Accenture, Llp Web-based architecture sales tool
US6289450B1 (en) * 1999-05-28 2001-09-11 Authentica, Inc. Information security architecture for encrypting documents for remote access while maintaining access control
US7882247B2 (en) 1999-06-11 2011-02-01 Netmotion Wireless, Inc. Method and apparatus for providing secure connectivity in mobile and other intermittent computing environments
US6718535B1 (en) 1999-07-30 2004-04-06 Accenture Llp System, method and article of manufacture for an activity framework design in an e-commerce based environment
US6523027B1 (en) 1999-07-30 2003-02-18 Accenture Llp Interfacing servers in a Java based e-commerce architecture
US6633878B1 (en) 1999-07-30 2003-10-14 Accenture Llp Initializing an ecommerce database framework
US6609128B1 (en) 1999-07-30 2003-08-19 Accenture Llp Codes table framework design in an E-commerce architecture
US6601233B1 (en) 1999-07-30 2003-07-29 Accenture Llp Business components framework
US7100195B1 (en) 1999-07-30 2006-08-29 Accenture Llp Managing user information on an e-commerce system
US6704873B1 (en) 1999-07-30 2004-03-09 Accenture Llp Secure gateway interconnection in an e-commerce based environment
US6691232B1 (en) * 1999-08-05 2004-02-10 Sun Microsystems, Inc. Security architecture with environment sensitive credential sufficiency evaluation
US6609198B1 (en) * 1999-08-05 2003-08-19 Sun Microsystems, Inc. Log-on service providing credential level change without loss of session continuity
US6611867B1 (en) 1999-08-31 2003-08-26 Accenture Llp System, method and article of manufacture for implementing a hybrid network
US6640244B1 (en) 1999-08-31 2003-10-28 Accenture Llp Request batcher in a transaction services patterns environment
US6477580B1 (en) 1999-08-31 2002-11-05 Accenture Llp Self-described stream in a communication services patterns environment
US6289382B1 (en) 1999-08-31 2001-09-11 Andersen Consulting, Llp System, method and article of manufacture for a globally addressable interface in a communication services patterns environment
US6640238B1 (en) 1999-08-31 2003-10-28 Accenture Llp Activity component in a presentation services patterns environment
US6502213B1 (en) 1999-08-31 2002-12-31 Accenture Llp System, method, and article of manufacture for a polymorphic exception handler in environment services patterns
US6578068B1 (en) 1999-08-31 2003-06-10 Accenture Llp Load balancer in environment services patterns
US6606660B1 (en) 1999-08-31 2003-08-12 Accenture Llp Stream-based communication in a communication services patterns environment
US6539396B1 (en) 1999-08-31 2003-03-25 Accenture Llp Multi-object identifier system and method for information service pattern environment
US6636242B2 (en) 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US6601192B1 (en) 1999-08-31 2003-07-29 Accenture Llp Assertion component in environment services patterns
US6715145B1 (en) 1999-08-31 2004-03-30 Accenture Llp Processing pipeline in a base services pattern environment
US6529909B1 (en) 1999-08-31 2003-03-04 Accenture Llp Method for translating an object attribute converter in an information services patterns environment
US6434628B1 (en) 1999-08-31 2002-08-13 Accenture Llp Common interface for handling exception interface name with additional prefix and suffix for handling exceptions in environment services patterns
US6842906B1 (en) 1999-08-31 2005-01-11 Accenture Llp System and method for a refreshable proxy pool in a communication services patterns environment
US6345239B1 (en) 1999-08-31 2002-02-05 Accenture Llp Remote demonstration of business capabilities in an e-commerce environment
US6427132B1 (en) 1999-08-31 2002-07-30 Accenture Llp System, method and article of manufacture for demonstrating E-commerce capabilities via a simulation on a network
US6601234B1 (en) 1999-08-31 2003-07-29 Accenture Llp Attribute dictionary in a business logic services environment
US6571282B1 (en) 1999-08-31 2003-05-27 Accenture Llp Block-based communication in a communication services patterns environment
US6442748B1 (en) 1999-08-31 2002-08-27 Accenture Llp System, method and article of manufacture for a persistent state and persistent object separator in an information services patterns environment
US6615253B1 (en) 1999-08-31 2003-09-02 Accenture Llp Efficient server side data retrieval for execution of client side applications
US6640249B1 (en) 1999-08-31 2003-10-28 Accenture Llp Presentation services patterns in a netcentric environment
US6438594B1 (en) 1999-08-31 2002-08-20 Accenture Llp Delivering service to a client via a locally addressable interface
US6434568B1 (en) 1999-08-31 2002-08-13 Accenture Llp Information services patterns in a netcentric environment
US6549949B1 (en) 1999-08-31 2003-04-15 Accenture Llp Fixed format stream in a communication services patterns environment
US6742015B1 (en) 1999-08-31 2004-05-25 Accenture Llp Base services patterns in a netcentric environment
US6339832B1 (en) 1999-08-31 2002-01-15 Accenture Llp Exception response table in environment services patterns
US6477665B1 (en) 1999-08-31 2002-11-05 Accenture Llp System, method, and article of manufacture for environment services patterns in a netcentic environment
US6496850B1 (en) 1999-08-31 2002-12-17 Accenture Llp Clean-up of orphaned server contexts
US6550057B1 (en) 1999-08-31 2003-04-15 Accenture Llp Piecemeal retrieval in an information services patterns environment
US6615199B1 (en) 1999-08-31 2003-09-02 Accenture, Llp Abstraction factory in a base services pattern environment
US6529948B1 (en) 1999-08-31 2003-03-04 Accenture Llp Multi-object fetch component
US6697824B1 (en) 1999-08-31 2004-02-24 Accenture Llp Relationship management in an E-commerce application framework
US6332163B1 (en) 1999-09-01 2001-12-18 Accenture, Llp Method for providing communication services over a computer network system
US6732269B1 (en) 1999-10-01 2004-05-04 International Business Machines Corporation Methods, systems and computer program products for enhanced security identity utilizing an SSL proxy
US6826696B1 (en) * 1999-10-12 2004-11-30 Webmd, Inc. System and method for enabling single sign-on for networked applications
US6363065B1 (en) 1999-11-10 2002-03-26 Quintum Technologies, Inc. okApparatus for a voice over IP (voIP) telephony gateway and methods for use therein
US6870921B1 (en) 1999-11-12 2005-03-22 Metro One Telecommunications, Inc. Enhanced directory assistance service providing individual or group directories
US7130807B1 (en) 1999-11-22 2006-10-31 Accenture Llp Technology sharing during demand and supply planning in a network-based supply chain environment
US6606744B1 (en) 1999-11-22 2003-08-12 Accenture, Llp Providing collaborative installation management in a network-based supply chain environment
US7124101B1 (en) 1999-11-22 2006-10-17 Accenture Llp Asset tracking in a network-based supply chain environment
US6671818B1 (en) 1999-11-22 2003-12-30 Accenture Llp Problem isolation through translating and filtering events into a standard object format in a network based supply chain
US7917628B2 (en) * 1999-12-02 2011-03-29 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US7587467B2 (en) * 1999-12-02 2009-09-08 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US20020010866A1 (en) 1999-12-16 2002-01-24 Mccullough David J. Method and apparatus for improving peer-to-peer bandwidth between remote networks by combining multiple connections which use arbitrary data paths
US6904449B1 (en) 2000-01-14 2005-06-07 Accenture Llp System and method for an application provider framework
US6496520B1 (en) 2000-01-21 2002-12-17 Broadcloud Communications, Inc. Wireless network system and method
US7072665B1 (en) 2000-02-29 2006-07-04 Blumberg Brad W Position-based information access device and method of searching
US6496776B1 (en) 2000-02-29 2002-12-17 Brad W. Blumberg Position-based information access device and method
JP3630065B2 (ja) 2000-03-03 2005-03-16 株式会社村田製作所 セラミックグリーンシートの製造方法及びセラミックグリーンシート製造装置
US7058973B1 (en) 2000-03-03 2006-06-06 Symantec Corporation Network address translation gateway for local area networks using local IP addresses and non-translatable port addresses
US7065547B2 (en) 2000-03-09 2006-06-20 Persels Conrad G Integrated on-line system with enchanced data transfer protocol
US7111060B2 (en) 2000-03-14 2006-09-19 Aep Networks, Inc. Apparatus and accompanying methods for providing, through a centralized server site, a secure, cost-effective, web-enabled, integrated virtual office environment remotely accessible through a network-connected web browser
US6845091B2 (en) * 2000-03-16 2005-01-18 Sri International Mobile ad hoc extensions for the internet
US7343413B2 (en) 2000-03-21 2008-03-11 F5 Networks, Inc. Method and system for optimizing a network by independently scaling control segments and data flow
US8380854B2 (en) 2000-03-21 2013-02-19 F5 Networks, Inc. Simplified method for processing multiple connections from the same client
US6701514B1 (en) 2000-03-27 2004-03-02 Accenture Llp System, method, and article of manufacture for test maintenance in an automated scripting framework
US6907546B1 (en) 2000-03-27 2005-06-14 Accenture Llp Language-driven interface for an automated testing framework
US6502102B1 (en) 2000-03-27 2002-12-31 Accenture Llp System, method and article of manufacture for a table-driven automated scripting architecture
US6553377B1 (en) 2000-03-31 2003-04-22 Network Associates, Inc. System and process for maintaining a plurality of remote security applications using a modular framework in a distributed computing environment
US6845387B1 (en) * 2000-04-07 2005-01-18 Advanced Digital Information Corporation Creating virtual private connections between end points across a SAN
IL135555A0 (en) 2000-04-09 2001-05-20 Vidius Inc Preventing unauthorized access to data sent via computer networks
US7085854B2 (en) 2000-04-12 2006-08-01 Corente, Inc. Methods and systems for enabling communication between a processor and a network operations center
US6996628B2 (en) 2000-04-12 2006-02-07 Corente, Inc. Methods and systems for managing virtual addresses for virtual networks
US7047424B2 (en) 2000-04-12 2006-05-16 Corente, Inc. Methods and systems for hairpins in virtual networks
US7028333B2 (en) 2000-04-12 2006-04-11 Corente, Inc. Methods and systems for partners in virtual networks
US7181766B2 (en) 2000-04-12 2007-02-20 Corente, Inc. Methods and system for providing network services using at least one processor interfacing a base network
US7028334B2 (en) 2000-04-12 2006-04-11 Corente, Inc. Methods and systems for using names in virtual networks
US6981041B2 (en) 2000-04-13 2005-12-27 Aep Networks, Inc. Apparatus and accompanying methods for providing, through a centralized server site, an integrated virtual office environment, remotely accessible via a network-connected web browser, with remote network monitoring and management capabilities
US6671729B1 (en) * 2000-04-13 2003-12-30 Lockheed Martin Corporation Autonomously established secure and persistent internet connection and autonomously reestablished without user intervention that connection if it lost
GB0010238D0 (en) * 2000-04-28 2000-06-14 Northeastern Components Intern Locking mechanism for chair and pushbutton control therefor
US7047279B1 (en) 2000-05-05 2006-05-16 Accenture, Llp Creating collaborative application sharing
US7152047B1 (en) 2000-05-24 2006-12-19 Esecure.Biz, Inc. System and method for production and authentication of original documents
US6732314B1 (en) 2000-05-26 2004-05-04 3Com Corporation Method and apparatus for L2TP forward error correction
US6766373B1 (en) * 2000-05-31 2004-07-20 International Business Machines Corporation Dynamic, seamless switching of a network session from one connection route to another
US7010300B1 (en) * 2000-06-15 2006-03-07 Sprint Spectrum L.P. Method and system for intersystem wireless communications session hand-off
US9038170B2 (en) * 2000-07-10 2015-05-19 Oracle International Corporation Logging access system events
US7260638B2 (en) 2000-07-24 2007-08-21 Bluesocket, Inc. Method and system for enabling seamless roaming in a wireless network
AU2001280818A1 (en) 2000-07-25 2002-02-05 Peribit Networks, Inc. Network architecture and methods for transparent on-line cross-sessional encoding and transport of network communications data
US7221660B1 (en) 2000-08-08 2007-05-22 E.F. Johnson Company System and method for multicast communications using real time transport protocol (RTP)
US6874086B1 (en) * 2000-08-10 2005-03-29 Oridus, Inc. Method and apparatus implemented in a firewall for communicating information between programs employing different protocols
US6996631B1 (en) * 2000-08-17 2006-02-07 International Business Machines Corporation System having a single IP address associated with communication protocol stacks in a cluster of processing systems
US6691227B1 (en) 2000-09-08 2004-02-10 Reefedge, Inc. Location-independent packet routing and secure access in a short-range wireless networking environment
US20020038339A1 (en) 2000-09-08 2002-03-28 Wei Xu Systems and methods for packet distribution
EP1364296A4 (en) * 2000-09-12 2004-09-15 Netmotion Wireless Inc METHOD AND DEVICE FOR PROVIDING MOBILE AND OTHER INTERRUPTED CONDUCTIVITY IN A DATA PROCESSING ENVIRONMENT
US8250357B2 (en) 2000-09-13 2012-08-21 Fortinet, Inc. Tunnel interface for securing traffic over a network
US6990480B1 (en) 2000-09-18 2006-01-24 Trancept Limited Information manager method and system
US7958185B2 (en) 2000-09-18 2011-06-07 Bentley Systems, Inc. Spatial data enabled engineering, construction, and operations computer-aided design (CAD) project system, method and computer program product
WO2002033607A1 (en) 2000-10-16 2002-04-25 Iis Inc. Method for offering multilingual information translated in many languages through a communication network
US6697377B1 (en) * 2000-10-21 2004-02-24 Innomedia Pte Ltd. Method for communicating audio data in a packet switched network
US8996698B1 (en) * 2000-11-03 2015-03-31 Truphone Limited Cooperative network for mobile internet access
US7146644B2 (en) 2000-11-13 2006-12-05 Digital Doors, Inc. Data security system and method responsive to electronic attacks
US7140044B2 (en) 2000-11-13 2006-11-21 Digital Doors, Inc. Data security system and method for separation of user communities
US7191252B2 (en) 2000-11-13 2007-03-13 Digital Doors, Inc. Data security system and method adjunct to e-mail, browser or telecom program
JP4183379B2 (ja) 2000-11-27 2008-11-19 富士通株式会社 ネットワーク及びエッジルータ
US6735601B1 (en) 2000-12-29 2004-05-11 Vmware, Inc. System and method for remote file access by computer
US7096009B2 (en) 2001-03-09 2006-08-22 Research In Motion Limited Advanced voice and data operations in a mobile data communication device
US7120596B2 (en) 2001-03-23 2006-10-10 Restaurant Services, Inc. System, method and computer program product for landed cost reporting in a supply chain management framework
US7072843B2 (en) 2001-03-23 2006-07-04 Restaurant Services, Inc. System, method and computer program product for error checking in a supply chain management framework
US6954736B2 (en) 2001-03-23 2005-10-11 Restaurant Services, Inc. System, method and computer program product for order confirmation in a supply chain management framework
US7533409B2 (en) 2001-03-22 2009-05-12 Corente, Inc. Methods and systems for firewalling virtual private networks
US20030074206A1 (en) 2001-03-23 2003-04-17 Restaurant Services, Inc. System, method and computer program product for utilizing market demand information for generating revenue
US7039606B2 (en) 2001-03-23 2006-05-02 Restaurant Services, Inc. System, method and computer program product for contract consistency in a supply chain management framework
US7171379B2 (en) 2001-03-23 2007-01-30 Restaurant Services, Inc. System, method and computer program product for normalizing data in a supply chain management framework
US7136364B2 (en) 2001-03-29 2006-11-14 Intel Corporation Maintaining a reliable link
CA2443469A1 (en) 2001-04-03 2002-10-17 L-3 Communications Security & Detection Systems A remote baggage screening system, software and method
US20030041175A2 (en) 2001-05-03 2003-02-27 Singhal Sandeep K Method and System for Adapting Short-Range Wireless Access Points for Participation in a Coordinated Networked Environment
US6925481B2 (en) 2001-05-03 2005-08-02 Symantec Corp. Technique for enabling remote data access and manipulation from a pervasive device
US7224979B2 (en) 2001-05-03 2007-05-29 Symantec Corporation Location-aware service proxies in a short-range wireless environment
US6947444B2 (en) 2001-06-06 2005-09-20 Ipr Licensing, Inc. Method and apparatus for improving utilization efficiency of wireless links for web-based applications
US7216173B2 (en) 2001-06-12 2007-05-08 Varian Medical Systems Technologies, Inc. Virtual private network software system
US20050198379A1 (en) * 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US7100200B2 (en) * 2001-06-13 2006-08-29 Citrix Systems, Inc. Method and apparatus for transmitting authentication credentials of a user across communication sessions
US7698381B2 (en) * 2001-06-20 2010-04-13 Microsoft Corporation Methods and systems for controlling the scope of delegation of authentication credentials
US7546629B2 (en) 2002-03-06 2009-06-09 Check Point Software Technologies, Inc. System and methodology for security policy arbitration
US7908472B2 (en) 2001-07-06 2011-03-15 Juniper Networks, Inc. Secure sockets layer cut through architecture
US8200818B2 (en) 2001-07-06 2012-06-12 Check Point Software Technologies, Inc. System providing internet access management with router-based policy enforcement
US6873988B2 (en) 2001-07-06 2005-03-29 Check Point Software Technologies, Inc. System and methods providing anti-virus cooperative enforcement
US20040107360A1 (en) 2002-12-02 2004-06-03 Zone Labs, Inc. System and Methodology for Policy Enforcement
US6832260B2 (en) * 2001-07-26 2004-12-14 International Business Machines Corporation Methods, systems and computer program products for kernel based transaction processing
WO2003014867A2 (en) 2001-08-03 2003-02-20 John Allen Ananian Personalized interactive digital catalog profiling
WO2003019870A2 (en) 2001-08-24 2003-03-06 Peribit Networks, Inc. Dynamic multi-point meshed overlay network
US20030046586A1 (en) 2001-09-05 2003-03-06 Satyam Bheemarasetti Secure remote access to data between peers
US20030046587A1 (en) 2001-09-05 2003-03-06 Satyam Bheemarasetti Secure remote access using enterprise peer networks
AUPR797501A0 (en) 2001-09-28 2001-10-25 BlastMedia Pty Limited A method of displaying content
US6993652B2 (en) * 2001-10-05 2006-01-31 General Instrument Corporation Method and system for providing client privacy when requesting content from a public server
US20030084165A1 (en) * 2001-10-12 2003-05-01 Openwave Systems Inc. User-centric session management for client-server interaction using multiple applications and devices
US20030078983A1 (en) * 2001-10-23 2003-04-24 Sullivan Terence Sean Message prioritization and buffering in a limited network
US20030078985A1 (en) 2001-10-23 2003-04-24 David Holbrook Proactive message buffering across intermittent network connections
US7042879B2 (en) * 2001-11-02 2006-05-09 General Instrument Corporation Method and apparatus for transferring a communication session
US7631084B2 (en) 2001-11-02 2009-12-08 Juniper Networks, Inc. Method and system for providing secure access to private networks with client redirection
WO2003043285A2 (en) 2001-11-13 2003-05-22 Ems Technologies, Inc. Flow control between performance enhancing proxies over variable bandwidth split links
US7028183B2 (en) * 2001-11-13 2006-04-11 Symantec Corporation Enabling secure communication in a clustered or distributed architecture
US7054944B2 (en) 2001-12-19 2006-05-30 Intel Corporation Access control management system utilizing network and application layer access control lists
US7509393B2 (en) 2001-12-19 2009-03-24 International Business Machines Corporation Method and system for caching role-specific fragments
KR100436435B1 (ko) 2001-12-26 2004-06-16 한국전자통신연구원 유무선 통합망에서 간접 승인을 이용한 패킷 전송 장치 및그 방법
US7661129B2 (en) * 2002-02-26 2010-02-09 Citrix Systems, Inc. Secure traversal of network components
US7984157B2 (en) 2002-02-26 2011-07-19 Citrix Systems, Inc. Persistent and reliable session securely traversing network components using an encapsulating protocol
US7023979B1 (en) 2002-03-07 2006-04-04 Wai Wu Telephony control system with intelligent call routing
US7107285B2 (en) 2002-03-16 2006-09-12 Questerra Corporation Method, system, and program for an improved enterprise spatial system
US7707287B2 (en) 2002-03-22 2010-04-27 F5 Networks, Inc. Virtual host acceleration system
US7979528B2 (en) 2002-03-27 2011-07-12 Radvision Ltd. System and method for traversing firewalls, NATs, and proxies with rich media communications and other application protocols
JP4315696B2 (ja) 2002-03-29 2009-08-19 富士通株式会社 ホスト端末エミュレーションプログラム、中継用プログラムおよびホスト端末エミュレーション方法
US7080404B2 (en) * 2002-04-01 2006-07-18 Microsoft Corporation Automatic re-authentication
US20030208602A1 (en) 2002-04-08 2003-11-06 Cisco Technology, Inc. System and method for pushing data in an internet protocol network environment
US7804785B2 (en) 2002-04-19 2010-09-28 Avaya Inc. Network system having an instructional sequence for performing packet processing and optimizing the packet processing
US7197553B2 (en) 2002-04-19 2007-03-27 Nortel Networks Limited Network system having a virtual-service-module
US7246178B2 (en) 2002-05-07 2007-07-17 Nortel Networks Limited Methods and systems for changing a topology of a network
US20030217126A1 (en) 2002-05-14 2003-11-20 Polcha Andrew J. System and method for automatically configuring remote computer
US7203192B2 (en) 2002-06-04 2007-04-10 Fortinet, Inc. Network packet steering
WO2003105010A1 (en) 2002-06-06 2003-12-18 Neoteris, Inc. Method and system for providing secure access to private networks
US7171467B2 (en) * 2002-06-13 2007-01-30 Engedi Technologies, Inc. Out-of-band remote management station
US6744774B2 (en) 2002-06-27 2004-06-01 Nokia, Inc. Dynamic routing over secure networks
US7114180B1 (en) 2002-07-16 2006-09-26 F5 Networks, Inc. Method and system for authenticating and authorizing requestors interacting with content servers
US6826627B2 (en) 2002-09-03 2004-11-30 Burnbag, Ltd. Data transformation architecture
US20040078772A1 (en) 2002-10-16 2004-04-22 Cosine Communications, Inc. Dynamic route exchange
US7363347B2 (en) * 2002-11-07 2008-04-22 Hewlett-Packard Development Company, L.P. Method and system for reestablishing connection information on a switch connected to plural servers in a computer network
US20040203296A1 (en) 2002-11-15 2004-10-14 Globespan Virata Inc. Method and system for attaching a USB network adapter supporting both RNDIS and non-RNDIS capable operating systems
TWI234969B (en) 2002-11-26 2005-06-21 Ind Tech Res Inst Dynamic network address translation system and method of transparent private network device
US7363500B2 (en) 2002-12-03 2008-04-22 Juniper Networks, Inc. Tunneled authentication protocol for preventing man-in-the-middle attacks
US7587587B2 (en) 2002-12-05 2009-09-08 Broadcom Corporation Data path security processing
EP1609048A4 (en) 2003-03-27 2009-01-14 Milsys Ltd DATA STORAGE DEVICE HAVING COMPLETE ACCESS FOR ALL USERS
US7026954B2 (en) 2003-06-10 2006-04-11 Bellsouth Intellectual Property Corporation Automated parking director systems and related methods
US7467214B2 (en) 2003-06-20 2008-12-16 Motorola, Inc. Invoking protocol translation in a multicast network
US7746799B2 (en) * 2003-06-20 2010-06-29 Juniper Networks, Inc. Controlling data link layer elements with network layer elements
US7532640B2 (en) 2003-07-02 2009-05-12 Caterpillar Inc. Systems and methods for performing protocol conversions in a machine
US7453852B2 (en) 2003-07-14 2008-11-18 Lucent Technologies Inc. Method and system for mobility across heterogeneous address spaces
WO2005043360A1 (en) 2003-10-21 2005-05-12 Green Border Technologies Systems and methods for secure client applications
US7584500B2 (en) 2003-11-19 2009-09-01 Hughes Network Systems, Llc Pre-fetching secure content using proxy architecture
US8572249B2 (en) 2003-12-10 2013-10-29 Aventail Llc Network appliance for balancing load and platform services
US8255973B2 (en) 2003-12-10 2012-08-28 Chris Hopen Provisioning remote computers for accessing resources
US7113779B1 (en) 2004-01-08 2006-09-26 Iwao Fujisaki Carrier
US7555772B2 (en) 2004-01-26 2009-06-30 Juniper Networks, Inc. Wireless firewall with tear down messaging
US9626655B2 (en) 2004-02-19 2017-04-18 Intellectual Ventures I Llc Method, apparatus and system for regulating electronic mail
EP1575238A1 (en) 2004-03-08 2005-09-14 Nokia Corporation IP mobility in mobile telecommunications system
US20050262357A1 (en) 2004-03-11 2005-11-24 Aep Networks Network access using reverse proxy
US7502925B2 (en) 2004-04-19 2009-03-10 Nvidia Corporation Method and apparatus for reducing TCP frame transmit latency

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000101640A (ja) * 1998-09-18 2000-04-07 Mitsubishi Electric Corp クライアント/サーバシステム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007128349A (ja) * 2005-11-04 2007-05-24 Nec Corp ネットワークシステム、プロキシサーバ、セッション管理方法、及びプログラム
JP4670598B2 (ja) * 2005-11-04 2011-04-13 日本電気株式会社 ネットワークシステム、プロキシサーバ、セッション管理方法、及びプログラム
JP2010507293A (ja) * 2006-10-16 2010-03-04 マーベル ワールド トレード リミテッド ネットワーク接続の高速リカバリ
WO2009017097A1 (ja) * 2007-07-31 2009-02-05 Softbank Mobile Corp. 通信モジュール、通信方法、通信プログラム、通信端末、および通信制御装置
JP2012533792A (ja) * 2009-07-15 2012-12-27 アリババ・グループ・ホールディング・リミテッド インスタントメッセージセッションの管理
WO2011096307A1 (ja) * 2010-02-03 2011-08-11 日本電気株式会社 プロキシ装置とその動作方法
US8612611B2 (en) 2010-02-03 2013-12-17 Nec Corporation Proxy apparatus and operation method thereof

Also Published As

Publication number Publication date
US7502726B2 (en) 2009-03-10
CA2542139C (en) 2014-11-25
US8874791B2 (en) 2014-10-28
US7340772B2 (en) 2008-03-04
US20050273513A1 (en) 2005-12-08
US20110113247A1 (en) 2011-05-12
US20050246445A1 (en) 2005-11-03
KR20060120035A (ko) 2006-11-24
US8090874B2 (en) 2012-01-03
CA2542139A1 (en) 2005-04-21
WO2005036857A1 (en) 2005-04-21
US20050198379A1 (en) 2005-09-08
EP1678917A1 (en) 2006-07-12
EP1678917B1 (en) 2008-08-27
US20050267974A1 (en) 2005-12-01
AU2004306771A1 (en) 2005-04-21

Similar Documents

Publication Publication Date Title
US7340772B2 (en) Systems and methods for continuing an operation interrupted from a reconnection between a client and server
CA2541151C (en) A persistent and reliable session securely traversing network components using an encapsulating protocol
CA2541137C (en) Encapsulating protocol for session persistence and reliability
JP5744172B2 (ja) 中間ストリーム再ネゴシエーションを介したプロキシsslハンドオフ
EP1400089B1 (en) Authentification of a user across communicaqtion sessions
EP2078260B1 (en) Detecting stolen authentication cookie attacks
US7316030B2 (en) Method and system for authenticating a personal security device vis-à-vis at least one remote computer system
US7363486B2 (en) Method and system for authentication through a communications pipe

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071002

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100308

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100902