US20140317695A1 - Leveraging a persistent connection to access a secured service - Google Patents

Leveraging a persistent connection to access a secured service Download PDF

Info

Publication number
US20140317695A1
US20140317695A1 US14/320,119 US201414320119A US2014317695A1 US 20140317695 A1 US20140317695 A1 US 20140317695A1 US 201414320119 A US201414320119 A US 201414320119A US 2014317695 A1 US2014317695 A1 US 2014317695A1
Authority
US
United States
Prior art keywords
client
connection
code segment
service
computer
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.)
Abandoned
Application number
US14/320,119
Inventor
Robert Bruce Hirsh
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Inc
Original Assignee
Facebook Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Facebook Inc filed Critical Facebook Inc
Priority to US14/320,119 priority Critical patent/US20140317695A1/en
Priority to US14/322,699 priority patent/US9461981B2/en
Assigned to FACEBOOK, INC. reassignment FACEBOOK, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AOL INC.
Assigned to AOL LLC reassignment AOL LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: AMERICA ONLINE, INC.
Assigned to AOL INC. reassignment AOL INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AOL LLC
Assigned to AMERICA ONLINE, INC. reassignment AMERICA ONLINE, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HIRSH, ROBERT BRUCE
Publication of US20140317695A1 publication Critical patent/US20140317695A1/en
Priority to US14/586,833 priority patent/US9197627B2/en
Priority to US14/586,823 priority patent/US9197626B2/en
Assigned to META PLATFORMS, INC. reassignment META PLATFORMS, INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: FACEBOOK, INC.
Abandoned 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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Definitions

  • This invention relates to providing access to a secured service.
  • a secured service may require the provision of authentication information before allowing a connection to be established from a client seeking access.
  • Various secured services may be accessed simultaneously by one client, each generally requiring the accessing client to provide authentication information that is duplicative or additional to the authentication information provided to the other secured services before allowing access to be established.
  • a client may establish a connection with a first secured service by providing the first secured service with first authentication information. Thereafter, the same client seeking access to other secured services may be required again to provide those other secured services with second authentication information that is duplicative and/or additional to the first authentication information provided to the first secured service.
  • leveraging a persistent connection to provide a client access to a secured service includes establishing a persistent connection with the client in response to a first request from the client, and brokering a connection between the client and a secured service based on a second request from the client by leveraging the persistent connection with the client.
  • the brokering may occur before the client attempts to connect to the secured service directly and the connection may be established between the client and the secured service without provision by the client of authentication information duplicative or additional to authentication information provided by the client to establish the persistent connection.
  • Implementations may include one or more of the following features.
  • establishing the persistent connection may include receiving keystone authentication information from the client, authenticating the client based on the keystone authentication information to provide a keystone authentication, and establishing the persistent connection with the client based on the keystone authentication.
  • Leveraging the persistent connection may include receiving the second request from the client for connection to the secured service after the persistent connection to the client is established. Leveraging the persistent connection also may include providing a leveraged authentication that may be used to establish the connection with the secured service and that is based on the keystone authentication associated with the persistent connection. The keystone authentication also may be used to provide the leveraged authentication without provision by the client of authentication information duplicative or additional to the keystone authentication information used to establish the persistent connection.
  • the persistent connection may be established between the client and a persistent connection service while the connection between the client and the secured service may be brokered by a broker service.
  • the broker service may receive from the persistent connection service at a connection request address a communication based on the second request from the client, and the persistent connection service may authenticate the client to the broker service by leveraging the persistent connection.
  • Brokering the connection to the secured service may include communicating as an intermediary with the client and the secured service based on the second request from the client so that the client may obtain authorization information that may be used to establish the connection to the secured service.
  • brokering includes determining the authorization information based on the second request from the client, and communicating to the secured service an indication that the client desires to connect to the secured service, in which the indication includes the authorization information.
  • a response is received from the secured service indicating that the client may be allowed to establish the connection to the secured service by presenting the authorization information to the secured service, and the authorization information is communicated to enable the client to present the authorization information to the secured service to establish the connection with the secured service.
  • brokering includes communicating to the secured service an indication that the client desires to connect to the secured service, receiving a response from the secured service indicating that the secured service may accept a connection from the client, in which the response includes the authorization information, and communicating the authorization information to enable the client to present the authorization information to the secured service to establish the connection with the secured service.
  • the authorization information may be determined by the secured service.
  • the authorization information may be ineffective to establish a connection with the secured service if the connection constraints are not satisfied by the constraint information.
  • the connection constraints may include, for example, a constraint to limit the number of uses for the authorization information to a predetermined number (e.g., a one-time-use password), and/or information indicating a number of uses to which the authorization information has been put.
  • the connection constraints also may include a constraint that the authorization information be used within a predetermined time window, and/or a constraint that the authorization information be presented to the secured service by a client for whom the connection was brokered.
  • FIG. 1 is a is a schematic diagram of a system configured to provide a client having an established persistent connection with access to a secured service.
  • FIG. 2 is a schematic diagram illustrating a system, as in FIG. 1 , in which the secured service is an IMAP mail service.
  • FIG. 3 is a schematic diagram illustrating a system, as in FIG. 1 , in which the secured service is a synchronization service.
  • FIG. 4 is a schematic flow diagram illustrating a systematic process implementable by the system of FIG. 1 for providing a client having an established persistent connection with access to a secured service.
  • FIG. 5 is a schematic flow diagram illustrating a connection process that may be used to establish a persistent connection, as provided generally in FIG. 4 .
  • FIGS. 6 and 7 are schematic flow diagrams illustrating processes that may be used to broker a connection with a secured service, as provided generally in FIG. 4 .
  • FIG. 8 is a schematic flow diagram illustrating a process that may be used to establish the brokered connection with the secured service, as provided generally in FIG. 4 .
  • a generalized system 100 may be used to permit a client 110 to leverage a persistent connection 101 to a persistent connection service 130 by which access may be gained to a secured service 170 , in which gaining access to the secured service 170 may or may not include establishing another persistent connection with the secured service 170 .
  • Exemplary components of the system 100 are described in greater detail below.
  • the system 100 of FIG. 1 generally includes the client 110 , the persistent connection service 130 , a broker service 150 , and one or more secured services 170 .
  • the client 110 generally may include any device, system, and/or piece of code that relies on another service to perform an operation.
  • the client 110 may include a Web browser, an email client, a synchronization client (e.g., a calendar synchronization client, a task list synchronization client), an instant messaging (IM) client, a software productivity application (e.g., a word processor, a spreadsheet), and/or an operating system or operating system kernel.
  • the client 110 also may be configured to access data that may be stored, for example, in a magnetic and/or an optical storage medium and/or any other acceptable storage medium accessible to the client 110 (e.g., storage medium 111 ).
  • the persistent connection service 130 may include, for example, an IM service, an email service (e.g., an IMAP service), a login service, an authentication service, an authorization service, and/or any other service or combination of services configured to provide a persistent connection
  • the broker service 150 may include, for example, any device, system, and/or piece of code configured to broker a connection as hereinafter described between a client with a persistent connection and a secured service.
  • a secured service 170 generally may include, for example, any device, system, and/or piece of code configured to perform an operation requested by a client 110 (e.g., a Web browser, another service).
  • the secured service 170 may include an email service, a synchronization service (e.g., a calendar synchronization service, a task list synchronization service), a print service, a file access service, an IM service, an operating system, an operating system kernel, an authentication service, an authorization service, and/or any combination of these services.
  • the secured service 170 also may include a persistent connection service.
  • One or more other services may be included in the components of system 100 and/or these components (hereinafter the system services) may be included as part of one or more other services.
  • the system services may include or be included in a general-purpose or a special-purpose computer (e.g., a personal computer, a personal digital assistant (PDAs), or a device specifically programmed to perform certain tasks), at least one Local Area Network (LAN), and/or at least one Wide Area Network (WAN).
  • PDAs personal digital assistant
  • LAN Local Area Network
  • WAN Wide Area Network
  • the response to and execution of instructions received by any or all of the system services may be controlled by, for example, a program, a piece of code, an instruction, a device, a computer system, or a combination thereof, for independently or collectively instructing the services to interact and operate as described herein.
  • a persistent connection 101 may be established between the client 110 and the persistent connection service 130 and the persistent connection service 130 may be configured to communicate with the broker service 150 , or the broker service 150 may be included as a component of the persistent connection service 130 .
  • the broker service 150 and the client 110 may be configured to communicate with the one or more secured services 170 .
  • the persistent connection between the client 110 and the persistent connection service 130 as well as other communications between the system services generally occur over a communications network.
  • the communication network typically allows direct or indirect communication between the system services (e.g., between the client 110 , the persistent connection service 130 , the broker service 150 , and/or the secured services 170 ), irrespective of physical or logical separation.
  • the communication network may include a secured communication network (e.g., a communication network protected by a firewall) that may include communication paths 151 and 153 over which the broker service 150 may communicate with the persistent connection service 130 and/or the secured services 170 , respectively.
  • the secured communication network may isolate the broker service 150 from the client 110 so that the broker service 150 is not visible to the client 110 .
  • the communication network may include various mechanisms for delivering voice and/or non-voice data, such as, for example, the transport connection protocol (TCP), the Internet protocol (IP), the World Wide Web, one or more local area networks (LANs) and/or one or more wide area networks (WANs).
  • the communication network also may include analog or digital wired and wireless telephone networks, e.g., public switched telephone networks (PSTN), integrated services digital networks (ISDN), various types of digital subscriber lines (xDSL), advance mobile telephone service (AMPS), global system for mobile communications (GSM), code division multiple access (CDMA), radio, cable, satellite, and/or other delivery mechanisms for carrying voice or non-voice data.
  • PSTN public switched telephone networks
  • ISDN integrated services digital networks
  • xDSL various types of digital subscriber lines
  • AMPS advance mobile telephone service
  • GSM global system for mobile communications
  • CDMA code division multiple access
  • radio cable, satellite, and/or other delivery mechanisms for carrying voice or non-voice data.
  • the system services may include one or more communications systems in addition to the components described above, such as, for example, an analog, a digital, or a cellular telephone, whether wired or wireless, a program, a piece of code, an instruction, a device, a computer, a computer system, or a combination thereof, for independently or collectively sending or receiving communications.
  • Implementations of communications systems may exist permanently or temporarily in any type of machine, component, physical or virtual equipment, storage medium, or propagated signal capable of sending or receiving voice communications.
  • FIGS. 2 and 3 describe systems generally similar to system 100 of FIG. 1 but that illustrate the inclusion of specific secured services (i.e., an email service and a synchronization service, respectively) that may be accessed by the client 110 .
  • specific secured services i.e., an email service and a synchronization service, respectively
  • the client 110 and the broker service 150 may communicate with a secured service 170 that includes an email service 210 .
  • the email service 210 may be used to transmit and to receive electronic messages and may include a mailbox 211 in which received messages may be stored.
  • the email service 210 also may include a mail transfer protocol service 213 that may be used to send an electronic message, using a protocol such as, for example, the simple mail transfer protocol (SMTP).
  • the email service 210 also may include a retrieval service used to retrieve email messages from the mailbox 211 under a protocol, such as, for example, the Internet message access protocol (IMAP), and/or the post office protocol (POP) 215 .
  • IMAP Internet message access protocol
  • POP post office protocol
  • a system 300 is illustrated in which the client 110 is configured to access data A′ (e.g., a modified calendar, a modified task list) that may, for example, include a modified version of original data A (e.g., an original calendar, an original task list).
  • Data A′ may be stored, for example, in a magnetic and/or an optical storage medium and/or any other acceptable storage medium accessible to the client 110 (e.g., storage medium 111 ), whether internal or external to the client 110 .
  • the client 110 and the broker service 150 may communicate with a secured service 170 that includes a synchronization service 310 (e.g., the calendar synchronization service or the task list synchronization service mentioned above).
  • a synchronization service 310 e.g., the calendar synchronization service or the task list synchronization service mentioned above.
  • the synchronization service 310 may include a sync service 311 that may be configured, for example, to access original data A and to synchronize that original data A with modified data A′.
  • Data A may be stored, for example, in a disk array (e.g., disk array 313 ) and/or any other acceptable storage medium accessible to the sync service 311 , whether internal or external to the sync service 311 .
  • FIG. 4 illustrates a systematic process 400 that may be implement by the system of FIG. 1 to provide a client 110 having an established persistent connection 101 with access to a secured service 170 .
  • Process 400 provides that the client 110 may establish a persistent connection 101 with the persistent connection service 130 and the persistent connection service 130 may authenticate the client 110 (hereinafter referred to as keystone authentication) based on authentication information provided by the client 110 (step 411 ).
  • the persistent connection service 130 may or may not include the broker service 150 .
  • the client 110 may request access to a desired secured service 170 (step 413 ).
  • the client 110 may request the connection to the secured service 170 by sending the request for that access to the persistent connection service 130 .
  • the persistent connection service 130 When embodied separately from the broker service, the persistent connection service 130 typically forwards the connection request to the broker service 150 at a connection request address associated with the broker service 150 .
  • the persistent connection service 130 may leverage the keystone authentication to authenticate the client 110 to the broker service 150 , without requiring the client 110 to provide duplicative or additional authentication information.
  • the broker service 150 may search for and determine an acceptable secured service 170 (e.g., an email service if the client 110 wishes to send or receive an electronic message) (step 420 ) and may broker a connection with the secured service 170 (examples of brokering are described in detail with respect to FIGS. 6 and 7 ) (step 431 ).
  • Authorization information (described in greater detail below) may be determined during the brokering of the connection (step 431 ) and the keystone authentication may be leveraged to authenticate the client 110 to the secured service 170 .
  • the broker service 150 may perform a recovery procedure (step 440 ).
  • the recovery procedure (step 440 ) may include determining whether it is appropriate to retry brokering with the secured service 170 (e.g., a retry may occur where brokering has failed less than a predetermined threshold of times) (step 441 ), and, if determined appropriate, the broker service 150 may attempt again to broker a connection with the secured service 170 (step 431 ).
  • the broker service 150 may determine whether to search for another secured service 170 with which to broker a connection (e.g., another secured service 170 may be sought where less than a predetermined threshold of time has elapsed since the client 110 requested access to a secured service 170 ) (step 443 ). If determined appropriate, the broker service 150 may search for a different secured service 170 (step 420 ), or, if not, the broker service 150 may communicate to the client 110 a failure successfully to broker a connection with a secured service 170 (step 445 ) after which the client may or may not request the broker service to broker another connection (step 413 ).
  • another secured service 170 may be sought where less than a predetermined threshold of time has elapsed since the client 110 requested access to a secured service 170 .
  • the broker service 150 may provide the authorization information determined during the brokering process to the client 110 (step 435 ).
  • the authorization information may be used by the client 110 to contact the secured service 170 .
  • the secured service 170 may receive the authorization information and may determine if the authorization information satisfies one or more connection constraints (examples of constraints are described below and with respect to FIG. 8 ) (step 453 ).
  • the secured service 170 may not accept the authorization information and may refuse the connection.
  • the client 110 may determine whether it is appropriate to retry connecting using the authorization information (step 460 ). For instance, it may be appropriate to retry where the authorization information has been refused less than a predetermined number of times and/or where the connection constraints associated with the authorization information are not known to be violated. If determined appropriate, the client 110 may again provide the authorization information to the secured service 170 (step 451 ). Otherwise, the client 110 may or may not receive a report of the failed connection (step 470 ) and/or request that the broker service 150 broker a connection with another secured service 170 (step 413 ).
  • the secured service 170 may accept the authorization information and may permit the client 110 to connect to the secured service 170 (step 455 ).
  • connection constraints may include, for example, a constraint that the authorization information has been used (e.g., received by the secured service 170 and/or accepted by the secured service 170 ) no more than a predetermined number of times (e.g., once), a constraint that the authorization information should be used within a predetermined time window (e.g., thirty-seconds from the time of determination of the authorization information), and/or a constraint that the authorization information be received from the same client 110 for whom the connection was brokered.
  • a constraint that the authorization information has been used (e.g., received by the secured service 170 and/or accepted by the secured service 170 ) no more than a predetermined number of times (e.g., once), a constraint that the authorization information should be used within a predetermined time window (e.g., thirty-seconds from the time of determination of the authorization information), and/or a constraint that the authorization information be received from the same client 110 for whom the connection was brokered.
  • the authorization information may include constraint information that may be used to determine if the authorization information satisfies the connection constraints.
  • the authorization information may include a password and the password may include some or all of the constraint information.
  • the constraint information may include an indication of a number of uses for which the authorization information may be considered valid (e.g., 1, 2, 3), an indication of a time when the authorization information was determined (e.g., a time stamp), and/or an indication of a window of time relative to the time stamp during which the authorization information may be considered valid.
  • the constraint information also may include information indicative of an identity of the client 110 for whom the authorization information was determined.
  • the password may include constraint information, such as, a screen name, a login name, a biometric signature, and/or a digital signature of the client 110 , or any combination of these.
  • the password also may contain constraint information indicating that the password is valid for only one use, is valid only if used within thirty-seconds of determination of the password, and/or is valid only if received from the client 110 for whom the password was determined (e.g., a one-time use, time-limited, designated-user password, hereinafter a constrained password).
  • FIG. 5 illustrates a process 410 by which the client 110 may establish a persistent connection 101 and may request a connection to a secured service 170 , and that may be used in one implementation of the process of FIG. 4 .
  • the process 410 includes establishing a persistent connection 101 between the client 110 and a persistent connection service 130 (step 505 ). Before allowing the client 110 to establish the persistent connection 101 , the persistent connection service 130 may require that the client 110 provide authentication information by which the persistent connection service 130 may authenticate the client 110 (the keystone authentication). Thereafter, the client 110 may communicate a request to the persistent connection service 130 to connect to a secured service 170 , which request may include information indicating a secured service 170 to which connection is desired (step 510 ).
  • the persistent connection service 130 may forward the connection request to the broker service 150 (step 515 ) and also may leverage the keystone authentication to authenticate the client 110 to the broker service 150 , e.g., without provision of duplicative or additional authentication information by the client 110 .
  • FIG. 6 illustrates an exemplary implementation of the process 430 of FIG. 4 that may be used to broker a connection to the secured service 170 .
  • the broker service 150 may authenticate the client 110 based on the persistent connection 101 of the client 110 to the persistent connection service 130 (e.g., by leveraging the keystone authentication) (step 605 ).
  • the broker service 150 then may generate/determine a constrained password (step 610 ) and also may generate a request-to-honor for the constrained password that may include the constrained password (step 615 ).
  • the broker service 150 may submit the request-to-honor to the secured service 170 and may leverage the persistent connection 101 of the client 110 to authenticate the client 110 to the secured service 170 (step 620 ).
  • the secured service 170 may reject the request-to-honor (step 625 ), which may cause the broker service 150 to perform a recovery procedure (step 630 ) that generally may be similar to recovery procedure 440 of FIG. 4 . Otherwise, if the request to honor is accepted by the secured service 170 (step 625 ), then the secured service 170 may store the constrained password and reply to the broker service 150 with a target connection point (step 635 ), such as, for example, an IP address, a World Wide Web address, a port, a socket, and/or any combination of these.
  • the broker service 150 may communicate the target connection point and the constrained password to the client 110 (e.g., by communicating the target connection point and the constrained password to the persistent connection service 130 to forward to the client 110 ) (step 640 ).
  • FIG. 7 illustrates another process 430 that may be used to broker a connection to the secured service 170 and to implement the process of FIG. 4 .
  • the broker service 150 may authenticate the client 110 based on the persistent connection 101 of the client 110 to the persistent connection service 130 (e.g., by leveraging the keystone authentication) (step 705 ).
  • the broker service 150 then may generate a connection authorization request (step 710 ) and may submit the connection authorization request to the secured service 170 while leveraging the persistent connection 101 of the client 110 to authenticate the client 110 to the secured service 170 (step 715 ).
  • the secured service 170 may reject the connection authorization request (step 720 ), which may cause the broker service 150 to perform a recovery procedure (step 725 ) that generally may be similar to recovery procedure 440 of FIG.
  • the secured service 170 may reply to the authorization request by providing to the broker service 150 a constrained password and/or a target connection point that the secured service 170 also may retain and store (step 730 ).
  • the broker service 150 may communicate the target connection point and the constrained password to the client 110 (e.g., by communicating the target connection point and the constrained password to the persistent connection service 130 to forward to the client 110 ) (step 735 ).
  • FIG. 8 illustrates a process for establishing a connection to the secured system by presenting the constrained password to the secured system that may be used in one implementation of the process of FIG. 4 .
  • the client 110 may present the constrained password to the secured service 170 at the connection point (step 805 ) and the secured service 170 may receive the constrained password at the connection point (step 810 ).
  • the secured service 170 may determine if the constrained password satisfies the connection constraints, such as, for example, a constraint that the constrained password match the constrained password previously stored, that the constrained password has not previously been presented and/or used (e.g., the constrained password may be a one-time use password), that the constrained password is presented within an acceptable time window (e.g., the constrained password may be a time limited password) (step 810 ).
  • the secured service 170 may refuse the connection if the constrained password does not satisfy the connection constraints, and the client 110 then may execute a retry procedure (step 815 ) that may correspond generally to step 460 of the process of FIG. 4 . Otherwise, if the constrained password does satisfy the connection constraints (step 810 ), then the secured service 170 may allow the connection to be established (step 820 ).

Landscapes

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

Abstract

Leveraging a persistent connection to provide a client access to a secured service may include establishing a persistent connection with a client in response to a first request from the client, and brokering a connection between the client and a secured service based on a second request from the client by leveraging the persistent connection with the client. The brokering may occur before the client attempts to connect to the secured service directly and the connection may be established between the client and the secured service without provision by the client of authentication information duplicative or additional to authentication information provided by the client to establish the persistent connection.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • The present application is a continuation of U.S. patent application Ser. No. 13/620,822, filed Sep. 15, 2012, which is a continuation of U.S. patent application Ser. No. 13/453,178, filed Apr. 23, 2012 now issued as U.S. Pat. No. 8,689,312, which is a continuation of U.S. patent application Ser. No. 12/720,959, filed Mar. 10, 2010 now issued as U.S. Pat. No. 8,176,541, which is a continuation of U.S. application Ser. No. 11/767,680, filed Jun. 25, 2007 now issued as U.S. Pat. No. 7,707,627, which is a continuation of U.S. application Ser. No. 09/894,919, filed Jun. 29, 2001 now issued as U.S. Pat. No. 7,237,257, which claims priority from U.S. application Ser. No. 60/282,857, filed Apr. 11, 2001 now expired. Each of the aforementioned patent(s) and application(s) are hereby incorporated by reference in their entirety.
  • TECHNICAL FIELD
  • This invention relates to providing access to a secured service.
  • BACKGROUND
  • A secured service may require the provision of authentication information before allowing a connection to be established from a client seeking access. Various secured services may be accessed simultaneously by one client, each generally requiring the accessing client to provide authentication information that is duplicative or additional to the authentication information provided to the other secured services before allowing access to be established. For instance, a client may establish a connection with a first secured service by providing the first secured service with first authentication information. Thereafter, the same client seeking access to other secured services may be required again to provide those other secured services with second authentication information that is duplicative and/or additional to the first authentication information provided to the first secured service.
  • SUMMARY
  • In one general aspect, leveraging a persistent connection to provide a client access to a secured service includes establishing a persistent connection with the client in response to a first request from the client, and brokering a connection between the client and a secured service based on a second request from the client by leveraging the persistent connection with the client. The brokering may occur before the client attempts to connect to the secured service directly and the connection may be established between the client and the secured service without provision by the client of authentication information duplicative or additional to authentication information provided by the client to establish the persistent connection.
  • Implementations may include one or more of the following features. For example, establishing the persistent connection may include receiving keystone authentication information from the client, authenticating the client based on the keystone authentication information to provide a keystone authentication, and establishing the persistent connection with the client based on the keystone authentication.
  • Leveraging the persistent connection may include receiving the second request from the client for connection to the secured service after the persistent connection to the client is established. Leveraging the persistent connection also may include providing a leveraged authentication that may be used to establish the connection with the secured service and that is based on the keystone authentication associated with the persistent connection. The keystone authentication also may be used to provide the leveraged authentication without provision by the client of authentication information duplicative or additional to the keystone authentication information used to establish the persistent connection.
  • The persistent connection may be established between the client and a persistent connection service while the connection between the client and the secured service may be brokered by a broker service. The broker service may receive from the persistent connection service at a connection request address a communication based on the second request from the client, and the persistent connection service may authenticate the client to the broker service by leveraging the persistent connection.
  • Brokering the connection to the secured service may include communicating as an intermediary with the client and the secured service based on the second request from the client so that the client may obtain authorization information that may be used to establish the connection to the secured service. For example, in one implementation brokering includes determining the authorization information based on the second request from the client, and communicating to the secured service an indication that the client desires to connect to the secured service, in which the indication includes the authorization information. A response is received from the secured service indicating that the client may be allowed to establish the connection to the secured service by presenting the authorization information to the secured service, and the authorization information is communicated to enable the client to present the authorization information to the secured service to establish the connection with the secured service.
  • In another implementation, brokering includes communicating to the secured service an indication that the client desires to connect to the secured service, receiving a response from the secured service indicating that the secured service may accept a connection from the client, in which the response includes the authorization information, and communicating the authorization information to enable the client to present the authorization information to the secured service to establish the connection with the secured service. The authorization information may be determined by the secured service.
  • The authorization information may be ineffective to establish a connection with the secured service if the connection constraints are not satisfied by the constraint information. The connection constraints may include, for example, a constraint to limit the number of uses for the authorization information to a predetermined number (e.g., a one-time-use password), and/or information indicating a number of uses to which the authorization information has been put. The connection constraints also may include a constraint that the authorization information be used within a predetermined time window, and/or a constraint that the authorization information be presented to the secured service by a client for whom the connection was brokered.
  • These general and specific aspects may be implemented using a method, a system, or a computer program, or any combination of systems, methods, and computer programs. Other features will be apparent from the description, the drawings, and the claims.
  • DESCRIPTION OF DRAWINGS
  • FIG. 1 is a is a schematic diagram of a system configured to provide a client having an established persistent connection with access to a secured service.
  • FIG. 2 is a schematic diagram illustrating a system, as in FIG. 1, in which the secured service is an IMAP mail service.
  • FIG. 3 is a schematic diagram illustrating a system, as in FIG. 1, in which the secured service is a synchronization service.
  • FIG. 4 is a schematic flow diagram illustrating a systematic process implementable by the system of FIG. 1 for providing a client having an established persistent connection with access to a secured service.
  • FIG. 5 is a schematic flow diagram illustrating a connection process that may be used to establish a persistent connection, as provided generally in FIG. 4.
  • FIGS. 6 and 7 are schematic flow diagrams illustrating processes that may be used to broker a connection with a secured service, as provided generally in FIG. 4.
  • FIG. 8 is a schematic flow diagram illustrating a process that may be used to establish the brokered connection with the secured service, as provided generally in FIG. 4.
  • Like reference symbols in the various drawings may indicate like elements.
  • DETAILED DESCRIPTION
  • For illustrative purposes, a process is described for leveraging a persistent connection to provide access to a secured service, and systems and software for implementing the process also are described. For clarity of exposition, the description generally proceeds from an account of general elements and their high level relationship to a detailed account of illustrative roles, configurations, and components of the elements.
  • Referring to FIG. 1, a generalized system 100 may be used to permit a client 110 to leverage a persistent connection 101 to a persistent connection service 130 by which access may be gained to a secured service 170, in which gaining access to the secured service 170 may or may not include establishing another persistent connection with the secured service 170. Exemplary components of the system 100 are described in greater detail below.
  • The system 100 of FIG. 1 generally includes the client 110, the persistent connection service 130, a broker service 150, and one or more secured services 170.
  • The client 110 generally may include any device, system, and/or piece of code that relies on another service to perform an operation. For example, the client 110 may include a Web browser, an email client, a synchronization client (e.g., a calendar synchronization client, a task list synchronization client), an instant messaging (IM) client, a software productivity application (e.g., a word processor, a spreadsheet), and/or an operating system or operating system kernel. The client 110 also may be configured to access data that may be stored, for example, in a magnetic and/or an optical storage medium and/or any other acceptable storage medium accessible to the client 110 (e.g., storage medium 111).
  • The persistent connection service 130 may include, for example, an IM service, an email service (e.g., an IMAP service), a login service, an authentication service, an authorization service, and/or any other service or combination of services configured to provide a persistent connection, while the broker service 150 may include, for example, any device, system, and/or piece of code configured to broker a connection as hereinafter described between a client with a persistent connection and a secured service. A secured service 170 generally may include, for example, any device, system, and/or piece of code configured to perform an operation requested by a client 110 (e.g., a Web browser, another service). For example, the secured service 170 may include an email service, a synchronization service (e.g., a calendar synchronization service, a task list synchronization service), a print service, a file access service, an IM service, an operating system, an operating system kernel, an authentication service, an authorization service, and/or any combination of these services. The secured service 170 also may include a persistent connection service.
  • One or more other services may be included in the components of system 100 and/or these components (hereinafter the system services) may be included as part of one or more other services. For example, the system services may include or be included in a general-purpose or a special-purpose computer (e.g., a personal computer, a personal digital assistant (PDAs), or a device specifically programmed to perform certain tasks), at least one Local Area Network (LAN), and/or at least one Wide Area Network (WAN). Either way, the response to and execution of instructions received by any or all of the system services may be controlled by, for example, a program, a piece of code, an instruction, a device, a computer system, or a combination thereof, for independently or collectively instructing the services to interact and operate as described herein.
  • A persistent connection 101 may be established between the client 110 and the persistent connection service 130 and the persistent connection service 130 may be configured to communicate with the broker service 150, or the broker service 150 may be included as a component of the persistent connection service 130. The broker service 150 and the client 110 may be configured to communicate with the one or more secured services 170.
  • The persistent connection between the client 110 and the persistent connection service 130 as well as other communications between the system services generally occur over a communications network. The communication network typically allows direct or indirect communication between the system services (e.g., between the client 110, the persistent connection service 130, the broker service 150, and/or the secured services 170), irrespective of physical or logical separation. The communication network may include a secured communication network (e.g., a communication network protected by a firewall) that may include communication paths 151 and 153 over which the broker service 150 may communicate with the persistent connection service 130 and/or the secured services 170, respectively. The secured communication network, for example, may isolate the broker service 150 from the client 110 so that the broker service 150 is not visible to the client 110.
  • The communication network may include various mechanisms for delivering voice and/or non-voice data, such as, for example, the transport connection protocol (TCP), the Internet protocol (IP), the World Wide Web, one or more local area networks (LANs) and/or one or more wide area networks (WANs). The communication network also may include analog or digital wired and wireless telephone networks, e.g., public switched telephone networks (PSTN), integrated services digital networks (ISDN), various types of digital subscriber lines (xDSL), advance mobile telephone service (AMPS), global system for mobile communications (GSM), code division multiple access (CDMA), radio, cable, satellite, and/or other delivery mechanisms for carrying voice or non-voice data.
  • To communicate voice and/or non-voice data, the system services may include one or more communications systems in addition to the components described above, such as, for example, an analog, a digital, or a cellular telephone, whether wired or wireless, a program, a piece of code, an instruction, a device, a computer, a computer system, or a combination thereof, for independently or collectively sending or receiving communications. Implementations of communications systems may exist permanently or temporarily in any type of machine, component, physical or virtual equipment, storage medium, or propagated signal capable of sending or receiving voice communications.
  • FIGS. 2 and 3 describe systems generally similar to system 100 of FIG. 1 but that illustrate the inclusion of specific secured services (i.e., an email service and a synchronization service, respectively) that may be accessed by the client 110.
  • Referring to FIG. 2, a system 200 is illustrated in which the client 110 and the broker service 150 may communicate with a secured service 170 that includes an email service 210. The email service 210 may be used to transmit and to receive electronic messages and may include a mailbox 211 in which received messages may be stored. The email service 210 also may include a mail transfer protocol service 213 that may be used to send an electronic message, using a protocol such as, for example, the simple mail transfer protocol (SMTP). The email service 210 also may include a retrieval service used to retrieve email messages from the mailbox 211 under a protocol, such as, for example, the Internet message access protocol (IMAP), and/or the post office protocol (POP) 215.
  • Referring to FIG. 3, a system 300 is illustrated in which the client 110 is configured to access data A′ (e.g., a modified calendar, a modified task list) that may, for example, include a modified version of original data A (e.g., an original calendar, an original task list). Data A′ may be stored, for example, in a magnetic and/or an optical storage medium and/or any other acceptable storage medium accessible to the client 110 (e.g., storage medium 111), whether internal or external to the client 110. The client 110 and the broker service 150 may communicate with a secured service 170 that includes a synchronization service 310 (e.g., the calendar synchronization service or the task list synchronization service mentioned above). The synchronization service 310 may include a sync service 311 that may be configured, for example, to access original data A and to synchronize that original data A with modified data A′. Data A may be stored, for example, in a disk array (e.g., disk array 313) and/or any other acceptable storage medium accessible to the sync service 311, whether internal or external to the sync service 311.
  • FIG. 4 illustrates a systematic process 400 that may be implement by the system of FIG. 1 to provide a client 110 having an established persistent connection 101 with access to a secured service 170. Process 400 provides that the client 110 may establish a persistent connection 101 with the persistent connection service 130 and the persistent connection service 130 may authenticate the client 110 (hereinafter referred to as keystone authentication) based on authentication information provided by the client 110 (step 411). The persistent connection service 130 may or may not include the broker service 150.
  • Later, after the persistent connection 101 is established, the client 110 may request access to a desired secured service 170 (step 413). For example, the client 110 may request the connection to the secured service 170 by sending the request for that access to the persistent connection service 130.
  • When embodied separately from the broker service, the persistent connection service 130 typically forwards the connection request to the broker service 150 at a connection request address associated with the broker service 150. The persistent connection service 130 may leverage the keystone authentication to authenticate the client 110 to the broker service 150, without requiring the client 110 to provide duplicative or additional authentication information.
  • Following receipt of the connection request, the broker service 150 may search for and determine an acceptable secured service 170 (e.g., an email service if the client 110 wishes to send or receive an electronic message) (step 420) and may broker a connection with the secured service 170 (examples of brokering are described in detail with respect to FIGS. 6 and 7) (step 431). Authorization information (described in greater detail below) may be determined during the brokering of the connection (step 431) and the keystone authentication may be leveraged to authenticate the client 110 to the secured service 170.
  • If the broker service 150 is unable to broker a connection with the determined secured service 170 (step 433), then the broker service 150 may perform a recovery procedure (step 440). The recovery procedure (step 440) may include determining whether it is appropriate to retry brokering with the secured service 170 (e.g., a retry may occur where brokering has failed less than a predetermined threshold of times) (step 441), and, if determined appropriate, the broker service 150 may attempt again to broker a connection with the secured service 170 (step 431). Otherwise, the broker service 150 may determine whether to search for another secured service 170 with which to broker a connection (e.g., another secured service 170 may be sought where less than a predetermined threshold of time has elapsed since the client 110 requested access to a secured service 170) (step 443). If determined appropriate, the broker service 150 may search for a different secured service 170 (step 420), or, if not, the broker service 150 may communicate to the client 110 a failure successfully to broker a connection with a secured service 170 (step 445) after which the client may or may not request the broker service to broker another connection (step 413).
  • If, however, the broker service 150 successfully brokered a connection to the secured service 170 (step 433), then the broker service 150 may provide the authorization information determined during the brokering process to the client 110 (step 435). The authorization information may be used by the client 110 to contact the secured service 170. The secured service 170 may receive the authorization information and may determine if the authorization information satisfies one or more connection constraints (examples of constraints are described below and with respect to FIG. 8) (step 453).
  • If the connection constraints are not satisfied (step 453), then the secured service 170 may not accept the authorization information and may refuse the connection. Upon refusal of the connection by the secured service 170, the client 110 may determine whether it is appropriate to retry connecting using the authorization information (step 460). For instance, it may be appropriate to retry where the authorization information has been refused less than a predetermined number of times and/or where the connection constraints associated with the authorization information are not known to be violated. If determined appropriate, the client 110 may again provide the authorization information to the secured service 170 (step 451). Otherwise, the client 110 may or may not receive a report of the failed connection (step 470) and/or request that the broker service 150 broker a connection with another secured service 170 (step 413).
  • By contrast, if the secured service 170 determines that the authorization information satisfies the connection constraints (step 453), then the secured service 170 may accept the authorization information and may permit the client 110 to connect to the secured service 170 (step 455).
  • The connection constraints, mentioned above with respect to step 453, may include, for example, a constraint that the authorization information has been used (e.g., received by the secured service 170 and/or accepted by the secured service 170) no more than a predetermined number of times (e.g., once), a constraint that the authorization information should be used within a predetermined time window (e.g., thirty-seconds from the time of determination of the authorization information), and/or a constraint that the authorization information be received from the same client 110 for whom the connection was brokered.
  • The authorization information may include constraint information that may be used to determine if the authorization information satisfies the connection constraints. Moreover, the authorization information may include a password and the password may include some or all of the constraint information. The constraint information may include an indication of a number of uses for which the authorization information may be considered valid (e.g., 1, 2, 3), an indication of a time when the authorization information was determined (e.g., a time stamp), and/or an indication of a window of time relative to the time stamp during which the authorization information may be considered valid. The constraint information also may include information indicative of an identity of the client 110 for whom the authorization information was determined. For example, the password may include constraint information, such as, a screen name, a login name, a biometric signature, and/or a digital signature of the client 110, or any combination of these. The password also may contain constraint information indicating that the password is valid for only one use, is valid only if used within thirty-seconds of determination of the password, and/or is valid only if received from the client 110 for whom the password was determined (e.g., a one-time use, time-limited, designated-user password, hereinafter a constrained password).
  • FIG. 5 illustrates a process 410 by which the client 110 may establish a persistent connection 101 and may request a connection to a secured service 170, and that may be used in one implementation of the process of FIG. 4. The process 410 includes establishing a persistent connection 101 between the client 110 and a persistent connection service 130 (step 505). Before allowing the client 110 to establish the persistent connection 101, the persistent connection service 130 may require that the client 110 provide authentication information by which the persistent connection service 130 may authenticate the client 110 (the keystone authentication). Thereafter, the client 110 may communicate a request to the persistent connection service 130 to connect to a secured service 170, which request may include information indicating a secured service 170 to which connection is desired (step 510). The persistent connection service 130 may forward the connection request to the broker service 150 (step 515) and also may leverage the keystone authentication to authenticate the client 110 to the broker service 150, e.g., without provision of duplicative or additional authentication information by the client 110.
  • FIG. 6 illustrates an exemplary implementation of the process 430 of FIG. 4 that may be used to broker a connection to the secured service 170. As illustrated by FIG. 6, the broker service 150 may authenticate the client 110 based on the persistent connection 101 of the client 110 to the persistent connection service 130 (e.g., by leveraging the keystone authentication) (step 605). The broker service 150 then may generate/determine a constrained password (step 610) and also may generate a request-to-honor for the constrained password that may include the constrained password (step 615). The broker service 150 may submit the request-to-honor to the secured service 170 and may leverage the persistent connection 101 of the client 110 to authenticate the client 110 to the secured service 170 (step 620). The secured service 170 may reject the request-to-honor (step 625), which may cause the broker service 150 to perform a recovery procedure (step 630) that generally may be similar to recovery procedure 440 of FIG. 4. Otherwise, if the request to honor is accepted by the secured service 170 (step 625), then the secured service 170 may store the constrained password and reply to the broker service 150 with a target connection point (step 635), such as, for example, an IP address, a World Wide Web address, a port, a socket, and/or any combination of these. The broker service 150 may communicate the target connection point and the constrained password to the client 110 (e.g., by communicating the target connection point and the constrained password to the persistent connection service 130 to forward to the client 110) (step 640).
  • FIG. 7 illustrates another process 430 that may be used to broker a connection to the secured service 170 and to implement the process of FIG. 4. The broker service 150 may authenticate the client 110 based on the persistent connection 101 of the client 110 to the persistent connection service 130 (e.g., by leveraging the keystone authentication) (step 705). The broker service 150 then may generate a connection authorization request (step 710) and may submit the connection authorization request to the secured service 170 while leveraging the persistent connection 101 of the client 110 to authenticate the client 110 to the secured service 170 (step 715). The secured service 170 may reject the connection authorization request (step 720), which may cause the broker service 150 to perform a recovery procedure (step 725) that generally may be similar to recovery procedure 440 of FIG. 4. Otherwise, if the connection authorization request is accepted by the secured service 170 (step 720), then the secured service 170 may reply to the authorization request by providing to the broker service 150 a constrained password and/or a target connection point that the secured service 170 also may retain and store (step 730). The broker service 150 may communicate the target connection point and the constrained password to the client 110 (e.g., by communicating the target connection point and the constrained password to the persistent connection service 130 to forward to the client 110) (step 735).
  • FIG. 8 illustrates a process for establishing a connection to the secured system by presenting the constrained password to the secured system that may be used in one implementation of the process of FIG. 4. The client 110 may present the constrained password to the secured service 170 at the connection point (step 805) and the secured service 170 may receive the constrained password at the connection point (step 810). Thereafter, the secured service 170 may determine if the constrained password satisfies the connection constraints, such as, for example, a constraint that the constrained password match the constrained password previously stored, that the constrained password has not previously been presented and/or used (e.g., the constrained password may be a one-time use password), that the constrained password is presented within an acceptable time window (e.g., the constrained password may be a time limited password) (step 810). The secured service 170 may refuse the connection if the constrained password does not satisfy the connection constraints, and the client 110 then may execute a retry procedure (step 815) that may correspond generally to step 460 of the process of FIG. 4. Otherwise, if the constrained password does satisfy the connection constraints (step 810), then the secured service 170 may allow the connection to be established (step 820).
  • Other implementations are within the scope of the following claims.

Claims (20)

What is claimed is:
1. A computer program stored on a computer readable medium or a propagated signal for leveraging a persistent connection to provide a client access to a secured service, the computer program comprising:
an input code segment that causes a computer to receive input from a client;
a persistent connection code segment that causes the computer to establish a persistent connection with the client in response to a first request received through the input code segment from the client; and
a broker code segment that causes the computer to broker a connection between the client and a secured service based on a second request received through the input code segment from the client by leveraging the persistent connection with the client.
2. The computer program of claim 1 wherein:
the persistent connection is established based on keystone authentication information provided by the client; and
the broker code segment comprises a transparent authentication code segment that causes the computer to leverage the keystone authentication to authenticate the client without provision by the client of authentication information duplicative or additional to the keystone authentication information used to establish the persistent connection.
3. The computer program of claim 1 wherein:
the persistent connection is established based on keystone authentication information provided by the client; and
the broker code segment comprises a transparent authentication code segment that causes the computer to leverage the keystone authentication to authenticate the client without provision by the client of authentication information duplicative of the keystone authentication information used to establish the persistent connection.
4. The computer program of claim 1 wherein:
the persistent connection is established based on keystone authentication information provided by the client; and
the broker code segment comprises a transparent authentication code segment that causes the computer to leverage the keystone authentication to authenticate the client without provision by the client of authentication information additional to the keystone authentication information used to establish the persistent connection.
5. The computer program of claim 1 wherein the broker code segment causes the computer to broker the connection between the client and the secured service before the client attempts to connect to the secured service directly.
6. The computer program of claim 1 wherein the persistent connection code segment comprises:
a receiving code segment that causes the computer to receive keystone authentication information from the client;
a keystone authentication code segment that causes the computer to authenticate the client based on the keystone authentication information and to provide a keystone authentication associated with the persistent connection; and
a connection code segment that causes the computer to establish the persistent connection with the client based on the keystone authentication.
7. The computer program of claim 6 wherein the broker code segment includes a leveraging code segment that causes the computer to receive the second request from the client for connection to the secured service after the persistent connection to the client is established.
8. The computer program of claim 7 wherein the leveraging code segment further comprises:
a leveraged authentication code segment that causes the computer to provide a leveraged authentication based on the keystone authentication associated with the persistent connection; and
a leveraged connection code segment that causes the computer to use the leveraged authentication to establish the connection with the secured service.
9. The computer program of claim 8 wherein the leveraged authentication code segment comprises a transparent authentication code segment that causes the computer to provide the leveraged authentication based on the keystone authentication without provision by the client of authentication information duplicative or additional to the keystone authentication information used to establish the persistent connection.
10. The computer program of claim 1 wherein:
the persistent connection code segment includes a first partition code segment that causes the computer to establish the persistent connection between the client and a persistent connection service in response to the first request from the client; and
the broker code segment includes a second partition code segment that causes the computer to use a broker service to broker the connection between the client and the secured service based on the second request from the client.
11. The computer program of claim 10 wherein the second partition code segment comprises a reception code segment that causes the computer to receive from the persistent connection service at a connection request address a communication based on the second request from the client.
12. The computer program of claim 1 wherein the broker code segment comprises:
a liaison code segment that causes the computer program to communicate as an intermediary with the client and the secured service based on the second request from the client so that the client may obtain authorization information that may be used to establish the connection to the secured service;
a determining code segment that causes the computer to determine the authorization information based on the second request from the client;
a communication code segment that causes the computer to communicate to the secured service an indication that the client desires to connect to the secured service, wherein the indication comprises the authorization information;
a receiving code segment that causes the computer to receive a response from the secured service indicating that the client may be allowed to establish the connection to the secured service by presenting the authorization information to the secured service; and
an authorization code segment that causes the computer to communicate the authorization information to enable the client to present the authorization information to the secured service to establish the connection with the secured service.
13. The computer program of claim 1 wherein the broker code segment further comprises:
a liaison code segment that causes the computer program to communicate as an intermediary with the client and the secured service based on the second request from the client so that the client may obtain authorization information that may be used to establish the connection to the secured service;
a communication code segment that causes the computer to communicate to the secured service an indication that the client desires to connect to the secured service;
a receiving code segment that causes the computer to receive a response from the secured service indicating that the secured service may accept a connection from the client, wherein the response includes the authorization information;
an authorization code segment that causes the computer to communicate the authorization information to enable the client to present the authorization information to the secured service to establish the connection with the secured service.
14. The computer program of claim 13 wherein the response received by the computer from the secured service includes authorization information determined by the secured service.
15. The computer program of claim 1 wherein:
the broker code segment includes a liaison code segment that causes the computer program to communicate as an intermediary with the client and the secured service based on the second request from the client so that the client may obtain authorization information that may be used to establish the connection to the secured service;
the authorization information comprises constraint information; and
the authorization information may be ineffective to establish a connection with the secured service if the connection constraints are not satisfied by the constraint information.
16. The computer program of claim 15 wherein the connection constraints include a constraint that limits a number of uses for the authorization information to a predetermined threshold number.
17. The computer program of claim 16 wherein the connection constraints include a one-time-use password.
18. The computer program of claim 15 wherein the connection constraints include a constraint that the authorization information be used within a predetermined time window.
19. The computer program of claim 15 wherein the connection constraints include a constraint that the authorization information be presented to the secured service by a client for whom the connection was brokered.
20. A method of leveraging a persistent connection to provide a client access to a secured service, the method comprising:
receiving a first request from a client;
establishing a persistent connection with the client in response to the first request from the client;
receiving a second request from the client; and
brokering a connection between the client and a secured service based on the second request from the client by leveraging the persistent connection with the client.
US14/320,119 2001-04-11 2014-06-30 Leveraging a persistent connection to access a secured service Abandoned US20140317695A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US14/320,119 US20140317695A1 (en) 2001-04-11 2014-06-30 Leveraging a persistent connection to access a secured service
US14/322,699 US9461981B2 (en) 2001-04-11 2014-07-02 Leveraging a persistent connection to access a secured service
US14/586,833 US9197627B2 (en) 2001-04-11 2014-12-30 Leveraging a persistent connection to access a secured service
US14/586,823 US9197626B2 (en) 2001-04-11 2014-12-30 Leveraging a persistent connection to access a secured service

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US28285701P 2001-04-11 2001-04-11
US09/894,919 US7237257B1 (en) 2001-04-11 2001-06-29 Leveraging a persistent connection to access a secured service
US11/767,680 US7707627B2 (en) 2001-04-11 2007-06-25 Leveraging a persistent connection to access a secured service
US12/720,959 US8176541B1 (en) 2001-04-11 2010-03-10 Leveraging a persistent connection to access a secured service
US13/453,178 US8689312B2 (en) 2001-04-11 2012-04-23 Leveraging a persistent connection to access a secured service
US13/620,822 US8769645B2 (en) 2001-04-11 2012-09-15 Brokering a connection to access a secured service
US14/320,119 US20140317695A1 (en) 2001-04-11 2014-06-30 Leveraging a persistent connection to access a secured service

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/620,822 Continuation US8769645B2 (en) 2001-04-11 2012-09-15 Brokering a connection to access a secured service

Related Child Applications (3)

Application Number Title Priority Date Filing Date
US14/322,699 Continuation US9461981B2 (en) 2001-04-11 2014-07-02 Leveraging a persistent connection to access a secured service
US14/586,833 Continuation US9197627B2 (en) 2001-04-11 2014-12-30 Leveraging a persistent connection to access a secured service
US14/586,823 Continuation US9197626B2 (en) 2001-04-11 2014-12-30 Leveraging a persistent connection to access a secured service

Publications (1)

Publication Number Publication Date
US20140317695A1 true US20140317695A1 (en) 2014-10-23

Family

ID=38178914

Family Applications (9)

Application Number Title Priority Date Filing Date
US09/894,919 Expired - Lifetime US7237257B1 (en) 2001-04-11 2001-06-29 Leveraging a persistent connection to access a secured service
US11/767,680 Expired - Lifetime US7707627B2 (en) 2001-04-11 2007-06-25 Leveraging a persistent connection to access a secured service
US12/720,959 Expired - Lifetime US8176541B1 (en) 2001-04-11 2010-03-10 Leveraging a persistent connection to access a secured service
US13/453,178 Expired - Lifetime US8689312B2 (en) 2001-04-11 2012-04-23 Leveraging a persistent connection to access a secured service
US13/620,822 Expired - Lifetime US8769645B2 (en) 2001-04-11 2012-09-15 Brokering a connection to access a secured service
US14/320,119 Abandoned US20140317695A1 (en) 2001-04-11 2014-06-30 Leveraging a persistent connection to access a secured service
US14/322,699 Expired - Lifetime US9461981B2 (en) 2001-04-11 2014-07-02 Leveraging a persistent connection to access a secured service
US14/586,823 Expired - Fee Related US9197626B2 (en) 2001-04-11 2014-12-30 Leveraging a persistent connection to access a secured service
US14/586,833 Expired - Fee Related US9197627B2 (en) 2001-04-11 2014-12-30 Leveraging a persistent connection to access a secured service

Family Applications Before (5)

Application Number Title Priority Date Filing Date
US09/894,919 Expired - Lifetime US7237257B1 (en) 2001-04-11 2001-06-29 Leveraging a persistent connection to access a secured service
US11/767,680 Expired - Lifetime US7707627B2 (en) 2001-04-11 2007-06-25 Leveraging a persistent connection to access a secured service
US12/720,959 Expired - Lifetime US8176541B1 (en) 2001-04-11 2010-03-10 Leveraging a persistent connection to access a secured service
US13/453,178 Expired - Lifetime US8689312B2 (en) 2001-04-11 2012-04-23 Leveraging a persistent connection to access a secured service
US13/620,822 Expired - Lifetime US8769645B2 (en) 2001-04-11 2012-09-15 Brokering a connection to access a secured service

Family Applications After (3)

Application Number Title Priority Date Filing Date
US14/322,699 Expired - Lifetime US9461981B2 (en) 2001-04-11 2014-07-02 Leveraging a persistent connection to access a secured service
US14/586,823 Expired - Fee Related US9197626B2 (en) 2001-04-11 2014-12-30 Leveraging a persistent connection to access a secured service
US14/586,833 Expired - Fee Related US9197627B2 (en) 2001-04-11 2014-12-30 Leveraging a persistent connection to access a secured service

Country Status (1)

Country Link
US (9) US7237257B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9197627B2 (en) 2001-04-11 2015-11-24 Facebook, Inc. Leveraging a persistent connection to access a secured service

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0313375D0 (en) * 2003-06-10 2003-07-16 Symbian Ltd Method of connecting a client running on a computing device to a server running on a different computing device
US7702767B2 (en) * 2004-03-09 2010-04-20 Jp Morgan Chase Bank User connectivity process management system
US7861253B1 (en) * 2004-11-12 2010-12-28 Microstrategy, Inc. Systems and methods for accessing a business intelligence system through a business productivity client
US8068502B2 (en) * 2004-12-30 2011-11-29 Alcatel Lucent Method and apparatus for enabling persistent connections with wireless networks
US8381279B2 (en) * 2009-02-13 2013-02-19 Microsoft Corporation Constraining a login to a subset of access rights
CN101997673B (en) * 2009-08-17 2012-11-21 成都市华为赛门铁克科技有限公司 Network agent implementation method and device
US8533812B1 (en) * 2011-03-03 2013-09-10 Symantec Corporation Systems and methods for securing access to kernel devices
CN102281319A (en) * 2011-04-06 2011-12-14 苏州阔地网络科技有限公司 Method and system for realizing list synchronization on webpage
CN102281266A (en) * 2011-04-06 2011-12-14 苏州阔地网络科技有限公司 Method and system for realizing list authentication synchronization on webpage
KR101762876B1 (en) * 2011-12-05 2017-07-31 인텔렉추얼디스커버리 주식회사 Security System for Cloud Computing Service
US10694917B2 (en) 2012-01-04 2020-06-30 The Procter & Gamble Company Fibrous structures comprising particles and methods for making same
US9049169B1 (en) * 2013-05-30 2015-06-02 Trend Micro Incorporated Mobile email protection for private computer networks
US10637736B2 (en) * 2016-06-06 2020-04-28 Lenovo Enterprise Solutions (Singapore) Pte. Ltd Acquisition of information from managed computing device not communicatively connected to management computing device
TWI773316B (en) 2021-05-12 2022-08-01 友達光電股份有限公司 Display panel
US11956226B2 (en) 2021-07-29 2024-04-09 Evernorth Strategic Development, Inc. Medical records access system

Citations (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241594A (en) * 1992-06-02 1993-08-31 Hughes Aircraft Company One-time logon means and methods for distributed computing systems
US5349643A (en) * 1993-05-10 1994-09-20 International Business Machines Corporation System and method for secure initial program load for diskless workstations
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
US5535276A (en) * 1994-11-09 1996-07-09 Bell Atlantic Network Services, Inc. Yaksha, an improved system and method for securing communications using split private key asymmetric cryptography
US5544322A (en) * 1994-05-09 1996-08-06 International Business Machines Corporation System and method for policy-based inter-realm authentication within a distributed processing system
US5590199A (en) * 1993-10-12 1996-12-31 The Mitre Corporation Electronic information network user authentication and authorization system
US5684950A (en) * 1996-09-23 1997-11-04 Lockheed Martin Corporation Method and system for authenticating users to multiple computer servers via a single sign-on
US5737419A (en) * 1994-11-09 1998-04-07 Bell Atlantic Network Services, Inc. Computer system for securing communications using split private key asymmetric cryptography
US5748735A (en) * 1994-07-18 1998-05-05 Bell Atlantic Network Services, Inc. Securing E-mail communications and encrypted file storage using yaksha split private key asymmetric cryptography
US5774551A (en) * 1995-08-07 1998-06-30 Sun Microsystems, Inc. Pluggable account management interface with unified login and logout and multiple user authentication services
US5815574A (en) * 1994-12-15 1998-09-29 International Business Machines Corporation Provision of secure access to external resources from a distributed computing environment
US5864843A (en) * 1995-10-20 1999-01-26 Ncr Corporation Method and apparatus for extending a database management system to operate with diverse object servers
US5935212A (en) * 1997-08-07 1999-08-10 I-Planet, Inc. Connection-oriented session emulation
US6003136A (en) * 1997-06-27 1999-12-14 Unisys Corporation Message control system for managing message response in a kerberos environment
US6009175A (en) * 1997-06-27 1999-12-28 Unisys Corporation Asynchronous message system for menu-assisted resource control program
US6032260A (en) * 1997-11-13 2000-02-29 Ncr Corporation Method for issuing a new authenticated electronic ticket based on an expired authenticated ticket and distributed server architecture for using same
US6055639A (en) * 1997-10-10 2000-04-25 Unisys Corporation Synchronous message control system in a Kerberos domain
US6067623A (en) * 1997-11-21 2000-05-23 International Business Machines Corp. System and method for secure web server gateway access using credential transform
US6073176A (en) * 1996-07-29 2000-06-06 Cisco Technology, Inc. Dynamic bidding protocol for conducting multilink sessions through different physical termination points
US6175920B1 (en) * 1998-02-20 2001-01-16 Unisys Corporation Expedited message control for synchronous response in a Kerberos domain
US6178511B1 (en) * 1998-04-30 2001-01-23 International Business Machines Corporation Coordinating user target logons in a single sign-on (SSO) environment
US6219790B1 (en) * 1998-06-19 2001-04-17 Lucent Technologies Inc. Centralized authentication, authorization and accounting server with support for multiple transport protocols and multiple client types
US6223289B1 (en) * 1998-04-20 2001-04-24 Sun Microsystems, Inc. Method and apparatus for session management and user authentication
US20010037466A1 (en) * 2000-04-28 2001-11-01 Konami Corporation Network connection control method and connection control system
US6324648B1 (en) * 1999-12-14 2001-11-27 Gte Service Corporation Secure gateway having user identification and password authentication
US6341312B1 (en) * 1998-12-16 2002-01-22 International Business Machines Corporation Creating and managing persistent connections
US20020023122A1 (en) * 2000-04-27 2002-02-21 Polizzi Kathleen Riddell Method and apparatus for processing jobs on an enterprise-wide computer system
US20020062345A1 (en) * 2000-07-06 2002-05-23 David Guedalia Thin instant messaging proxy interface with persistent sessions
US20020061003A1 (en) * 2000-10-23 2002-05-23 Arch Wireless, Inc. Method of and system for wireless network access through server platform integration
US20020062384A1 (en) * 1998-03-06 2002-05-23 Tso Michael M. Method of proxy-assisted predictive pre-fetching
US6405312B1 (en) * 1998-09-04 2002-06-11 Unisys Corporation Kerberos command structure and method for enabling specialized Kerbero service requests
US20020073210A1 (en) * 2000-10-17 2002-06-13 Low Colin Andrew Establishment of a deferred network communication session
US20020073150A1 (en) * 2000-10-17 2002-06-13 Lawrence Wilcock Associating parties with communication sessions
US20020073208A1 (en) * 2000-10-17 2002-06-13 Lawrence Wilcock Contact center
US20020075879A1 (en) * 2000-12-14 2002-06-20 Ramey Kenneth S. Gateway adapter for a PBX system
US6411309B1 (en) * 1999-03-19 2002-06-25 Unisys Corporation Kerberos interface enabling menu-assisted resource control program to recognize kerberos commands
US20020091832A1 (en) * 2000-10-17 2002-07-11 Low Colin Andrew Helper entity for communication session
US20020099829A1 (en) * 2000-11-27 2002-07-25 Richards Kenneth W. Filter proxy system and method
US6453362B1 (en) * 1998-08-12 2002-09-17 International Business Machines Corporation Systems, methods and computer program products for invoking server applications using tickets registered in client-side remote object registries
US20020130764A1 (en) * 2001-03-14 2002-09-19 Fujitsu Limited User authentication system using biometric information
US20020144119A1 (en) * 2001-03-29 2002-10-03 Ibm Corporation Method and system for network single sign-on using a public key certificate and an associated attribute certificate
US20020147813A1 (en) * 2000-12-22 2002-10-10 Teng Joan C. Proxy system
US6484174B1 (en) * 1998-04-20 2002-11-19 Sun Microsystems, Inc. Method and apparatus for session management and user authentication
US20020178271A1 (en) * 2000-11-20 2002-11-28 Graham Todd D. Dynamic file access control and management
US6490620B1 (en) * 1997-09-26 2002-12-03 Worldcom, Inc. Integrated proxy interface for web based broadband telecommunications management
US20030050918A1 (en) * 2000-04-10 2003-03-13 Pilkington John Dr Provision of secure access for telecommunications system
US6538996B1 (en) * 1998-02-25 2003-03-25 Enterasys Networks, Inc. Remote computer communication
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
US20030105854A1 (en) * 2000-07-06 2003-06-05 Vilhjalmur Thorsteinsson Method and system for controlling and coordinating devices and appliances, such as from a central portal and via a wide-area communications network
US6643774B1 (en) * 1999-04-08 2003-11-04 International Business Machines Corporation Authentication method to enable servers using public key authentication to obtain user-delegated tickets
US6678733B1 (en) * 1999-10-26 2004-01-13 At Home Corporation Method and system for authorizing and authenticating users
US6678731B1 (en) * 1999-07-08 2004-01-13 Microsoft Corporation Controlling access to a network server using an authentication ticket
US6721890B1 (en) * 1999-05-04 2004-04-13 Microsoft Corporation Application specific distributed firewall
US6775692B1 (en) * 1997-07-31 2004-08-10 Cisco Technology, Inc. Proxying and unproxying a connection using a forwarding agent
US6826696B1 (en) * 1999-10-12 2004-11-30 Webmd, Inc. System and method for enabling single sign-on for networked applications
US6975728B1 (en) * 1999-06-22 2005-12-13 Digital Video Express, L.P. Hierarchical key management
US7024692B1 (en) * 2000-01-21 2006-04-04 Unisys Corporation Non pre-authenticated kerberos logon via asynchronous message mechanism
US7032002B1 (en) * 2000-09-06 2006-04-18 Xanboo, Inc. Service broker for processing data from a data network
US7039714B1 (en) * 2000-01-19 2006-05-02 International Business Machines Corporation Method of enabling an intermediary server to impersonate a client user's identity to a plurality of authentication domains
US7039946B1 (en) * 1999-10-12 2006-05-02 International Business Machines Corporation Piggy-backed key exchange protocol for providing secure, low-overhead browser connections when a client requests a server to propose a message encoding scheme
US7113994B1 (en) * 2000-01-24 2006-09-26 Microsoft Corporation System and method of proxy authentication in a secured network
US7124203B2 (en) * 2000-07-10 2006-10-17 Oracle International Corporation Selective cache flushing in identity and access management systems
US7137006B1 (en) * 1999-09-24 2006-11-14 Citicorp Development Center, Inc. Method and system for single sign-on user access to multiple web servers
US7865596B2 (en) * 2000-11-02 2011-01-04 Oracle America, Inc. Switching system for managing storage in digital networks
US7954144B1 (en) * 2000-01-18 2011-05-31 Novell, Inc. Brokering state information and identity among user agents, origin servers, and proxies

Family Cites Families (130)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5560008A (en) * 1989-05-15 1996-09-24 International Business Machines Corporation Remote authentication and authorization in a distributed data processing system
EP0398492B1 (en) * 1989-05-15 1997-01-22 International Business Machines Corporation A flexible interface to authentication services in a distributed data processing system
US5233655A (en) * 1991-02-19 1993-08-03 Shapiro Sanford S Data access verification system
US5557518A (en) * 1994-04-28 1996-09-17 Citibank, N.A. Trusted agents for open electronic commerce
JP2519390B2 (en) 1992-09-11 1996-07-31 インターナショナル・ビジネス・マシーンズ・コーポレイション DATA COMMUNICATION METHOD AND DEVICE
US5586260A (en) * 1993-02-12 1996-12-17 Digital Equipment Corporation Method and apparatus for authenticating a client to a server in computer systems which support different security mechanisms
US5649099A (en) 1993-06-04 1997-07-15 Xerox Corporation Method for delegating access rights through executable access control program without delegating access rights not in a specification to any intermediary nor comprising server security
JP3053527B2 (en) * 1993-07-30 2000-06-19 インターナショナル・ビジネス・マシーンズ・コーポレイション Method and apparatus for validating a password, method and apparatus for generating and preliminary validating a password, method and apparatus for controlling access to resources using an authentication code
WO1995017064A1 (en) 1993-12-17 1995-06-22 Taligent, Inc. Object-oriented distributed communications directory service
US5999711A (en) 1994-07-18 1999-12-07 Microsoft Corporation Method and system for providing certificates holding authentication and authorization information for users/machines
US5537474A (en) * 1994-07-29 1996-07-16 Motorola, Inc. Method and apparatus for authentication in a communication system
US5604490A (en) * 1994-09-09 1997-02-18 International Business Machines Corporation Method and system for providing a user access to multiple secured subsystems
US5944794A (en) * 1994-09-30 1999-08-31 Kabushiki Kaisha Toshiba User identification data management scheme for networking computer systems using wide area network
US5689638A (en) * 1994-12-13 1997-11-18 Microsoft Corporation Method for providing access to independent network resources by establishing connection using an application programming interface function call without prompting the user for authentication data
US7127328B2 (en) * 1994-12-30 2006-10-24 Power Measurement Ltd. System and method for federated security in an energy management system
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
US5793966A (en) * 1995-12-01 1998-08-11 Vermeer Technologies, Inc. Computer system and computer-implemented process for creation and maintenance of online services
JPH0981519A (en) 1995-09-08 1997-03-28 Kiyadeitsukusu:Kk Authentication method on network
US5774670A (en) 1995-10-06 1998-06-30 Netscape Communications Corporation Persistent client state in a hypertext transfer protocol based client-server system
US5717756A (en) 1995-10-12 1998-02-10 International Business Machines Corporation System and method for providing masquerade protection in a computer network using hardware and timestamp-specific single use keys
US5781550A (en) * 1996-02-02 1998-07-14 Digital Equipment Corporation Transparent and secure network gateway
US5878219A (en) * 1996-03-12 1999-03-02 America Online, Inc. System for integrating access to proprietary and internet resources
US6216231B1 (en) 1996-04-30 2001-04-10 At & T Corp. Specifying security protocols and policy constraints in distributed systems
US6088451A (en) * 1996-06-28 2000-07-11 Mci Communications Corporation Security system and method for network element access
US6055637A (en) * 1996-09-27 2000-04-25 Electronic Data Systems Corporation System and method for accessing enterprise-wide resources by presenting to the resource a temporary credential
US6047376A (en) * 1996-10-18 2000-04-04 Toshiba Information Systems (Japan) Corporation Client-server system, server access authentication method, memory medium stores server-access authentication programs, and issuance device which issues the memory medium contents
US6212634B1 (en) * 1996-11-15 2001-04-03 Open Market, Inc. Certifying authorization in computer networks
WO1998032073A1 (en) * 1997-01-17 1998-07-23 International Business Machines Corporation Protecting resources in a distributed computer system
US6292896B1 (en) * 1997-01-22 2001-09-18 International Business Machines Corporation Method and apparatus for entity authentication and session key generation
US5923756A (en) * 1997-02-12 1999-07-13 Gte Laboratories Incorporated Method for providing secure remote command execution over an insecure computer network
US7062781B2 (en) * 1997-02-12 2006-06-13 Verizon Laboratories Inc. Method for providing simultaneous parallel secure command execution on multiple remote hosts
US7366900B2 (en) * 1997-02-12 2008-04-29 Verizon Laboratories, Inc. Platform-neutral system and method for providing secure remote operations over an insecure computer network
US6477648B1 (en) * 1997-03-23 2002-11-05 Novell, Inc. Trusted workstation in a networked client/server computing system
US5944824A (en) * 1997-04-30 1999-08-31 Mci Communications Corporation System and method for single sign-on to a plurality of network elements
JP3595109B2 (en) * 1997-05-28 2004-12-02 日本ユニシス株式会社 Authentication device, terminal device, authentication method in those devices, and storage medium
US6134591A (en) 1997-06-18 2000-10-17 Client/Server Technologies, Inc. Network security and integration method and system
FI104667B (en) 1997-07-14 2000-04-14 Nokia Networks Oy Implementation of access service
CN1664828A (en) * 1997-08-13 2005-09-07 松下电器产业株式会社 Mobile electronic commerce system
US6119228A (en) * 1997-08-22 2000-09-12 Compaq Computer Corporation Method for securely communicating remote control commands in a computer network
US6163771A (en) 1997-08-28 2000-12-19 Walker Digital, Llc Method and device for generating a single-use financial account number
NO305420B1 (en) * 1997-09-02 1999-05-25 Ericsson Telefon Ab L M Device by computer communication system, especially by communication through firewalls
US6026166A (en) * 1997-10-20 2000-02-15 Cryptoworx Corporation Digitally certifying a user identity and a computer system in combination
US6047268A (en) * 1997-11-04 2000-04-04 A.T.&T. Corporation Method and apparatus for billing for transactions conducted over the internet
JP3569122B2 (en) * 1998-01-22 2004-09-22 富士通株式会社 Session management system, service providing server, session management server, session management method, and recording medium
US6161185A (en) 1998-03-06 2000-12-12 Mci Communications Corporation Personal authentication system and method for multiple computer platform
US6073242A (en) * 1998-03-19 2000-06-06 Agorics, Inc. Electronic authority server
US6205479B1 (en) * 1998-04-14 2001-03-20 Juno Online Services, Inc. Two-tier authentication system where clients first authenticate with independent service providers and then automatically exchange messages with a client controller to gain network access
US6243816B1 (en) 1998-04-30 2001-06-05 International Business Machines Corporation Single sign-on (SSO) mechanism personal key manager
US6480958B1 (en) * 1998-06-01 2002-11-12 Xerox Corporation Single-use passwords for smart paper interfaces
US6279111B1 (en) * 1998-06-12 2001-08-21 Microsoft Corporation Security model using restricted tokens
US6311269B2 (en) 1998-06-15 2001-10-30 Lockheed Martin Corporation Trusted services broker for web page fine-grained security labeling
US6490579B1 (en) * 1998-07-16 2002-12-03 Perot Systems Corporation Search engine system and method utilizing context of heterogeneous information resources
US6157953A (en) * 1998-07-28 2000-12-05 Sun Microsystems, Inc. Authentication and access control in a management console program for managing services in a computer network
US6966004B1 (en) 1998-08-03 2005-11-15 Cisco Technology, Inc. Method for providing single step log-on access to a differentiated computer network
US6615348B1 (en) * 1999-04-16 2003-09-02 Intel Corporation Method and apparatus for an adapted digital signature
US6138239A (en) * 1998-11-13 2000-10-24 N★Able Technologies, Inc. Method and system for authenticating and utilizing secure resources in a computer system
US6278993B1 (en) 1998-12-08 2001-08-21 Yodlee.Com, Inc. Method and apparatus for extending an on-line internet search beyond pre-referenced sources and returning data over a data-packet-network (DPN) using private search engines as proxy-engines
US6898711B1 (en) 1999-01-13 2005-05-24 International Business Machines Corporation User authentication system and method for multiple process applications
US6715082B1 (en) 1999-01-14 2004-03-30 Cisco Technology, Inc. Security server token caching
US6490679B1 (en) * 1999-01-18 2002-12-03 Shym Technology, Inc. Seamless integration of application programs with security key infrastructure
US6850985B1 (en) 1999-03-02 2005-02-01 Microsoft Corporation Security and support for flexible conferencing topologies spanning proxies, firewalls and gateways
ES2276486T3 (en) * 1999-03-08 2007-06-16 Software Ag PROCEDURE TO VERIFY THE ACCESS OF A USER.
US6412009B1 (en) * 1999-03-15 2002-06-25 Wall Data Incorporated Method and system for providing a persistent HTTP tunnel
US6859527B1 (en) 1999-04-30 2005-02-22 Hewlett Packard/Limited Communications arrangement and method using service system to facilitate the establishment of end-to-end communication over a network
US6226752B1 (en) * 1999-05-11 2001-05-01 Sun Microsystems, Inc. Method and apparatus for authenticating users
US6751652B1 (en) * 1999-06-29 2004-06-15 Transnexus, Inc. Intelligent end user devices for clearinghouse services in an internet telephony system
US6463474B1 (en) * 1999-07-02 2002-10-08 Cisco Technology, Inc. Local authentication of a client at a network device
US6584505B1 (en) * 1999-07-08 2003-06-24 Microsoft Corporation Authenticating access to a network server without communicating login information through the network server
JP3312335B2 (en) * 1999-07-30 2002-08-05 株式会社コムスクエア User authentication method, user authentication system and recording medium
US7249110B1 (en) * 1999-08-03 2007-07-24 Matsushita Electric Industrial Co, Ltd. Individual authentication method, individual authentication apparatus, accounting method, accounting apparatus
US6286104B1 (en) * 1999-08-04 2001-09-04 Oracle Corporation Authentication and authorization in a multi-tier relational database management system
US6691232B1 (en) * 1999-08-05 2004-02-10 Sun Microsystems, Inc. Security architecture with environment sensitive credential sufficiency evaluation
US6892307B1 (en) 1999-08-05 2005-05-10 Sun Microsystems, Inc. Single sign-on framework with trust-level mapping to authentication requirements
US6609198B1 (en) * 1999-08-05 2003-08-19 Sun Microsystems, Inc. Log-on service providing credential level change without loss of session continuity
US6668322B1 (en) * 1999-08-05 2003-12-23 Sun Microsystems, Inc. Access management system and method employing secure credentials
US6823456B1 (en) * 1999-08-25 2004-11-23 International Business Machines Corporation System and method for providing trusted services via trusted server agents
US6668253B1 (en) * 1999-09-08 2003-12-23 Reynolds & Reynolds Holdings, Inc. Enterprise information management system and methods
US6711610B1 (en) 1999-09-10 2004-03-23 International Business Machines Corporation System and method for establishing secure internet communication between a remote computer and a host computer via an intermediate internet computer
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
US6728884B1 (en) * 1999-10-01 2004-04-27 Entrust, Inc. Integrating heterogeneous authentication and authorization mechanisms into an application access control system
US6401211B1 (en) * 1999-10-19 2002-06-04 Microsoft Corporation System and method of user logon in combination with user authentication for network access
US6636975B1 (en) * 1999-12-15 2003-10-21 Identix Incorporated Accessing a secure resource using certificates bound with authentication information
JP2001175540A (en) * 1999-12-22 2001-06-29 Nec Corp Access right management system, portable terminal, gateway and contents server
US6845448B1 (en) * 2000-01-07 2005-01-18 Pennar Software Corporation Online repository for personal information
US7340600B1 (en) * 2000-01-14 2008-03-04 Hewlett-Packard Development Company, L.P. Authorization infrastructure based on public key cryptography
US6754482B1 (en) * 2000-02-02 2004-06-22 Lucent Technologies Inc. Flexible access authorization feature to enable mobile users to access services in 3G wireless networks
US20010045451A1 (en) * 2000-02-28 2001-11-29 Tan Warren Yung-Hang Method and system for token-based authentication
WO2001067708A2 (en) * 2000-03-07 2001-09-13 General Instrument Corporation Authenticated dynamic address assignment
US7228291B2 (en) * 2000-03-07 2007-06-05 International Business Machines Corporation Automated trust negotiation
US7409543B1 (en) 2000-03-30 2008-08-05 Digitalpersona, Inc. Method and apparatus for using a third party authentication server
US7716492B1 (en) * 2000-05-09 2010-05-11 Oracle America, Inc. Method and apparatus to obtain service capability credentials
US7065574B1 (en) * 2000-05-09 2006-06-20 Sun Microsystems, Inc. Messaging system using pairs of message gates in a distributed computing environment
US7577834B1 (en) * 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US7305478B2 (en) * 2000-06-08 2007-12-04 Symbol Technologies, Inc. Bar code symbol ticketing for authorizing access in a wireless local area communications network
US6801946B1 (en) 2000-06-15 2004-10-05 International Business Machines Corporation Open architecture global sign-on apparatus and method therefor
US6950522B1 (en) * 2000-06-15 2005-09-27 Microsoft Corporation Encryption key updating for multiple site automated login
US7099933B1 (en) 2000-07-11 2006-08-29 Nortel Networks Limited System and method for regulating web site access
JP2002032340A (en) * 2000-07-14 2002-01-31 Nec Corp System and method for single sign-on web site and recording medium
US6430602B1 (en) 2000-08-22 2002-08-06 Active Buddy, Inc. Method and system for interactively responding to instant messaging requests
KR100350316B1 (en) * 2000-08-28 2002-08-28 엘지전자 주식회사 Access-request messgae handling method for over load prevention at AAA server
JP2002082907A (en) * 2000-09-11 2002-03-22 Nec Corp Security function substitution method in data communication and its system, and recording medium
US7395549B1 (en) * 2000-10-17 2008-07-01 Sun Microsystems, Inc. Method and apparatus for providing a key distribution center without storing long-term server secrets
JP2002132730A (en) * 2000-10-20 2002-05-10 Hitachi Ltd System and method for authentication or access management based on reliability and disclosure degree of personal information
US7499889B2 (en) * 2000-10-23 2009-03-03 Cyota Inc. Transaction system
US6986040B1 (en) * 2000-11-03 2006-01-10 Citrix Systems, Inc. System and method of exploiting the security of a secure communication channel to secure a non-secure communication channel
US7272833B2 (en) * 2000-12-26 2007-09-18 International Business Machines Corporation Messaging service in a federated content management system
US7146635B2 (en) * 2000-12-27 2006-12-05 International Business Machines Corporation Apparatus and method for using a directory service for authentication and authorization to access resources outside of the directory service
FI115098B (en) * 2000-12-27 2005-02-28 Nokia Corp Authentication in data communication
US20020138596A1 (en) * 2001-03-09 2002-09-26 Matthew Darwin Method to proxy IP services
JP2002278838A (en) * 2001-03-15 2002-09-27 Sony Corp Memory access control system, device managing device, partition managing device, memory packaged device, memory access control method and program storage medium
US7522632B2 (en) 2001-03-19 2009-04-21 Alcatel-Lucent Usa Inc. Multiple-protocol home location register and method of use
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US6912582B2 (en) * 2001-03-30 2005-06-28 Microsoft Corporation Service routing and web integration in a distributed multi-site user authentication system
US6959336B2 (en) * 2001-04-07 2005-10-25 Secure Data In Motion, Inc. Method and system of federated authentication service for interacting between agent and client and communicating with other components of the system to choose an appropriate mechanism for the subject from among the plurality of authentication mechanisms wherein the subject is selected from humans, client applications and applets
US7237257B1 (en) * 2001-04-11 2007-06-26 Aol Llc Leveraging a persistent connection to access a secured service
US6996841B2 (en) * 2001-04-19 2006-02-07 Microsoft Corporation Negotiating secure connections through a proxy server
BR0203323A (en) * 2001-04-19 2003-04-08 Ntt Docomo Inc Improvement introduced in communication terminal system
US6839761B2 (en) * 2001-04-19 2005-01-04 Microsoft Corporation Methods and systems for authentication through multiple proxy servers that require different authentication data
US7698381B2 (en) * 2001-06-20 2010-04-13 Microsoft Corporation Methods and systems for controlling the scope of delegation of authentication credentials
US7076797B2 (en) * 2001-10-05 2006-07-11 Microsoft Corporation Granular authorization for network user sessions
US7117529B1 (en) * 2001-10-22 2006-10-03 Intuit, Inc. Identification and authentication management
US7313816B2 (en) * 2001-12-17 2007-12-25 One Touch Systems, Inc. Method and system for authenticating a user in a web-based environment
US6792534B2 (en) * 2002-03-22 2004-09-14 General Instrument Corporation End-to end protection of media stream encryption keys for voice-over-IP systems
JP4023240B2 (en) * 2002-07-10 2007-12-19 日本電気株式会社 User authentication system
US20040059797A1 (en) * 2002-09-20 2004-03-25 G-Connect Ltd. System and method for enabling a web user to control network services
US7464143B2 (en) * 2002-10-25 2008-12-09 Intraware, Inc. Digital object delivery and management system with dynamically created temporary FTP access codes
US20040088260A1 (en) * 2002-10-31 2004-05-06 Foster Ward Scott Secure user authentication
JP2004172782A (en) * 2002-11-19 2004-06-17 Fujitsu Ltd Service control network system
US7558866B2 (en) * 2004-12-08 2009-07-07 Microsoft Corporation Method and system for securely provisioning a client device
US8397077B2 (en) * 2007-12-07 2013-03-12 Pistolstar, Inc. Client side authentication redirection

Patent Citations (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241594A (en) * 1992-06-02 1993-08-31 Hughes Aircraft Company One-time logon means and methods for distributed computing systems
US5349643A (en) * 1993-05-10 1994-09-20 International Business Machines Corporation System and method for secure initial program load for diskless workstations
US5590199A (en) * 1993-10-12 1996-12-31 The Mitre Corporation Electronic information network user authentication and authorization system
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
US5544322A (en) * 1994-05-09 1996-08-06 International Business Machines Corporation System and method for policy-based inter-realm authentication within a distributed processing system
US5748735A (en) * 1994-07-18 1998-05-05 Bell Atlantic Network Services, Inc. Securing E-mail communications and encrypted file storage using yaksha split private key asymmetric cryptography
US5535276A (en) * 1994-11-09 1996-07-09 Bell Atlantic Network Services, Inc. Yaksha, an improved system and method for securing communications using split private key asymmetric cryptography
US5737419A (en) * 1994-11-09 1998-04-07 Bell Atlantic Network Services, Inc. Computer system for securing communications using split private key asymmetric cryptography
US5815574A (en) * 1994-12-15 1998-09-29 International Business Machines Corporation Provision of secure access to external resources from a distributed computing environment
US5774551A (en) * 1995-08-07 1998-06-30 Sun Microsystems, Inc. Pluggable account management interface with unified login and logout and multiple user authentication services
US5864843A (en) * 1995-10-20 1999-01-26 Ncr Corporation Method and apparatus for extending a database management system to operate with diverse object servers
US6073176A (en) * 1996-07-29 2000-06-06 Cisco Technology, Inc. Dynamic bidding protocol for conducting multilink sessions through different physical termination points
US5684950A (en) * 1996-09-23 1997-11-04 Lockheed Martin Corporation Method and system for authenticating users to multiple computer servers via a single sign-on
US6009175A (en) * 1997-06-27 1999-12-28 Unisys Corporation Asynchronous message system for menu-assisted resource control program
US6003136A (en) * 1997-06-27 1999-12-14 Unisys Corporation Message control system for managing message response in a kerberos environment
US6775692B1 (en) * 1997-07-31 2004-08-10 Cisco Technology, Inc. Proxying and unproxying a connection using a forwarding agent
US5935212A (en) * 1997-08-07 1999-08-10 I-Planet, Inc. Connection-oriented session emulation
US6490620B1 (en) * 1997-09-26 2002-12-03 Worldcom, Inc. Integrated proxy interface for web based broadband telecommunications management
US6055639A (en) * 1997-10-10 2000-04-25 Unisys Corporation Synchronous message control system in a Kerberos domain
US6032260A (en) * 1997-11-13 2000-02-29 Ncr Corporation Method for issuing a new authenticated electronic ticket based on an expired authenticated ticket and distributed server architecture for using same
US6067623A (en) * 1997-11-21 2000-05-23 International Business Machines Corp. System and method for secure web server gateway access using credential transform
US6175920B1 (en) * 1998-02-20 2001-01-16 Unisys Corporation Expedited message control for synchronous response in a Kerberos domain
US6538996B1 (en) * 1998-02-25 2003-03-25 Enterasys Networks, Inc. Remote computer communication
US20020062384A1 (en) * 1998-03-06 2002-05-23 Tso Michael M. Method of proxy-assisted predictive pre-fetching
US6223289B1 (en) * 1998-04-20 2001-04-24 Sun Microsystems, Inc. Method and apparatus for session management and user authentication
US6484174B1 (en) * 1998-04-20 2002-11-19 Sun Microsystems, Inc. Method and apparatus for session management and user authentication
US6178511B1 (en) * 1998-04-30 2001-01-23 International Business Machines Corporation Coordinating user target logons in a single sign-on (SSO) environment
US6219790B1 (en) * 1998-06-19 2001-04-17 Lucent Technologies Inc. Centralized authentication, authorization and accounting server with support for multiple transport protocols and multiple client types
US6453362B1 (en) * 1998-08-12 2002-09-17 International Business Machines Corporation Systems, methods and computer program products for invoking server applications using tickets registered in client-side remote object registries
US6405312B1 (en) * 1998-09-04 2002-06-11 Unisys Corporation Kerberos command structure and method for enabling specialized Kerbero service requests
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
US6341312B1 (en) * 1998-12-16 2002-01-22 International Business Machines Corporation Creating and managing persistent connections
US6411309B1 (en) * 1999-03-19 2002-06-25 Unisys Corporation Kerberos interface enabling menu-assisted resource control program to recognize kerberos commands
US6643774B1 (en) * 1999-04-08 2003-11-04 International Business Machines Corporation Authentication method to enable servers using public key authentication to obtain user-delegated tickets
US6721890B1 (en) * 1999-05-04 2004-04-13 Microsoft Corporation Application specific distributed firewall
US6975728B1 (en) * 1999-06-22 2005-12-13 Digital Video Express, L.P. Hierarchical key management
US6678731B1 (en) * 1999-07-08 2004-01-13 Microsoft Corporation Controlling access to a network server using an authentication ticket
US7137006B1 (en) * 1999-09-24 2006-11-14 Citicorp Development Center, Inc. Method and system for single sign-on user access to multiple web servers
US6826696B1 (en) * 1999-10-12 2004-11-30 Webmd, Inc. System and method for enabling single sign-on for networked applications
US7039946B1 (en) * 1999-10-12 2006-05-02 International Business Machines Corporation Piggy-backed key exchange protocol for providing secure, low-overhead browser connections when a client requests a server to propose a message encoding scheme
US6678733B1 (en) * 1999-10-26 2004-01-13 At Home Corporation Method and system for authorizing and authenticating users
US6324648B1 (en) * 1999-12-14 2001-11-27 Gte Service Corporation Secure gateway having user identification and password authentication
US7954144B1 (en) * 2000-01-18 2011-05-31 Novell, Inc. Brokering state information and identity among user agents, origin servers, and proxies
US7039714B1 (en) * 2000-01-19 2006-05-02 International Business Machines Corporation Method of enabling an intermediary server to impersonate a client user's identity to a plurality of authentication domains
US7024692B1 (en) * 2000-01-21 2006-04-04 Unisys Corporation Non pre-authenticated kerberos logon via asynchronous message mechanism
US20060225132A1 (en) * 2000-01-24 2006-10-05 Microsoft Corporation System and Method of Proxy Authentication in a Secured Network
US7113994B1 (en) * 2000-01-24 2006-09-26 Microsoft Corporation System and method of proxy authentication in a secured network
US20030050918A1 (en) * 2000-04-10 2003-03-13 Pilkington John Dr Provision of secure access for telecommunications system
US20020052954A1 (en) * 2000-04-27 2002-05-02 Polizzi Kathleen Riddell Method and apparatus for implementing a dynamically updated portal page in an enterprise-wide computer system
US20020023158A1 (en) * 2000-04-27 2002-02-21 Polizzi Kathleen Riddell Method and apparatus for implementing search and channel features in an enterprise-wide computer system
US8261271B2 (en) * 2000-04-27 2012-09-04 Oracle International Corporation Method and apparatus for processing jobs on an enterprise-wide computer system
US7266821B2 (en) * 2000-04-27 2007-09-04 Hyperion Solutions Corporation Method and apparatus for processing jobs on an enterprise-wide computer system
US20020023122A1 (en) * 2000-04-27 2002-02-21 Polizzi Kathleen Riddell Method and apparatus for processing jobs on an enterprise-wide computer system
US20010037466A1 (en) * 2000-04-28 2001-11-01 Konami Corporation Network connection control method and connection control system
US20030105854A1 (en) * 2000-07-06 2003-06-05 Vilhjalmur Thorsteinsson Method and system for controlling and coordinating devices and appliances, such as from a central portal and via a wide-area communications network
US20020062345A1 (en) * 2000-07-06 2002-05-23 David Guedalia Thin instant messaging proxy interface with persistent sessions
US7124203B2 (en) * 2000-07-10 2006-10-17 Oracle International Corporation Selective cache flushing in identity and access management systems
US7032002B1 (en) * 2000-09-06 2006-04-18 Xanboo, Inc. Service broker for processing data from a data network
US20020073210A1 (en) * 2000-10-17 2002-06-13 Low Colin Andrew Establishment of a deferred network communication session
US20020091832A1 (en) * 2000-10-17 2002-07-11 Low Colin Andrew Helper entity for communication session
US20020073208A1 (en) * 2000-10-17 2002-06-13 Lawrence Wilcock Contact center
US20020073150A1 (en) * 2000-10-17 2002-06-13 Lawrence Wilcock Associating parties with communication sessions
US20020061003A1 (en) * 2000-10-23 2002-05-23 Arch Wireless, Inc. Method of and system for wireless network access through server platform integration
US7865596B2 (en) * 2000-11-02 2011-01-04 Oracle America, Inc. Switching system for managing storage in digital networks
US20020178271A1 (en) * 2000-11-20 2002-11-28 Graham Todd D. Dynamic file access control and management
US20020099829A1 (en) * 2000-11-27 2002-07-25 Richards Kenneth W. Filter proxy system and method
US20020075879A1 (en) * 2000-12-14 2002-06-20 Ramey Kenneth S. Gateway adapter for a PBX system
US20020147813A1 (en) * 2000-12-22 2002-10-10 Teng Joan C. Proxy system
US20020130764A1 (en) * 2001-03-14 2002-09-19 Fujitsu Limited User authentication system using biometric information
US20020144119A1 (en) * 2001-03-29 2002-10-03 Ibm Corporation Method and system for network single sign-on using a public key certificate and an associated attribute certificate

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9197627B2 (en) 2001-04-11 2015-11-24 Facebook, Inc. Leveraging a persistent connection to access a secured service
US9197626B2 (en) 2001-04-11 2015-11-24 Facebook, Inc. Leveraging a persistent connection to access a secured service
US9461981B2 (en) 2001-04-11 2016-10-04 Facebook, Inc. Leveraging a persistent connection to access a secured service

Also Published As

Publication number Publication date
US8769645B2 (en) 2014-07-01
US20080010667A1 (en) 2008-01-10
US20120260316A1 (en) 2012-10-11
US8689312B2 (en) 2014-04-01
US9197627B2 (en) 2015-11-24
US20150113611A1 (en) 2015-04-23
US20150156187A1 (en) 2015-06-04
US8176541B1 (en) 2012-05-08
US9197626B2 (en) 2015-11-24
US9461981B2 (en) 2016-10-04
US7707627B2 (en) 2010-04-27
US20130174226A1 (en) 2013-07-04
US7237257B1 (en) 2007-06-26
US20150012985A1 (en) 2015-01-08

Similar Documents

Publication Publication Date Title
US9197626B2 (en) Leveraging a persistent connection to access a secured service
US10298708B2 (en) Targeted notification of content availability to a mobile device
US7844674B2 (en) Architecture for general purpose trusted personal access system and methods therefor
US7284045B1 (en) Method and system for determining information to access an electronic mail account
US7809953B2 (en) System and method of secure authentication information distribution
US8402518B2 (en) Secure management of authentication information
EP3496373B1 (en) Method for serving location information access requests
US20050216587A1 (en) Establishing trust in an email client
CN110278187B (en) Multi-terminal single sign-on method, system, synchronous server and medium
US20020186845A1 (en) Method and apparatus for remotely disabling and enabling access to secure transaction functions of a mobile terminal
EP2128808A1 (en) Method and system for security authenticating through short message in communication terminal
WO2003034690A2 (en) Method & apparatus for securely transferring wireless data
US20060059240A1 (en) Method for multi-identifier login of an instant messaging system
JP2009516305A (en) Application access using an authentication code generated by the client
US20060031153A1 (en) Methods and systems for matching buyers and sellers over electronic networks
US7536550B2 (en) Image forming apparatus and control method for same
US20060031337A1 (en) Methods and systems for broadcasting offers over electronic networks
CN115664761A (en) Single sign-on method and device, electronic equipment and readable storage medium
JP4305146B2 (en) Communication control device, application server, and program
US8023972B2 (en) Message and address book interchange via short message service
KR20050013498A (en) Data transmission method, a data transmission program and a data transmission server
JP2020173507A (en) Authentication mediating device and authentication mediating program
JP2003504773A (en) Method and system for authenticating a mobile communication device
US20240104525A1 (en) Methods and systems for pre-verification of cryptocurrency transfers using test transactions
EP4214662A1 (en) Methods and systems for verifying ownership of crypto currency assets

Legal Events

Date Code Title Description
AS Assignment

Owner name: FACEBOOK, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AOL INC.;REEL/FRAME:033268/0051

Effective date: 20120614

Owner name: AOL LLC, VIRGINIA

Free format text: CHANGE OF NAME;ASSIGNOR:AMERICA ONLINE, INC.;REEL/FRAME:033267/0995

Effective date: 20060403

Owner name: AOL INC., VIRGINIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AOL LLC;REEL/FRAME:033237/0001

Effective date: 20091204

Owner name: AMERICA ONLINE, INC., VIRGINIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HIRSH, ROBERT BRUCE;REEL/FRAME:033236/0926

Effective date: 20010731

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: META PLATFORMS, INC., CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:FACEBOOK, INC.;REEL/FRAME:058961/0436

Effective date: 20211028