[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

US20030169695A1 - Data center for providing subscriber access to data maintained on an enterprise network - Google Patents

Data center for providing subscriber access to data maintained on an enterprise network Download PDF

Info

Publication number
US20030169695A1
US20030169695A1 US10/365,962 US36596203A US2003169695A1 US 20030169695 A1 US20030169695 A1 US 20030169695A1 US 36596203 A US36596203 A US 36596203A US 2003169695 A1 US2003169695 A1 US 2003169695A1
Authority
US
United States
Prior art keywords
data center
server
subscriber
network
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/365,962
Inventor
Randy Salo
Chris Van Hamersveld
Barry Shelton
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Priority to US10/365,962 priority Critical patent/US20030169695A1/en
Publication of US20030169695A1 publication Critical patent/US20030169695A1/en
Assigned to SEROR, DAVID reassignment SEROR, DAVID ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WIRELESS KNOWLEDGE, INC.
Assigned to QUALCOMM INCORPORATED reassignment QUALCOMM INCORPORATED NUNC PRO TUNC ASSIGNMENT (SEE DOCUMENT FOR DETAILS). Assignors: SEROR, DAVID
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/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • 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
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/24Accounting or billing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/20Technology dependant metering
    • H04M2215/2026Wireless network, e.g. GSM, PCS, TACS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/22Bandwidth or usage-sensitve billing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/32Involving wireless systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/16Gateway arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks

Definitions

  • This invention generally relates to the field of communications and information network management. More particularly, the present invention relates to a novel system that allows remote end users to rapidly and securely access information from a variety of subscriber devices using a centralized remote data center.
  • the problem with providing universal access to proprietary information is one of logistics. For example, it is common for an individual to keep sets of addresses on different devices, such as work addresses on a personal computer used at work, personal addresses on a home computer, and commonly called telephone numbers on a cellular telephone. Problems arise when the individual is at home and wishes to call or fax a work colleague, particularly when the individual does not have access to the work addresses from the home computer or any other available device. Further, different urgent priority items, such as urgent e-mails, may be unavailable to a subscriber for an extended period of time if the subscriber is equipped only with a personal digital assistant (PDA) and a cellular telephone unable to receive e-mail.
  • PDA personal digital assistant
  • Some systems or networks allow a subscriber to download her e-mail headers to a remote device and read some portion or all of the e-mail. After reading the e-mail on the remote device, some systems delete the e-mail while others maintain the e-mail on the system until read or deleted at the home system. Hence the ability for a subscriber to access, maintain, and dynamically utilize information is heavily dependent on the input device employed by the subscriber.
  • an enterprise For purposes of this application, a corporation or other entity, public private, or otherwise, is referred to as an “enterprise.” As used herein, an enterprise represents any entity maintaining or controlling information at a remote location from a subscriber. Examples of enterprises include a secure corporate network, a dedicated server, or a publicly accessible web site network.
  • Accessibility issues involve providing access to the information by only offering access through a corporate Intranet or other internal access scheme.
  • a subscriber wishing to review his or her e-mail on a laptop borrowed from a colleague frequently is denied access to the corporate information.
  • data latency universally inhibits the ability to access data. Users desire a fast response to the information they desire, and information on any device that takes longer than fifteen seconds to load is undesirable.
  • Certain enterprises also have particular needs and preferences. For example, some corporate enterprises may maintain a network that interfaces with offices in different countries, and depending on the person accessing the information, he or she may have a particular language preference. Certain enterprises also find it highly desirable to have a reconfigurable interface to provide updated graphics, information, and presence to network users. These subscriber interfaces may change rapidly in some industries. A system offering information access should therefore be readily reconfigurable and offer subscriber interfaces structured for the enterprise for use on a variety of input devices.
  • Such a system should be relatively easy to set up and maintain, and use readily available hardware and software wherever possible. Further, the system should provide for data access tracking and efficient security and authorization.
  • e-mail represents electronic mail deliverable in a recognized format, including attachments and other electronic mail attributes.
  • Calendar/date book data represents dates of meetings, appointments, holidays, or other noteworthy events maintained in a searchable database type format.
  • Addresses represent information associated with contacts, such as the contact's name, title, company, business address, business phone number, business fax number, home address and/or phone number, cellular phone number, e-mail address, and so forth. Access to the information should preferably be provided through a central location.
  • input devices including but not limited to a personal computer, a laptop computer, a PDA, a cellular telephone, a two-way pager, and a MICROSOFT® Windows CE device.
  • a central location should offer relatively robust access to the information desired, offer security for information maintained on the enterprise such as subscriber data and passwords, and provide for authentication and access tracking.
  • the remote enterprise architecture should permit rapid access to the information and transmission of the information while simultaneously maintaining firewall, security, and encryption requirements.
  • a data center that provides a central location for accessing, transmitting, and maintaining desired subscriber information, including e-mail, calendar, and contacts.
  • the data center includes a login site and associated SQL server, an enterprise gateway server and associated SQL system.
  • the arrangement disclosed herein provides for remote login by users employing any of a number of subscriber input devices.
  • the architecture provides for two levels of authentication, including an initial authentication for the data center and a pass through authentication to the enterprise network.
  • the data center also preferably includes security, such as firewall hardware, and has the ability to translate received CDO commands into XML commands.
  • the data center permits the authentication of a subscriber and access to a remote enterprise having a scalable, reliable, and secure data platform, such as MICROSOFT® Exchange Server.
  • Access to the remote enterprise is made through a dedicated connection such as an IPSEC or PPTP tunnel arrangement.
  • the enterprise network is preferably maintained by the party controlling the information and the connection, and thus the system supports access to the remote enterprise through the data center without the data center receiving and translating the subscriber information.
  • the remote access device transmits or receives information over a data link, which is connected to a data center.
  • the data center offers a central location for accessing and processing information from various remote enterprise networks.
  • the data center includes at least one login server, configured as a web server (e.g., MICROSOFT® IIS), having access to at least one attributes database server (e.g., SQL server).
  • the login server identifies and authenticates the subscriber and verifies that the subscriber is associated with a particular enterprise.
  • the login server refers to the attributes database server for the data necessary to perform these tasks, and thus the attributes database server performs data storage for account access purposes.
  • the login runs individual active server pages that provide the requested information back across the data link to the subscriber.
  • the data center may send data through a dedicated connection, which is preferably an IPSEC tunnel through the Internet, a PPTP connection via the Internet, or it may send data through a non-Internet WAN transport mechanism.
  • the Internet provides a powerful and readily accessible data transmission media. Addition of enterprise networks or data centers to an arrangement employing the Internet is relatively simple.
  • the data link may also employ the Internet for subscriber access to the data center.
  • FIG. 1 is a conceptual diagram representing the major components of the system
  • FIG. 1A is a high level block diagram depicting the basic elements of an embodiment of the present system
  • FIG. 1B is a high level block diagram depicting various elements of an exemplary communication system interfacing with a remote data center;
  • FIG. 1C is a high level block diagram depicting the architecture of a remote data center
  • FIG. 2 is a functional block diagram depicting the authentication process
  • FIG. 3 is a high level block diagram illustrating the basic elements of the EGS
  • FIG. 4 is high level diagram depicting the connectivity between a data center and a plurality of enterprise network servers
  • FIGS. 5A, 5B are block diagrams illustrating embodiments of the implementation of a Virtual Private Network interconnecting a data center and a enterprise network;
  • FIG. 6 is a diagram depicting the architecture of the RGS software components
  • FIGS. 7A and 7B are diagrams depicting alternative embodiments of the communications between a messaging server and an EGS.
  • FIG. 8 illustrates the customization initialization procedure.
  • FIG. 1 presents a conceptual overview of the design of the current system.
  • a subscriber has access to an input device, which may be one from a class of input devices 10 including, but not limited to, a cellular telephone 11 , a personal digital assistant (PDA) 12 , a MICROSOFT® Windows CE device 13 , a desktop personal computer 14 , or a laptop personal computer 15 .
  • PDA personal digital assistant
  • Other devices may be employed, such as a two-way paging device, while still within the scope of the present invention.
  • the important characteristic of the class of input devices 10 is that each device must have the ability to receive information.
  • the input device transmits or receives information over a data link 16 , such as a telephone line, dedicated computer connection, satellite connection, cellular telephone network, the Internet, or other data connection.
  • the data link 16 is connected to a data center 17 , which offers a central location for accessing and processing information from various remote enterprise networks 22 .
  • Data center 17 provides users with access to information or data maintained at the enterprise networks 22 .
  • the data center 17 includes at least one web server 18 (e.g., MICROSOFT® Internet Information Server [IIS]) having access to at least one attributes database server (e.g., Structured Query Language [SQL] server) 19 .
  • the IIS server 18 identifies and authenticates the subscriber and verifies that the subscriber is associated with a particular enterprise.
  • the IIS server 18 refers to the SQL server 19 for the data necessary to perform these tasks, and thus the SQL server 19 performs data storage for account access purposes.
  • the IIS servers 18 process individual active server pages, or ASPs, that provide the requested information back across data link 16 to the user or subscriber.
  • the data center 17 transmits data through a dedicated connection 20 , which is preferably an IPSEC tunnel through the Internet, or a PPTP connection via the Internet.
  • the dedicated connection 20 is provided through data transmission media 21 , which may be the Internet, a Wide Area Network (WAN), or any other media used for server communication.
  • the dedicated connection 20 provides the robustness necessary to update the subscriber and provide information in a reasonable time period.
  • connection that is not dedicated can result in delays and service disruptions, and the Internet provides an example of a powerful and readily accessible data transmission media.
  • Addition of enterprise networks 22 or data centers 17 to an arrangement employing the Internet is relatively simple. Note also that data link 16 may also employ the Internet for subscriber access to the data center 17 .
  • the subscriber In operation, the subscriber must first access the data center 17 using an access arrangement, such as a password verifying his or her identity.
  • the subscriber makes a request into the subscriber device, such as a cellular telephone, to view data, such as his or her e-mail.
  • the IIS server 18 receives the request via the data link 16 and passes the request through the dedicated connection 20 and on to the enterprise network 22 .
  • the enterprise network 22 processes the request for e-mail and obtains the necessary data pursuant to the subscriber preferences provided by the SQL server in the data center 17 .
  • the subscriber is presumed to have established that if he or she desires e-mail through his or her cellular telephone, the information provided should be only the first ten messages, alphabetized by the last name of the sender.
  • the enterprise network 22 obtains the requisite information and transmits the data back through the dedicated connection 20 , to the data center 17 , and to the subscriber via data link 16 to the requesting subscriber input device.
  • the enterprise network 22 must include a server having a scalable, reliable and secure data access platform, such as MICROSOFT® Exchange Server, for ready access to the requested e-mail, calendar, or contact information.
  • FIG. 1A illustrates an embodiment of the present invention.
  • the embodiment allows subscribers to securely and remotely access a centralized data center 190 , which acts as an intermediary to facilitate subscriber information residing in an independent enterprise network 403 in real time.
  • a subscriber by virtue of a remote access device 104 , makes a request, across a network 100 , to a data center 190 , to supply subscriber information (e.g., messaging and collaboration information, such as electronic mail, appointment calendars, address/phone books) located in an enterprise network 403 .
  • subscriber information e.g., messaging and collaboration information, such as electronic mail, appointment calendars, address/phone books
  • the data center 190 receives the request, authenticates the subscriber, accesses the enterprise network 403 , establishes a secure session with the enterprise network 403 , retrieves the subscriber information, and formats the information in accordance with the display capabilities of the remote access device 104 .
  • the remote access device 104 may be connected to a “wireline” network (e.g., personal computer, kiosk, etc.) or may be connected to a wireless network (e.g., cellular phones, personal digital assistants [PDAs], MICROSOFT® Windows CE device, etc.).
  • a wireless network e.g., cellular phones, personal digital assistants [PDAs], MICROSOFT® Windows CE device, etc.
  • the data center 190 itself provides a central repository for the subscriber information (dashed-line). As such, the subscriber initiates a request in the remote access device 104 and the data center 190 receives the request, authenticates the subscriber, accesses the subscriber information, and formats the information in accordance with the display capabilities of the remote access device 104 .
  • the remote access and retrieval of subscriber information resident in the enterprise network 403 is initiated by requesting the information on a remote access device 104 .
  • these requests are initiated by inputting an address on a browser (or micro-browser) interface of the remote access device 104 .
  • the address partially identifies the enterprise network 403 that the subscriber is associated with (i.e., company, employer, etc.) and the address may be in the form of an HTTP URL (Hypertext Transfer Protocol Uniform Resource Locator).
  • HTTP URL Hypertext Transfer Protocol Uniform Resource Locator
  • the remote access devices 104 are wireless and include devices that are well-known in the art, such as hand-held wireless phones, Personal Digital Assistants (PDAs), MICROSOFT® Windows CE devices, and mobile computers. Such devices operate in wireless networks that include, but are not limited to PSTN, CDPD, CDMA/IS-95, TDMA/IS-136, MOBITEX, and GSM networks.
  • these remote access devices 104 generally have graphical displays to accommodate their browsing capabilities.
  • the remote access devices may use different markup languages to interpret, format, and display the contents of the retrieved subscriber information.
  • Such languages may include Hypertext Markup Language (HTML), Handheld Markup Language (HDML), Extensible Markup Language (XML), Extensible Stylesheet Language (XSL), and Wireless Markup Language (WML).
  • FIG. 1B illustrates the basic elements of a wireless implementation of network 100 in FIG. 1A. Artisans of ordinary skill will readily appreciate that these elements, and their interfaces, may be modified, augmented, or subjected to various standards known in the art, without limiting their scope or function.
  • the remote access device 104 first communicates and sustains a session with a Base Station Controller/Mobile Switching Center (BSC/MSC) 106 via the wireless interface (i.e., air-link) U m in accordance with a wireless communication network scheme, such as CDPD, CDMA/IS-95, TDMA/IS-136, MOBITEX, and GSM.
  • BSC/MSC 106 employs a transceiver to transmit to the remote access device 104 (i.e., forward link) and receive from the remote access device 104 (i.e., reverse link), consistent with the wireless network scheme.
  • the BSC/MSC 106 supervises, manages, and routes the calls between the remote access device 104 and the Inter-Working Function (TWF) 108 .
  • TWF Inter-Working Function
  • the IWF 108 serves as a gateway between the wireless system 100 and other networks.
  • the IWF 108 is coupled to the BSC/MSC 106 and in many cases it may be co-located with the BSC/MSC 106 .
  • the IWF 108 provides the session between the remote access device 104 and the BSC/MSC 106 with an IP address, consistent with the well-known Internet Protocol (IP).
  • IP Internet Protocol
  • the IP protocol is a network layer protocol that specifies the addressing and routing of packets (datagrams) between host computers and specifies the encapsulation of data into such packets for transmission. Addressing and routing information is affixed in the header of the packet. IP headers contain 32-bit addresses that identify the sending and receiving hosts. These addresses are used by intermediate routers to select a path through the network for the packet towards its ultimate destination at the intended address. Providing the session between the remote access device 104 and the BSC/MSC 106 with an IP address, the session can be intelligently routed to other networks.
  • the IWF 108 is subsequently coupled to a system router 110 , which interfaces with other networks, such as the Public Switched Telephone Network (PSTN) and other Wide Area Networks (WANs) providing Internet- or secure/unsecure Intranet-based access.
  • PSTN Public Switched Telephone Network
  • WANs Wide Area Networks
  • Data center 190 acts as an intermediary to remotely and securely collect, process, and format the information residing in the enterprise network 403 and to present the information on the remote access device 104 in real time.
  • the desired information will be stored in a specialized database/messaging server within the enterprise network 403 , such as, for example, MICROSOFT® Exchange Server 5.5.
  • a database hosts electronic mail, address books, appointment calendars, and is capable of groupware functionality.
  • the data center 190 comprises an interface network 120 , a Login subsystem 140 , and a Service subsystem 160 .
  • the interface network 120 employs perimeter router 122 to interface with the wireless communication system 100 , which transports the IP datagrams between the remote access device 104 and the BSC/MSC 106 .
  • the interface is achieved by virtue of a WAN topology and may employ well-known Asynchronous Transfer Mode (ATM), Frame Relay, dedicated DS-1 (1.544 Mbps), DS-3 (45 Mbps) and other topologies.
  • the perimeter router 122 may connect to the data center 190 through a firewall 124 to provide an added level of protection and further limit access to data center 190 from the Internet.
  • firewalls are well-known security mechanisms that protect the resources of a private network from users of other networks.
  • enterprises that allow its own subscribers to access the Internet may install a firewall (or firewalls) to prevent outsiders from accessing its own private data resources and for controlling what outside resources its own subscribers have access to.
  • firewalls filter incoming and outgoing network packets to determine whether to forward them toward their destination.
  • the firewall 124 interfaces with the login subsystem 140 .
  • the login subsystem 140 comprises a login server (LS) 142 , and an attributes database server 144 .
  • LS login server
  • an external disk array 146 may be used to store the database information.
  • the firewall 124 is connected to the LS 142 .
  • the LS 142 provides a centralized login site for all subscribers and provides the first level of subscriber authentication. As such, all sessions stemming from subscribers' remote access devices 104 are first handled by the LS 142 .
  • the LS 142 is configured as a web server, such as MICROSOFT® Internet Information Server (IIS) for remote corporate enterprise access.
  • IIS Internet Information Server
  • the IIS is designed to be tightly integrated with MICROSOFT® Windows NT Server, resulting in faster Web page serving.
  • the LS 142 may be implemented as a single IIS or as a cluster of IISs with load balancing and fault tolerant features provided by MICROSOFT® Windows Load Balancing Service (WLBS).
  • WLBS MICROSOFT® Windows Load Balancing Service
  • the LS 142 communicates with an attributes database server 144 , which provides, inter alia, subscriber credential profiles to authenticate each subscriber.
  • the attributes database server 144 may also contain subscriber display preferences and customized enterprise display features).
  • the subscriber credentials are stored in the external disk array 146 , which is coupled to the attributes database server 144 .
  • the attributes database server 144 may be configured as a Structural Query Language (SQL) database server and may be implemented as a single server or as a cluster of servers with cluster management provided by MICROSOFT® Cluster Server (MSCS).
  • SQL Structural Query Language
  • FIG. 2 illustrates the LS 142 authentication process.
  • subscribers input an address or URL, corresponding to an enterprise network or sub-network therein, in the browser interface of their respective remote access devices 104 .
  • URL an address or URL
  • inputting a valid URL pointing to a particular enterprise network 403 in the remote access device 104 browser establishes a session between the browser and the LS 142 .
  • the LS 142 responds by sending a message back to the remote access device 104 browser, prompting the subscriber to supply login credentials and a personal identification number (PIN), as indicated in block B 210 .
  • the login credentials may include subscriber-name and password while the PIN is used as a second level of authentication by the enterprise network 403 .
  • the LS 142 examines the login credentials.
  • the LS 142 determines, as shown in block B 220 , whether the account is locked out. As a security measure, an account is locked out if a predetermined number (e.g., 3) of successive bad login attempts occur. If the account is locked out, the LS 142 , in block B 225 informs the subscriber that the account has been locked out.
  • LS 142 examines the information. If the account has not been locked out, the LS 142 advances to block B 230 .
  • the LS 142 compares the examined login credentials with the subscriber credential profile.
  • the subscriber credential profile contains subscriber-specific information, which resides in the attributes database server 144 .
  • the LS 142 determines whether a match exists between the session-provided information and the stored credential information. If a match does not exist, the LS 142 progresses to block B 235 , where it first determines whether the current request constitutes the third bad login attempt. If so, the account is locked, as stated above with respect to block B 220 . If the request does not constitute the third bad attempt, then the LS 142 advances to block B 245 , where it requests the subscriber to re-input the login information and PIN.
  • the LS 142 associates the identified subscriber with a corresponding enterprise network 403 (as indicated by the information contained in the URL, subscriber credentials, or a combination thereof), thereby achieving the first level of authentication, as depicted in block B 250 .
  • the existence of a subscriber in the attributes database server 144 is preferably keyed to both the entered subscriber-name and the enterprise network 403 associated with the subscriber. Accordingly, different enterprise networks 403 can have the same subscriber-name.
  • the LS 142 Upon successfully authenticating the subscriber, the LS 142 , in block B 260 , encodes the session with a subscriber-specific, session-specific, and time/date-specific enterprise access code (EAC). This is achieved by providing the browser on the remote access device 104 with the EAC as well as the address information (i.e., URL) for the dedicated server (i.e., EGS), within the service subsystem 160 , that points to the enterprise network 403 . The LS 142 then informs the dedicated server of the impending session and provides the server with the EAC. Subsequently, in block B 270 , the LS 142 dynamically redirects the session to the dedicated server and upon recognizing the EAC session, the dedicated server grants access to the redirected encoded session.
  • EAC enterprise access code
  • the data center 190 includes a service subsystem 160 .
  • the service subsystem 160 comprises a plurality of dedicated web servers, wherein each server accesses and services a specific enterprise network and a plurality of attributes database servers 166 which service the dedicated servers.
  • These dedicated web servers are referred to as enterprise gateway servers (EGSs) 164 .
  • FIG. 3 illustrates that each EGS 164 comprises a MICROSOFT® Internet Information Server (UIS), a plurality of application interfaces 307 , and an associated attributes database server 166 .
  • UIS Internet Information Server
  • the EGS 164 may be implemented as a single IIS or as a cluster of IISs with load balancing and fault tolerant features provided by MICROSOFT® WLBS.
  • the application interfaces 307 provide the functionality and interoperability between the EGS 164 elements, the LS 142 , and the attributes server 144 .
  • the application interfaces 307 comprise a plurality of COM (Component Object Model) objects 308 and Active Server Pages (ASPs) 306 that are specifically designed to achieve EGS 164 functionality.
  • the COM objects 308 (described in more detail below) are reusable program building blocks that can be combined with other components in a distributed network to form functional applications.
  • the ASPs 306 are server-side scripts that are capable of generating markup languages, including but not limited to HTML, HDML, WML, XSL, XML, etc., to perform the dynamic rendering of web content which can be delivered to any browser.
  • the ASPs 306 work with in conjunction with the COM objects 308 to capture the contents of the enterprise network 403 information and dynamically output the information on the browser display of the remote access device 104 .
  • the ASPs 306 are designed to first retrieve the subscriber display preferences from the attributes database server 144 to determine how to render the information on the browser display of the remote access devices 104 . These preferences include attributes relating to the formatting, filtering, and sorting of the information.
  • attributes include attributes relating to the formatting, filtering, and sorting of the information.
  • the messaging database server e.g., MICROSOFT® Exchange Server 5.5
  • a session is established with the LS 142 .
  • the HTTP header of the request contains information identifying the particular remote access device 104 used in entering the URL.
  • An ASP 306 exploits this information to determine what type of markup language (e.g., HTML, HDML, WML, XSL, XML, etc.) to use in rendering the display of the desired e-mail information.
  • markup language e.g., HTML, HDML, WML, XSL, XML, etc.
  • the LS 142 redirects the session with a URL that points to an ASP associated with a dedicated EGS, along with the type of information sought.
  • the redirected URL may read as “enterprise 13 network 13 A/email.asp”, where “enterprise 13 network 13 A” is the name of the enterprise network 403 in which the EGS 164 points to and “email.asp” points to the ASP 306 responsible for retrieving and incorporating the subscriber-specified preferences. These preferences identify how the e-mail information in the enterprise network 403 appears on the browser display of the remote access device 104 .
  • the subscriber may want the unread inbox entries to be rendered first, followed by the subject of each entry, followed by the initials of the sender, followed by the time and date of transmission, etc.
  • these preferences may be stored in the attributes data server 164 within the service subsystem 140 ; in another implementation, these preferences may be stored in the attributes data server 144 within the login subsystem 140 .
  • the ASPs 306 are also responsible for validating the session between the EGS 164 and the enterprise network 403 . After being re-directed to a dedicated EGS 164 , a Virtual Private Network (VPN) connection is established to the enterprise network 403 and the session is extended thereto. As described in more detail below, the ASPs 306 must determine whether the VPN connection and the session between the EGS 164 and the enterprise network 403 are valid.
  • VPN Virtual Private Network
  • the ASPs 306 retrieve the desired information in raw form from the enterprise network 403 and format the raw information in accordance with the subscriber preferences and remote access 104 device limitations.
  • the data center 190 may act as a central repository for the subscriber information.
  • the data center 190 provides subscribers with “enterprise-like” functionality by hosting subscriber information (e.g., such as e-mail, calendar, and phone book information) that would otherwise be stored in an enterprise network 403 .
  • subscriber information e.g., such as e-mail, calendar, and phone book information
  • This may be achieved by incorporating a messaging server, such as MICROSOFT® Exchange Server 5.5, within the data center 190 .
  • the subscriber initiates a request in the remote access device 104 and the data center 190 receives the request, establishes a session with the LS 142 , and authenticates the subscriber.
  • the LS 142 instead of the LS 142 re-directing the session to an EGS 164 connected to a remotely-situated enterprise network 403 , the LS 142 accesses the desired subscriber information from the local messaging server 148 within the data center 190 that hosts such information.
  • One implementation includes re-directing the session to a web server 147 , which is coupled to the local messaging server 148 , in a manner similar to the EGS 164 .
  • the desired information is retrieved and rendered in accordance with the display capabilities of the remote access device 104 .
  • the login subsystem 140 determines the type of remote access device addressing the data center 190 .
  • the login subsystem 140 particularly the login server 142 , translates the HTTP header received and provides data and a subscriber interface in accordance with that device type. For example, if the subscriber has indicated her preference for receiving ten e-mail headers when accessing the system with her remote access device 104 , and the login server 142 receives the HTTP header and a request for e-mail, the system will only seek to transmit ten e-mail headers for the subscriber.
  • the data center 190 retrieves data requested by remote access devices 104 from an enterprise network 403 and returns the requested data, in real time, to the remote devices 104 (i.e., the data center acts as an intermediary).
  • the data center acts as an intermediary.
  • FIG. 4 is high level diagram of data center 190 coupled, via network 402 , to a plurality of enterprise network servers 403 .
  • Network 402 may be a network, such as the Internet or a proprietary local area or wide area network.
  • Data center 190 links multiple heterogeneous remote devices 104 to one of enterprise network servers 403 .
  • data at an associated enterprise network server 403 is transferred over network 402 to data center 190 , where it is converted to a form suitable for display by the requesting remote device.
  • Each enterprise network server 403 is a computer or network of computers managed by a corporation or other entity that implements corporate messaging and collaboration applications such as email, calendar, or contact information management applications. These applications are implemented by messaging server 410 , which may be a dedicated messaging and collaboration server such as a server running MICROSOFT® Exchange Server 5.5 on top of the MICROSOFT® Windows NT operating system. MICROSOFT® Exchange Server and MICROSOFT® Windows are available from MICROSOFT® Corporation, of Redmond, Wash. Other known implementations of the messaging and collaboration servers may equivalently be used.
  • messaging server 410 may be a dedicated messaging and collaboration server such as a server running MICROSOFT® Exchange Server 5.5 on top of the MICROSOFT® Windows NT operating system.
  • MICROSOFT® Exchange Server and MICROSOFT® Windows are available from MICROSOFT® Corporation, of Redmond, Wash. Other known implementations of the messaging and collaboration servers may equivalently be used.
  • Remote Gateway Servers (RGS) 415 are preferably implemented as servers that act as an intermediary between messaging servers 410 and data center 190 . Although the messaging servers 410 could communicate directly with data center 190 , remote gateway servers 415 provide a layer of abstraction between the messaging servers and the data center 190 that enables more efficient communication when communicating over a “slow” network such as the Internet. RGSs 415 are described in more detail below. RGSs 415 may optionally not be used, in which case, the messaging servers 410 communicate could communicate directly with data center 190 . For the reasons discussed below with reference to FIGS. 7A and 7B, this has been found to be a less efficient implementation.
  • network 402 is a public network, such as the Internet
  • data transmitted over network 402 is at risk of being intercepted or monitored by third parties.
  • the data may be encrypted at its transmission site (e.g., data center 190 or enterprise network server 403 ), and correspondingly decrypted at its reception site.
  • transmission site e.g., data center 190 or enterprise network server 403
  • VPN virtual private network
  • FIGS. 5A and 5B are block diagrams illustrating embodiments of the implementation of a VPN between data center 190 and enterprise network 403 .
  • the VPN is implemented by encrypting information transmitted between EGS 164 and its corresponding RGS 415 on enterprise network server 403 .
  • EGS 164 encrypts the transmitted data using software 510 running on the EGS.
  • the encrypted data is transmitted over network 402 and decrypted by dedicated VPN server 515 .
  • Data flowing from enterprise network server 403 to data center 190 is similarly encrypted at VPN server 515 and decrypted by software 510 .
  • Firewall 520 may optionally be implemented in conjunction with VPN server 515 to limit unauthorized outsiders from accessing the private data resources of enterprise network 403 and to control what outside resources users at enterprise 403 have access to. Firewalls are well known in the art.
  • PPTP software 510 is software that implements the well-known Point-to-Point Tunneling Protocol (PPTP). Although PPTP software 510 is shown executing on a VPN server 515 and EGS 164 , it may alternatively be implemented in special purpose PPTP routers or other network devices.
  • PPTP Point-to-Point Tunneling Protocol
  • FIG. 5B illustrates another embodiment implementing a VPN between data center 190 and enterprise network 403 .
  • This embodiment is similar to the one described with reference to FIG. 5A, the primary difference being that the IPSEC (Internet Protocol Security) standard is used to encrypt/decrypt data instead of the PPTP standard.
  • IPSEC Internet Protocol Security
  • encryption using IPSEC is implemented by a pair of complementary routers 525 .
  • the IPSEC standard is known in the art. In contrast to the PPTP standard, the IPSEC standard can provide encryption at the session layer or the network packet processing layer. PPTP provides encryption at the session layer. Additionally, the IPSEC standard offers considerably more options in the implementation of bulk encryption or hash algorithms.
  • RGS 415 communicates with data center 190 through the VPN. Although RGS 415 may be typically present at the same location as the corporate network, RGS 415 and data center 190 are preferably given limited access to messaging server 410 as well as any other corporate servers. In particular, RGS 415 is only given the authority to communicate with messaging server 410 to the extent necessary to retrieve and store data related to the messaging and collaboration applications implemented by messaging server 410 . Thus, even though RGS 415 may be given limited access to messaging server 410 and the rest of enterprise network 403 , it is generally physically located at the site of the enterprise network 403 .
  • FIG. 6 is a diagram of a more detailed architectural view of the software components used to implement RGS 415 .
  • RGS 415 provides a MAPI (Messaging Application Programming Interface) interface 602 .
  • MAPI 602 is a MICROSOFT® Windows program interface that enables software objects on RGS 415 to communicate with a MAPI-compliant information store, such as MICROSOFT® Exchange messaging server 410 .
  • MAPI 602 provides the low level interface between RGS 415 and messaging server 410 .
  • MAPI 602 accesses messaging server 410 based on commands from CDO (Collaboration Data Objects) object 604 .
  • CDO 604 is an object in the COM (Component Object Model) framework for the development of component software objects.
  • COM provides the underlying services of interface negotiation, life cycle management (determining when an object can be removed from a system), licensing, and event services (putting one object into service as the result of an event that has happened to another object).
  • MAPI the COM framework, and the CDO object are all available from MICROSOFT® Corporation.
  • CDO 604 processes requests from data center 190 to access messaging server 410 .
  • Typical CDO requests include requests such as: retrieve the message object for a particular email of a particular subscriber, retrieve the subject of the email, and retrieve the time the email was sent. For each of these requests, CDO 604 accesses messaging server 410 , retrieves the requested information, and returns the information to the requesting entity.
  • Objects in the conventional COM framework are limited to communicating with other objects on the same server.
  • COM may be extended to access and use resources present at server program objects on other computers in a network using the DCOM (Distributed Component Object Model) framework.
  • DCOM is available from MICROSOFT® Corporation.
  • CDO 604 operating under DCOM, may be stretched across network 402 so that requests for messaging server 410 are initiated by a CDO object resident in EGS 164 .
  • This implementation is conceptually illustrated in FIG. 7A, in which CDO 701 is shown communicating directly with messaging server 410 across the Internet.
  • CDO 701 generates multiple individual requests 705 for what can often be represented by a single request (e.g., CDO 701 generates separate network requests to retrieve the subject and the time that an email is sent, while practically, these requests may both be submitted at the same time)
  • delays can occur when accessing messaging server 410 .
  • FIG. 7A shows that delays can occur when accessing messaging server 410 .
  • CDO 701 is located across a relatively slow or unreliable network such as the Internet, generating multiple requests at CDO 701 can cause significant delays in the overall response time. For example, if there is a quarter second delay associated with transmitting a request over the Internet, one request for a message from message server 410 may be acceptable, while 40 partial requests for the same message may result in an unacceptably long delay to retrieve the message.
  • a DCOM stub object 605 executing locally on RGS server 415
  • a DCOM proxy object 607 executing on EGS server 164
  • DCOM stub 605 and DCOM proxy object 607 communicate with one another over network 402 using a higher level, less messaging intense protocol than that used by CDO 604 when communicating with messaging server 410 .
  • DCOM proxy 607 may issue a single aggregate request for all the information associated with one email, or for the first ten emails.
  • DCOM stub 605 receives the single request from DCOM proxy 607 and converts it into the appropriate CDO calls. Data received back from CDO 604 is similarly aggregated into the higher-level protocol and transmitted back across network 402 to DCOM proxy 607 . Because CDO 604 executes locally with messaging server 410 , multiple calls to the messaging server do not significantly slow system response time.
  • DCOM proxy 607 and DCOM stub 605 manage the connection over network 402 .
  • DCOM proxy 607 establishes a dedicated VPN session connection (“tunnel”) 608 between DCOM proxy 607 and DCOM stub 605 .
  • tunnel a dedicated VPN session connection
  • DCOM stub 605 receives the subscriber's PIN from DCOM proxy 607 .
  • the PIN is passed to Lightweight Directory Access Protocol (LDAP) object 609 , which retrieves a locally stored copy of the subscriber's PIN and compares it to the copy received from enterprise gateway server 164 .
  • LDAP Lightweight Directory Access Protocol
  • a second level of subscriber authentication is achieved.
  • the values of the PINs are controlled locally at enterprise server 415 . Accordingly, system administrators at the enterprise server have control of the second authentication level, and therefore final control over which subscribers are allowed to access the enterprise network information.
  • CDO object 604 is executing locally at data center 190 .
  • EGS 164 accesses DCOM proxy 607 as if it were a locally executing CDO object.
  • Proxy 607 converts the CDO requests from EGS 164 to the previously mentioned higher level, less message intensive protocol, and transmits the request through the session tunnel 608 to DCOM stub 605 .
  • calls across network 402 are handled transparently to EGS 164 .
  • dropped or lost tunnels to DCOM stub 605 are reinitiated by DCOM proxy 607 and DCOM stub 605 without involving EGS 164 .
  • FIG. 7B is a conceptual diagram illustrating the communication path between messaging server 410 and EGS 164 when DCOM proxy 607 and DCOM stub 605 are used.
  • CDO 604 communicates with messaging server 410 using multiple CDO requests 712 .
  • DCOM stub 605 aggregates the results of a number of CDO requests and transmits it to DCOM proxy 607 over an encrypted session tunnel.
  • Proxy 607 converts the aggregated results into CDO messages for EGS 164 .
  • the system further includes the ability to personalize or customize the subscriber interface based on the status or desire of the subscriber or the enterprise network 403 .
  • the party maintaining the enterprise network 403 may wish to introduce certain graphics or data when a subscriber logs in or seeks data from the enterprise. Coupled with this is the desire of a subscriber to configure his or her account to show certain information; for example, when the subscriber is operating a device at his workplace, he may wish to only receive work related e-mail.
  • the subscriber may have language preferences or screen style preferences that he or she wishes to view on particular devices.
  • the subscriber enters his preferences, which are stored in the SQL server in the login subsystem 140 . These features may include background color, primary and secondary colors, or other preferences for the subscriber interface.
  • the login server 142 receives the carrier, enterprise, language, and browser information from the signal received.
  • the set of customizable elements are identified by a sequence called the customization ID.
  • the customization ID represents a unique combination of carrier, enterprise and language desired by the particular enterprise.
  • the customized elements are inserted into ASPs at specific locations, thereby altering the look and feel of the system.
  • the custom elements themselves are not fetched directly from the SQL Server during runtime but are stored as a structured array of values in memory on the server. Running in memory provides increased performance by minimizing database queries for custom elements.
  • the customization system “refreshes” itself during runtime by updating the in-memory structure arrays from the data in the SQL Server database. Changes to the customization system are therefore available real-time without the need to restart the system.
  • Customization table which includes a correlation between a specific combination of Carrier, Enterprise and Language and a unique Customization ID, i.e., [Provider X; Company Y; French Canadian] is CustomizationID #6.
  • This combination of factors, or Customization ID is in turn related to a set of customized elements.
  • the number and variety of customizable elements can be extensive depending on resource availability, and can range from the background color of the page to the text within the subject header of the e-mail in box.
  • the CustomElementNames table maintains the master list of all of the customizable elements supported.
  • the system stores the customized elements are in the CustomElements table that maintains a correlation between a specific Customization ID and all of the customizable element names and their associated values.
  • the CustomElements table track elements as name/value pairs, elements may be removed or added without modifying the table structure.
  • Element values can be HTML, HDML, XML, hex values plain text or any other textual information.
  • the system obtains the user's CarrierID, EnterpriseID and LanguageID from her record in the Users table. The system then compares these three values against the Customization table, looking for a match. If an exact match is not found, the system searches for the closest match in the following order of precedence:
  • the system determines the CustomizationID.
  • the enterprise dictates certain components of the Customization ID. Should no enterprise dictated parameters be available, the system may provide the user with the ability to dictate preferences for appearance, and if the user has not indicated the information, the default appearance is presented to the user.
  • FIG. 8 Application startup procedures are presented in FIG. 8.
  • the system builds the pCustomization Index array 801 by parsing the Customization table 802 and ordering the CustomizationID's sequentially. This array will later be used as an “row index” for the pElementValues array 806 .
  • the system then builds the pElementNames array 803 by parsing the CustomElementNames table 804 .
  • the pElementNames array 803 serves as the “column index” for the pElementValues array 806 .
  • the system then populates the pElementValues array 806 by parsing the CustomElements table 805 .
  • Each row of the pElementValues array 806 corresponds to a specific element found in the pElementNames array 803
  • each column of the pElementValues array 806 corresponds to a specific CustomizationID from the pCustomizationIndex array 801 .
  • the CustomElements table 805 is parsed and the values are positioned within the pElementValues array 806 according to the ElementName and CustomizationID for each record.
  • Each application includes the customization library in its global variable definitions. This file contains all of the functions needed by customization.
  • the Application 13 OnStart subroutine calls the initCustomization( ) function, which performs the first-run parsing of the database tables and the storage of the customized elements into Application variables. This function loads the latest customized elements from the database and populates Application variables with variant arrays containing these elements.
  • the system determines the user's CustomizationID by examining her CarrierID, EnterpriseID and LanguageID and finding the CustomizationID that is the closest match. Once the CustomizationID has been determined, the system compares it to the CustomizationIndex array to determine which array positions contain the customized elements for this user. This derived value is called the User Customization Index value and is stored in a Session variable (or carried along the query string for Phone code). The getUserCustomizationIndex( ) function returns a value representing the ordinal position of customized elements for the particular user. Since all of the customizable elements of the service are stored as variant arrays within Application variables for each application they are easily accessible from ASP.
  • Each page that needs customization must have the getElement( ) function included, which returns a string value representing the customization element for a specific Customization ID.
  • each occurrence of a hard-coded element HTML or otherwise
  • Each web application needs to have an ASP page that calls the initCustomization( ) function, passing an argument to display the customized contents as they are populated into Application variables.
  • the system further provides for notification in circumstances where the user requests to be notified on a particular input device under predetermined conditions.
  • the subscriber receives a communication that he or she has established to be important, such as an e-mail message having a designation of urgent, the system attempts to notify the subscriber.
  • the subscriber states his or her preferences for notification, such as what events trigger a notification and which input device or devices should be notified of the triggering event.
  • These notification indications are maintained in the SQL server at the data center 190 , and this information is periodically monitored. As may be appreciated, only certain events will require user notification. With data information limited to e-mail, calendar, and contacts, notification will not be required for contacts, and certain e-mail requests may require notification. Calendar items may also prompt notification.
  • the user preference may require monitoring at the remote enterprise by passing the requested notifications to the remote enterprise location.
  • notification may monitor user requests at the data center 190 , with requests periodically transmitted to the enterprise servers.
  • the problem with maintaining the information at the data center 190 and transmitting requests to the enterprise server is overhead.
  • the enterprise server maintains the preferences for all users in its domain, such as notification of an urgent e-mail, and when the condition is true, passes information to the data center 190 .
  • Data center 190 correlates the notification with the various input devices requested to be notified by the user, and transmits the data to the user input device requested.
  • A-further aspect of the current system is the ability for the system to determine the type of device accessing the system.
  • the system receives information over a data line including initialization information, account information, passwords, and so forth, in addition to browser information.
  • Browser information includes the information requested for the type of browser used, e.g. a MICROSOFT® Windows CE device indicates that it is using a Windows CE compliant browser.
  • Included in the browser information is header information from which the data center 190 can determine the type of device transmitting the data.
  • the data center 190 stores the information expected to be received from a particular browser; for example, the Netscape browser, used on desktop and laptop devices, may include the word “mozilla” in its header information.
  • the data center 190 maintains predetermined expected header parameters for each anticipated input device. This predetermined information is maintained in the SQL server. Upon connection between the input device and the data center 190 , the data center retrieves the browser header information and compares this information with the predetermined information and, if it determines a match, interfaces with the input device with input device specific data, e.g. screen size limitations, colors/greyscale data, and so forth. Thus the system does not require user input to determine the type of device addressing the data center 190 and can transmit appropriate input device specific data to the user.
  • input device specific data e.g. screen size limitations, colors/greyscale data, and so forth.
  • the data center interacts with the enterprise network by transmitting requests to the enterprise network and receiving responses therefrom.
  • a user desiring access to the data center will in most circumstances also wish to have access to the enterprise network.
  • an enterprise network may not wish the data center to directly access the enterprise, and will not automatically grant access.
  • Most enterprise networks will have firewalls installed to prohibit access by unknown parties.
  • the system accepts passwords for access to the data center and the user logs into the data center. Subsequent to this logon, the system knows the enterprise where the user may access information based on the user's profile. The user then is provided by the data center to the enterprise network, where the user must log into the enterprise. This will typically be a different user name and a different password. Certain password evaluation algorithms are employed by the data center to guard against access by unauthorized parties. However, under all conditions, the data center never obtains the user's enterprise password, but merely passes the user's password through to the enterprise without storing or evaluating the information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A data center for providing access to subscriber information from a remote enterprise network in real-time is presented. The data center includes a data network interface system for interfacing with a data network and a login system, which includes a login server and a data center messaging server. The login server receives a request inputted by a subscriber on a remote access device across the data network to access the subscriber information and authenticates the subscriber and the remote device, while the data center messaging server hosting the subscriber information. Upon authenticating the subscriber and the remote device, the login server, accesses the subscriber information on the data center messaging server and provides the subscriber information to the remote access device in response to the received request.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application is a continuation of U.S. patent application Ser. No. 09/438,819, filed Nov. 10, 1999, pending.[0001]
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention [0002]
  • This invention generally relates to the field of communications and information network management. More particularly, the present invention relates to a novel system that allows remote end users to rapidly and securely access information from a variety of subscriber devices using a centralized remote data center. [0003]
  • 2. Description of Related Art [0004]
  • Recent innovations in wireless communication and computer-related technologies as well as the unprecedented growth of Internet subscribers have provided tremendous opportunities in telecommuting and mobile computing. In fact, corporate entities and enterprises are moving towards providing their workforces with ubiquitous access to networked corporate applications and data, such as, for example, e-mail, address books, appointment calendars, scheduling information, etc. [0005]
  • The problem with providing universal access to proprietary information is one of logistics. For example, it is common for an individual to keep sets of addresses on different devices, such as work addresses on a personal computer used at work, personal addresses on a home computer, and commonly called telephone numbers on a cellular telephone. Problems arise when the individual is at home and wishes to call or fax a work colleague, particularly when the individual does not have access to the work addresses from the home computer or any other available device. Further, different urgent priority items, such as urgent e-mails, may be unavailable to a subscriber for an extended period of time if the subscriber is equipped only with a personal digital assistant (PDA) and a cellular telephone unable to receive e-mail. [0006]
  • Along with the problem of maintaining data in various locations, users frequently have access to different devices, each having different data access abilities and requirements. For example, certain cellular telephones have speed dial or commonly called telephone numbers, but do not have the ability to receive e-mail. Certain cellular telephone handsets have the ability to receive alphanumeric pages, but some cellular service providers do not support this feature while others do. Also, many PDAs do not have the ability to receive over-the-air transmissions, but can synchronize with a database, such as a database associated with a personal computer and/or network. Other PDAs have the ability to receive and edit e-mail messages. Some systems or networks allow a subscriber to download her e-mail headers to a remote device and read some portion or all of the e-mail. After reading the e-mail on the remote device, some systems delete the e-mail while others maintain the e-mail on the system until read or deleted at the home system. Hence the ability for a subscriber to access, maintain, and dynamically utilize information is heavily dependent on the input device employed by the subscriber. [0007]
  • Further, certain organizations limit access to workers having a need to know the information maintained. For example, many corporations control e-mail using a dedicated server having restricted access, including using firewalls and encryption. Access to this information requires making the information available under conditions imposed and maintained by the corporation. [0008]
  • For purposes of this application, a corporation or other entity, public private, or otherwise, is referred to as an “enterprise.” As used herein, an enterprise represents any entity maintaining or controlling information at a remote location from a subscriber. Examples of enterprises include a secure corporate network, a dedicated server, or a publicly accessible web site network. [0009]
  • Other enterprises may be employed which maintain and control certain information as may be appreciated by those of skill in the art. [0010]
  • While certain systems have been employed to provide access to information maintained at an enterprise, none have provided for access by multiple devices including PDAs, cellular telephones, personal computers, laptops, MICROSOFT® Windows CE devices, and so forth. [0011]
  • Further, those systems discussed in the literature that provide information access to users employing a limited set of input devices have suffered from accessibility and data latency problems. Accessibility issues involve providing access to the information by only offering access through a corporate Intranet or other internal access scheme. A subscriber wishing to review his or her e-mail on a laptop borrowed from a colleague frequently is denied access to the corporate information. Further, data latency universally inhibits the ability to access data. Users desire a fast response to the information they desire, and information on any device that takes longer than fifteen seconds to load is undesirable. [0012]
  • Additionally, certain enterprises wish to have control over information maintained on their networks, including maintaining password and account information for the enterprise users. It is therefore undesirable for the enterprise to offer sensitive data, such as subscriber information and passwords, to outside parties where the data may be compromised. Security issues, such as corporate firewalls and encryption of data, must in many instances be maintained and controlled by the enterprise rather than a third party. [0013]
  • Certain enterprises also have particular needs and preferences. For example, some corporate enterprises may maintain a network that interfaces with offices in different countries, and depending on the person accessing the information, he or she may have a particular language preference. Certain enterprises also find it highly desirable to have a reconfigurable interface to provide updated graphics, information, and presence to network users. These subscriber interfaces may change rapidly in some industries. A system offering information access should therefore be readily reconfigurable and offer subscriber interfaces structured for the enterprise for use on a variety of input devices. [0014]
  • Such a system should be relatively easy to set up and maintain, and use readily available hardware and software wherever possible. Further, the system should provide for data access tracking and efficient security and authorization. [0015]
  • It is therefore an object of the current invention to provide a system for offering convenient and efficient access to data, including e-mail, calendar/date book, and addresses. These terms are commonly known in the art, wherein e-mail represents electronic mail deliverable in a recognized format, including attachments and other electronic mail attributes. Calendar/date book data represents dates of meetings, appointments, holidays, or other noteworthy events maintained in a searchable database type format. Addresses represent information associated with contacts, such as the contact's name, title, company, business address, business phone number, business fax number, home address and/or phone number, cellular phone number, e-mail address, and so forth. Access to the information should preferably be provided through a central location. [0016]
  • It is a further object of this invention to provide for access to the desired information using any of a variety of input devices, including but not limited to a personal computer, a laptop computer, a PDA, a cellular telephone, a two-way pager, and a MICROSOFT® Windows CE device. [0017]
  • It is still a further object of the present invention to provide a system that recognizes the type of device addressing and requesting the information and to provide the information to the device in a proper format in accordance with the preferences of the enterprise transmitting the information. [0018]
  • It is another object of the current invention to provide a central location for enabling a series of users to access information at various enterprises when said users employ various input devices. Such a central location should offer relatively robust access to the information desired, offer security for information maintained on the enterprise such as subscriber data and passwords, and provide for authentication and access tracking. [0019]
  • It is yet another object of the current invention to provide an interconnection between a central data location and an enterprise such that the interconnection can quickly, reliably, and efficiently transfer information, such as e-mail, calendar, and address data, between the central data location and the enterprise. [0020]
  • It is a further object of the current invention to provide a remote enterprise architecture that supports inquiries from and responses to the central data location for use in a multiple subscriber and multiple input device data access scheme. The remote enterprise architecture should permit rapid access to the information and transmission of the information while simultaneously maintaining firewall, security, and encryption requirements. [0021]
  • It is still a further object of the current invention to provide architectures, which are reliable and easy to use from both a software and hardware standpoint, and utilize where possible existing components to minimize system costs. [0022]
  • It is yet a further object of the current system to provide a subscriber interface that is readily reconfigurable by an enterprise maintaining the information. Further, the subscriber interface should preferably provide enterprise data on various input devices and take into account enterprise and subscriber preferences when interfacing with a subscriber. [0023]
  • It is another object of the current invention to provide a business model for supplying users with access to e-mail, calendar, and address information in a multiple input device environment when the desired information is maintained at a remote enterprise. [0024]
  • SUMMARY OF THE INVENTION
  • Accordingly, there is herein provided a data center that provides a central location for accessing, transmitting, and maintaining desired subscriber information, including e-mail, calendar, and contacts. The data center includes a login site and associated SQL server, an enterprise gateway server and associated SQL system. The arrangement disclosed herein provides for remote login by users employing any of a number of subscriber input devices. The architecture provides for two levels of authentication, including an initial authentication for the data center and a pass through authentication to the enterprise network. The data center also preferably includes security, such as firewall hardware, and has the ability to translate received CDO commands into XML commands. [0025]
  • The data center permits the authentication of a subscriber and access to a remote enterprise having a scalable, reliable, and secure data platform, such as MICROSOFT® Exchange Server. [0026]
  • Access to the remote enterprise is made through a dedicated connection such as an IPSEC or PPTP tunnel arrangement. The enterprise network is preferably maintained by the party controlling the information and the connection, and thus the system supports access to the remote enterprise through the data center without the data center receiving and translating the subscriber information. [0027]
  • The remote access device transmits or receives information over a data link, which is connected to a data center. The data center offers a central location for accessing and processing information from various remote enterprise networks. The data center includes at least one login server, configured as a web server (e.g., MICROSOFT® IIS), having access to at least one attributes database server (e.g., SQL server). The login server identifies and authenticates the subscriber and verifies that the subscriber is associated with a particular enterprise. The login server refers to the attributes database server for the data necessary to perform these tasks, and thus the attributes database server performs data storage for account access purposes. The login runs individual active server pages that provide the requested information back across the data link to the subscriber. The data center may send data through a dedicated connection, which is preferably an IPSEC tunnel through the Internet, a PPTP connection via the Internet, or it may send data through a non-Internet WAN transport mechanism. The Internet provides a powerful and readily accessible data transmission media. Addition of enterprise networks or data centers to an arrangement employing the Internet is relatively simple. The data link may also employ the Internet for subscriber access to the data center. [0028]
  • Other objects, features, and advantages of the present invention will become more apparent from a consideration of the following detailed description and from the accompanying drawings. [0029]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The accompanying drawings, which are incorporated in and constitute a part of this Specification, illustrate an embodiment of the invention and, together with the description, explain the objects, advantages, and principles of the invention. In the drawings: [0030]
  • FIG. 1 is a conceptual diagram representing the major components of the system; [0031]
  • FIG. 1A is a high level block diagram depicting the basic elements of an embodiment of the present system; [0032]
  • FIG. 1B is a high level block diagram depicting various elements of an exemplary communication system interfacing with a remote data center; [0033]
  • FIG. 1C is a high level block diagram depicting the architecture of a remote data center; [0034]
  • FIG. 2 is a functional block diagram depicting the authentication process; [0035]
  • FIG. 3 is a high level block diagram illustrating the basic elements of the EGS; [0036]
  • FIG. 4 is high level diagram depicting the connectivity between a data center and a plurality of enterprise network servers; [0037]
  • FIGS. 5A, 5B are block diagrams illustrating embodiments of the implementation of a Virtual Private Network interconnecting a data center and a enterprise network; [0038]
  • FIG. 6 is a diagram depicting the architecture of the RGS software components; [0039]
  • FIGS. 7A and 7B are diagrams depicting alternative embodiments of the communications between a messaging server and an EGS; and [0040]
  • FIG. 8 illustrates the customization initialization procedure.[0041]
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • The following detailed description of the embodiments of the present invention refers to the accompanying drawings that illustrate these. Other embodiments are possible and modifications may be made to the embodiments without departing from the spirit and scope of the invention. Therefore, the following detailed description is not meant to limit the invention. Rather the scope of the invention is defined by the appended claims. [0042]
  • It will be apparent to one of ordinary skill in the art that an embodiment of the present invention, as described below, may be realized in a variety of implementations, including the software, firmware, and hardware of the entities illustrated in the figures (i.e., [0043] remote access device 104, BSC/MSC 106 and IWF 108). The actual software code or control hardware used to implement the present invention is not limiting of the present invention. Thus, the operation and behavior of the present invention will be described without specific reference to the actual software code or hardware components. Such non-specific references are acceptable because it is clearly understood that a person of ordinary skill in the art would be able to design software and control hardware to implement the embodiment of the present invention based on the description herein.
  • FIG. 1 presents a conceptual overview of the design of the current system. From FIG. 1, a subscriber has access to an input device, which may be one from a class of [0044] input devices 10 including, but not limited to, a cellular telephone 11, a personal digital assistant (PDA) 12, a MICROSOFT® Windows CE device 13, a desktop personal computer 14, or a laptop personal computer 15. Other devices may be employed, such as a two-way paging device, while still within the scope of the present invention. The important characteristic of the class of input devices 10 is that each device must have the ability to receive information.
  • The input device transmits or receives information over a [0045] data link 16, such as a telephone line, dedicated computer connection, satellite connection, cellular telephone network, the Internet, or other data connection. The data link 16 is connected to a data center 17, which offers a central location for accessing and processing information from various remote enterprise networks 22. Data center 17 provides users with access to information or data maintained at the enterprise networks 22. The data center 17 includes at least one web server 18 (e.g., MICROSOFT® Internet Information Server [IIS]) having access to at least one attributes database server (e.g., Structured Query Language [SQL] server) 19. The IIS server 18 identifies and authenticates the subscriber and verifies that the subscriber is associated with a particular enterprise. The IIS server 18 refers to the SQL server 19 for the data necessary to perform these tasks, and thus the SQL server 19 performs data storage for account access purposes. The IIS servers 18 process individual active server pages, or ASPs, that provide the requested information back across data link 16 to the user or subscriber. The data center 17 transmits data through a dedicated connection 20, which is preferably an IPSEC tunnel through the Internet, or a PPTP connection via the Internet. The dedicated connection 20 is provided through data transmission media 21, which may be the Internet, a Wide Area Network (WAN), or any other media used for server communication. The dedicated connection 20 provides the robustness necessary to update the subscriber and provide information in a reasonable time period. Use of a connection that is not dedicated can result in delays and service disruptions, and the Internet provides an example of a powerful and readily accessible data transmission media. Addition of enterprise networks 22 or data centers 17 to an arrangement employing the Internet is relatively simple. Note also that data link 16 may also employ the Internet for subscriber access to the data center 17.
  • In operation, the subscriber must first access the [0046] data center 17 using an access arrangement, such as a password verifying his or her identity. The subscriber makes a request into the subscriber device, such as a cellular telephone, to view data, such as his or her e-mail. The IIS server 18 receives the request via the data link 16 and passes the request through the dedicated connection 20 and on to the enterprise network 22. The enterprise network 22 processes the request for e-mail and obtains the necessary data pursuant to the subscriber preferences provided by the SQL server in the data center 17. For example, the subscriber is presumed to have established that if he or she desires e-mail through his or her cellular telephone, the information provided should be only the first ten messages, alphabetized by the last name of the sender. In such a situation, the enterprise network 22 obtains the requisite information and transmits the data back through the dedicated connection 20, to the data center 17, and to the subscriber via data link 16 to the requesting subscriber input device. To accomplish this, the enterprise network 22 must include a server having a scalable, reliable and secure data access platform, such as MICROSOFT® Exchange Server, for ready access to the requested e-mail, calendar, or contact information.
  • FIG. 1A illustrates an embodiment of the present invention. The embodiment allows subscribers to securely and remotely access a [0047] centralized data center 190, which acts as an intermediary to facilitate subscriber information residing in an independent enterprise network 403 in real time. In one implementation, a subscriber, by virtue of a remote access device 104, makes a request, across a network 100, to a data center 190, to supply subscriber information (e.g., messaging and collaboration information, such as electronic mail, appointment calendars, address/phone books) located in an enterprise network 403. The data center 190 receives the request, authenticates the subscriber, accesses the enterprise network 403, establishes a secure session with the enterprise network 403, retrieves the subscriber information, and formats the information in accordance with the display capabilities of the remote access device 104. The remote access device 104 may be connected to a “wireline” network (e.g., personal computer, kiosk, etc.) or may be connected to a wireless network (e.g., cellular phones, personal digital assistants [PDAs], MICROSOFT® Windows CE device, etc.).
  • In another embodiment, as indicated by FIG. 1A, the [0048] data center 190 itself provides a central repository for the subscriber information (dashed-line). As such, the subscriber initiates a request in the remote access device 104 and the data center 190 receives the request, authenticates the subscriber, accesses the subscriber information, and formats the information in accordance with the display capabilities of the remote access device 104.
  • The features and details of the various embodiments of the invention will be described below. [0049]
  • 1. Remote Access Devices [0050]
  • The remote access and retrieval of subscriber information resident in the [0051] enterprise network 403 is initiated by requesting the information on a remote access device 104. Generally, these requests are initiated by inputting an address on a browser (or micro-browser) interface of the remote access device 104. The address partially identifies the enterprise network 403 that the subscriber is associated with (i.e., company, employer, etc.) and the address may be in the form of an HTTP URL (Hypertext Transfer Protocol Uniform Resource Locator). The remote access devices 104 have communication capabilities, allowing them to interface with wireless and wireline communication networks. In one implementation, the remote access devices 104 are wireless and include devices that are well-known in the art, such as hand-held wireless phones, Personal Digital Assistants (PDAs), MICROSOFT® Windows CE devices, and mobile computers. Such devices operate in wireless networks that include, but are not limited to PSTN, CDPD, CDMA/IS-95, TDMA/IS-136, MOBITEX, and GSM networks.
  • In addition, these [0052] remote access devices 104 generally have graphical displays to accommodate their browsing capabilities. The remote access devices may use different markup languages to interpret, format, and display the contents of the retrieved subscriber information. Such languages may include Hypertext Markup Language (HTML), Handheld Markup Language (HDML), Extensible Markup Language (XML), Extensible Stylesheet Language (XSL), and Wireless Markup Language (WML).
  • 2. Network Access to Data Center [0053]
  • As stated above, the [0054] remote access devices 104 have communication capabilities to interface with a variety of communication networks, including wireless communication systems. FIG. 1B illustrates the basic elements of a wireless implementation of network 100 in FIG. 1A. Artisans of ordinary skill will readily appreciate that these elements, and their interfaces, may be modified, augmented, or subjected to various standards known in the art, without limiting their scope or function.
  • In one implementation, the [0055] remote access device 104 first communicates and sustains a session with a Base Station Controller/Mobile Switching Center (BSC/MSC) 106 via the wireless interface (i.e., air-link) Um in accordance with a wireless communication network scheme, such as CDPD, CDMA/IS-95, TDMA/IS-136, MOBITEX, and GSM. The BSC/MSC 106 employs a transceiver to transmit to the remote access device 104 (i.e., forward link) and receive from the remote access device 104 (i.e., reverse link), consistent with the wireless network scheme. The BSC/MSC 106 supervises, manages, and routes the calls between the remote access device 104 and the Inter-Working Function (TWF) 108.
  • The [0056] IWF 108 serves as a gateway between the wireless system 100 and other networks. The IWF 108 is coupled to the BSC/MSC 106 and in many cases it may be co-located with the BSC/MSC 106. The IWF 108 provides the session between the remote access device 104 and the BSC/MSC 106 with an IP address, consistent with the well-known Internet Protocol (IP).
  • As is well known in the art, the IP protocol is a network layer protocol that specifies the addressing and routing of packets (datagrams) between host computers and specifies the encapsulation of data into such packets for transmission. Addressing and routing information is affixed in the header of the packet. IP headers contain 32-bit addresses that identify the sending and receiving hosts. These addresses are used by intermediate routers to select a path through the network for the packet towards its ultimate destination at the intended address. Providing the session between the [0057] remote access device 104 and the BSC/MSC 106 with an IP address, the session can be intelligently routed to other networks.
  • The [0058] IWF 108 is subsequently coupled to a system router 110, which interfaces with other networks, such as the Public Switched Telephone Network (PSTN) and other Wide Area Networks (WANs) providing Internet- or secure/unsecure Intranet-based access.
  • 3. Data Center Configuration and Host and Enterprise Operations [0059]
  • [0060] Data center 190 acts as an intermediary to remotely and securely collect, process, and format the information residing in the enterprise network 403 and to present the information on the remote access device 104 in real time. Generally, the desired information will be stored in a specialized database/messaging server within the enterprise network 403, such as, for example, MICROSOFT® Exchange Server 5.5. Such a database hosts electronic mail, address books, appointment calendars, and is capable of groupware functionality.
  • As shown in FIG. 1C, the [0061] data center 190 comprises an interface network 120, a Login subsystem 140, and a Service subsystem 160. The interface network 120 employs perimeter router 122 to interface with the wireless communication system 100, which transports the IP datagrams between the remote access device 104 and the BSC/MSC 106. The interface is achieved by virtue of a WAN topology and may employ well-known Asynchronous Transfer Mode (ATM), Frame Relay, dedicated DS-1 (1.544 Mbps), DS-3 (45 Mbps) and other topologies. The perimeter router 122 may connect to the data center 190 through a firewall 124 to provide an added level of protection and further limit access to data center 190 from the Internet. Artisans of ordinary skill will readily appreciate that generally, firewalls are well-known security mechanisms that protect the resources of a private network from users of other networks. For example, enterprises that allow its own subscribers to access the Internet may install a firewall (or firewalls) to prevent outsiders from accessing its own private data resources and for controlling what outside resources its own subscribers have access to. Basically, firewalls filter incoming and outgoing network packets to determine whether to forward them toward their destination.
  • The [0062] firewall 124 interfaces with the login subsystem 140. As depicted in FIG. 1C, the login subsystem 140 comprises a login server (LS) 142, and an attributes database server 144. In one implementation an external disk array 146 may be used to store the database information.
  • The [0063] firewall 124 is connected to the LS 142. The LS 142 provides a centralized login site for all subscribers and provides the first level of subscriber authentication. As such, all sessions stemming from subscribers' remote access devices 104 are first handled by the LS 142. The LS 142 is configured as a web server, such as MICROSOFT® Internet Information Server (IIS) for remote corporate enterprise access. The IIS is designed to be tightly integrated with MICROSOFT® Windows NT Server, resulting in faster Web page serving. The LS 142 may be implemented as a single IIS or as a cluster of IISs with load balancing and fault tolerant features provided by MICROSOFT® Windows Load Balancing Service (WLBS).
  • The [0064] LS 142 communicates with an attributes database server 144, which provides, inter alia, subscriber credential profiles to authenticate each subscriber. (The attributes database server 144 may also contain subscriber display preferences and customized enterprise display features). The subscriber credentials are stored in the external disk array 146, which is coupled to the attributes database server 144. The attributes database server 144 may be configured as a Structural Query Language (SQL) database server and may be implemented as a single server or as a cluster of servers with cluster management provided by MICROSOFT® Cluster Server (MSCS).
  • FIG. 2 illustrates the [0065] LS 142 authentication process. As shown in block B205, subscribers input an address or URL, corresponding to an enterprise network or sub-network therein, in the browser interface of their respective remote access devices 104. Generally, inputting a valid URL pointing to a particular enterprise network 403 in the remote access device 104 browser establishes a session between the browser and the LS 142.
  • The [0066] LS 142 responds by sending a message back to the remote access device 104 browser, prompting the subscriber to supply login credentials and a personal identification number (PIN), as indicated in block B210. The login credentials may include subscriber-name and password while the PIN is used as a second level of authentication by the enterprise network 403. In block B215, the LS 142 examines the login credentials. The LS 142 then determines, as shown in block B220, whether the account is locked out. As a security measure, an account is locked out if a predetermined number (e.g., 3) of successive bad login attempts occur. If the account is locked out, the LS 142, in block B225 informs the subscriber that the account has been locked out. LS 142 examines the information. If the account has not been locked out, the LS 142 advances to block B230.
  • In block B[0067] 230, the LS 142 compares the examined login credentials with the subscriber credential profile. The subscriber credential profile contains subscriber-specific information, which resides in the attributes database server 144. In block B230, the LS 142 determines whether a match exists between the session-provided information and the stored credential information. If a match does not exist, the LS 142 progresses to block B235, where it first determines whether the current request constitutes the third bad login attempt. If so, the account is locked, as stated above with respect to block B220. If the request does not constitute the third bad attempt, then the LS 142 advances to block B245, where it requests the subscriber to re-input the login information and PIN.
  • If a match does exist between the session-provided information and the stored credential information, the [0068] LS 142 associates the identified subscriber with a corresponding enterprise network 403 (as indicated by the information contained in the URL, subscriber credentials, or a combination thereof), thereby achieving the first level of authentication, as depicted in block B250. It is noted that the existence of a subscriber in the attributes database server 144 is preferably keyed to both the entered subscriber-name and the enterprise network 403 associated with the subscriber. Accordingly, different enterprise networks 403 can have the same subscriber-name.
  • Upon successfully authenticating the subscriber, the [0069] LS 142, in block B260, encodes the session with a subscriber-specific, session-specific, and time/date-specific enterprise access code (EAC). This is achieved by providing the browser on the remote access device 104 with the EAC as well as the address information (i.e., URL) for the dedicated server (i.e., EGS), within the service subsystem 160, that points to the enterprise network 403. The LS 142 then informs the dedicated server of the impending session and provides the server with the EAC. Subsequently, in block B270, the LS 142 dynamically redirects the session to the dedicated server and upon recognizing the EAC session, the dedicated server grants access to the redirected encoded session.
  • As depicted in FIG. 1C, the [0070] data center 190 includes a service subsystem 160. The service subsystem 160 comprises a plurality of dedicated web servers, wherein each server accesses and services a specific enterprise network and a plurality of attributes database servers 166 which service the dedicated servers. These dedicated web servers are referred to as enterprise gateway servers (EGSs) 164. FIG. 3 illustrates that each EGS 164 comprises a MICROSOFT® Internet Information Server (UIS), a plurality of application interfaces 307, and an associated attributes database server 166. Much like the LS 142, the EGS 164 may be implemented as a single IIS or as a cluster of IISs with load balancing and fault tolerant features provided by MICROSOFT® WLBS.
  • The application interfaces [0071] 307 provide the functionality and interoperability between the EGS 164 elements, the LS 142, and the attributes server 144. The application interfaces 307 comprise a plurality of COM (Component Object Model) objects 308 and Active Server Pages (ASPs) 306 that are specifically designed to achieve EGS 164 functionality. The COM objects 308 (described in more detail below) are reusable program building blocks that can be combined with other components in a distributed network to form functional applications. The ASPs 306 are server-side scripts that are capable of generating markup languages, including but not limited to HTML, HDML, WML, XSL, XML, etc., to perform the dynamic rendering of web content which can be delivered to any browser. The ASPs 306 work with in conjunction with the COM objects 308 to capture the contents of the enterprise network 403 information and dynamically output the information on the browser display of the remote access device 104.
  • The [0072] ASPs 306 are designed to first retrieve the subscriber display preferences from the attributes database server 144 to determine how to render the information on the browser display of the remote access devices 104. These preferences include attributes relating to the formatting, filtering, and sorting of the information. By way of example, suppose a subscriber wishes to retrieve e-mail information from his inbox, which is stored in the messaging database server (e.g., MICROSOFT® Exchange Server 5.5) within the enterprise network 403. After inputting the necessary HTTP URL in the remote access device 104 to access the enterprise network 403, a session is established with the LS 142. The HTTP header of the request contains information identifying the particular remote access device 104 used in entering the URL. An ASP 306 exploits this information to determine what type of markup language (e.g., HTML, HDML, WML, XSL, XML, etc.) to use in rendering the display of the desired e-mail information.
  • As stated above, after establishing subscriber authentication, the [0073] LS 142 redirects the session with a URL that points to an ASP associated with a dedicated EGS, along with the type of information sought. In this case, the redirected URL may read as “enterprise13network13A/email.asp”, where “enterprise13network13A” is the name of the enterprise network 403 in which the EGS 164 points to and “email.asp” points to the ASP 306 responsible for retrieving and incorporating the subscriber-specified preferences. These preferences identify how the e-mail information in the enterprise network 403 appears on the browser display of the remote access device 104. For example, the subscriber may want the unread inbox entries to be rendered first, followed by the subject of each entry, followed by the initials of the sender, followed by the time and date of transmission, etc. In one implementation, these preferences may be stored in the attributes data server 164 within the service subsystem 140; in another implementation, these preferences may be stored in the attributes data server 144 within the login subsystem 140.
  • Before retrieving the desired information from the enterprise network, the [0074] ASPs 306 are also responsible for validating the session between the EGS 164 and the enterprise network 403. After being re-directed to a dedicated EGS 164, a Virtual Private Network (VPN) connection is established to the enterprise network 403 and the session is extended thereto. As described in more detail below, the ASPs 306 must determine whether the VPN connection and the session between the EGS 164 and the enterprise network 403 are valid.
  • Finally, the [0075] ASPs 306 retrieve the desired information in raw form from the enterprise network 403 and format the raw information in accordance with the subscriber preferences and remote access 104 device limitations.
  • In addition to acting as an intermediary, the [0076] data center 190 may act as a central repository for the subscriber information. In this manner, the data center 190 provides subscribers with “enterprise-like” functionality by hosting subscriber information (e.g., such as e-mail, calendar, and phone book information) that would otherwise be stored in an enterprise network 403. This may be achieved by incorporating a messaging server, such as MICROSOFT® Exchange Server 5.5, within the data center 190.
  • Much like the “intermediary” case, the subscriber initiates a request in the [0077] remote access device 104 and the data center 190 receives the request, establishes a session with the LS 142, and authenticates the subscriber. However, as indicated in FIG. 1C, instead of the LS 142 re-directing the session to an EGS 164 connected to a remotely-situated enterprise network 403, the LS 142 accesses the desired subscriber information from the local messaging server 148 within the data center 190 that hosts such information. One implementation includes re-directing the session to a web server 147, which is coupled to the local messaging server 148, in a manner similar to the EGS 164. By virtue of the application interfaces (similar to the EGS application interfaces 307) designed to the provide functionality between the LS 142, the attributes server 144, and the messaging server 148, the desired information is retrieved and rendered in accordance with the display capabilities of the remote access device 104.
  • Further, based on the information received from the [0078] remote access device 104, including the HTTP header of the request, the login subsystem 140 determines the type of remote access device addressing the data center 190. The login subsystem 140, particularly the login server 142, translates the HTTP header received and provides data and a subscriber interface in accordance with that device type. For example, if the subscriber has indicated her preference for receiving ten e-mail headers when accessing the system with her remote access device 104, and the login server 142 receives the HTTP header and a request for e-mail, the system will only seek to transmit ten e-mail headers for the subscriber.
  • 4. Data Center and Enterprise Network Interaction [0079]
  • As previously discussed, consistent with an aspect of the present invention, the [0080] data center 190 retrieves data requested by remote access devices 104 from an enterprise network 403 and returns the requested data, in real time, to the remote devices 104 (i.e., the data center acts as an intermediary). A more detailed description of the interaction of the data center 190 with the enterprise network 403 will now be described with reference to FIGS. 4-7.
  • FIG. 4 is high level diagram of [0081] data center 190 coupled, via network 402, to a plurality of enterprise network servers 403. Network 402 may be a network, such as the Internet or a proprietary local area or wide area network. Data center 190 links multiple heterogeneous remote devices 104 to one of enterprise network servers 403. At the request of one of remote devices 104, data at an associated enterprise network server 403 is transferred over network 402 to data center 190, where it is converted to a form suitable for display by the requesting remote device.
  • Each [0082] enterprise network server 403 is a computer or network of computers managed by a corporation or other entity that implements corporate messaging and collaboration applications such as email, calendar, or contact information management applications. These applications are implemented by messaging server 410, which may be a dedicated messaging and collaboration server such as a server running MICROSOFT® Exchange Server 5.5 on top of the MICROSOFT® Windows NT operating system. MICROSOFT® Exchange Server and MICROSOFT® Windows are available from MICROSOFT® Corporation, of Redmond, Wash. Other known implementations of the messaging and collaboration servers may equivalently be used.
  • Remote Gateway Servers (RGS) [0083] 415 are preferably implemented as servers that act as an intermediary between messaging servers 410 and data center 190. Although the messaging servers 410 could communicate directly with data center 190, remote gateway servers 415 provide a layer of abstraction between the messaging servers and the data center 190 that enables more efficient communication when communicating over a “slow” network such as the Internet. RGSs 415 are described in more detail below. RGSs 415 may optionally not be used, in which case, the messaging servers 410 communicate could communicate directly with data center 190. For the reasons discussed below with reference to FIGS. 7A and 7B, this has been found to be a less efficient implementation.
  • If [0084] network 402 is a public network, such as the Internet, data transmitted over network 402 is at risk of being intercepted or monitored by third parties. To avoid this problem, the data may be encrypted at its transmission site (e.g., data center 190 or enterprise network server 403), and correspondingly decrypted at its reception site. By encrypting all data transmitted over network 402, data center 190 and enterprise server 403 effectively communicate with one another as if they were on a private network. This type of encrypted network communication is called a virtual private network (“VPN”).
  • FIGS. 5A and 5B are block diagrams illustrating embodiments of the implementation of a VPN between [0085] data center 190 and enterprise network 403. The VPN is implemented by encrypting information transmitted between EGS 164 and its corresponding RGS 415 on enterprise network server 403.
  • As shown in the embodiment of FIG. 5A, [0086] EGS 164 encrypts the transmitted data using software 510 running on the EGS. The encrypted data is transmitted over network 402 and decrypted by dedicated VPN server 515. Data flowing from enterprise network server 403 to data center 190 is similarly encrypted at VPN server 515 and decrypted by software 510. Firewall 520 may optionally be implemented in conjunction with VPN server 515 to limit unauthorized outsiders from accessing the private data resources of enterprise network 403 and to control what outside resources users at enterprise 403 have access to. Firewalls are well known in the art.
  • One example of appropriate encryption/[0087] decryption software 510 is software that implements the well-known Point-to-Point Tunneling Protocol (PPTP). Although PPTP software 510 is shown executing on a VPN server 515 and EGS 164, it may alternatively be implemented in special purpose PPTP routers or other network devices.
  • FIG. 5B illustrates another embodiment implementing a VPN between [0088] data center 190 and enterprise network 403. This embodiment is similar to the one described with reference to FIG. 5A, the primary difference being that the IPSEC (Internet Protocol Security) standard is used to encrypt/decrypt data instead of the PPTP standard. As shown, encryption using IPSEC is implemented by a pair of complementary routers 525.
  • The IPSEC standard is known in the art. In contrast to the PPTP standard, the IPSEC standard can provide encryption at the session layer or the network packet processing layer. PPTP provides encryption at the session layer. Additionally, the IPSEC standard offers considerably more options in the implementation of bulk encryption or hash algorithms. [0089]
  • [0090] RGS 415 communicates with data center 190 through the VPN. Although RGS 415 may be typically present at the same location as the corporate network, RGS 415 and data center 190 are preferably given limited access to messaging server 410 as well as any other corporate servers. In particular, RGS 415 is only given the authority to communicate with messaging server 410 to the extent necessary to retrieve and store data related to the messaging and collaboration applications implemented by messaging server 410. Thus, even though RGS 415 may be given limited access to messaging server 410 and the rest of enterprise network 403, it is generally physically located at the site of the enterprise network 403.
  • FIG. 6 is a diagram of a more detailed architectural view of the software components used to implement [0091] RGS 415.
  • As shown, [0092] RGS 415 provides a MAPI (Messaging Application Programming Interface) interface 602. MAPI 602 is a MICROSOFT® Windows program interface that enables software objects on RGS 415 to communicate with a MAPI-compliant information store, such as MICROSOFT® Exchange messaging server 410. MAPI 602 provides the low level interface between RGS 415 and messaging server 410. MAPI 602 accesses messaging server 410 based on commands from CDO (Collaboration Data Objects) object 604. CDO 604 is an object in the COM (Component Object Model) framework for the development of component software objects. COM provides the underlying services of interface negotiation, life cycle management (determining when an object can be removed from a system), licensing, and event services (putting one object into service as the result of an event that has happened to another object). MAPI, the COM framework, and the CDO object are all available from MICROSOFT® Corporation.
  • [0093] CDO 604, in operation, processes requests from data center 190 to access messaging server 410. Typical CDO requests include requests such as: retrieve the message object for a particular email of a particular subscriber, retrieve the subject of the email, and retrieve the time the email was sent. For each of these requests, CDO 604 accesses messaging server 410, retrieves the requested information, and returns the information to the requesting entity.
  • Objects in the conventional COM framework, such as [0094] CDO 604, are limited to communicating with other objects on the same server. COM may be extended to access and use resources present at server program objects on other computers in a network using the DCOM (Distributed Component Object Model) framework. DCOM is available from MICROSOFT® Corporation.
  • [0095] CDO 604, operating under DCOM, may be stretched across network 402 so that requests for messaging server 410 are initiated by a CDO object resident in EGS 164. This implementation is conceptually illustrated in FIG. 7A, in which CDO 701 is shown communicating directly with messaging server 410 across the Internet. However, because CDO 701 generates multiple individual requests 705 for what can often be represented by a single request (e.g., CDO 701 generates separate network requests to retrieve the subject and the time that an email is sent, while practically, these requests may both be submitted at the same time), delays can occur when accessing messaging server 410. In particular, when, as shown in FIG. 7A, CDO 701 is located across a relatively slow or unreliable network such as the Internet, generating multiple requests at CDO 701 can cause significant delays in the overall response time. For example, if there is a quarter second delay associated with transmitting a request over the Internet, one request for a message from message server 410 may be acceptable, while 40 partial requests for the same message may result in an unacceptably long delay to retrieve the message.
  • Consistent with an aspect of the present invention, a [0096] DCOM stub object 605, executing locally on RGS server 415, and a DCOM proxy object 607, executing on EGS server 164, introduce a layer of abstraction between CDO object 604 and EGS server 164. More particularly, DCOM stub 605 and DCOM proxy object 607 communicate with one another over network 402 using a higher level, less messaging intense protocol than that used by CDO 604 when communicating with messaging server 410. Instead of issuing multiple requests over network 402 to retrieve a particular e-mail's header, time stamp, priority, and body, DCOM proxy 607 may issue a single aggregate request for all the information associated with one email, or for the first ten emails. DCOM stub 605 receives the single request from DCOM proxy 607 and converts it into the appropriate CDO calls. Data received back from CDO 604 is similarly aggregated into the higher-level protocol and transmitted back across network 402 to DCOM proxy 607. Because CDO 604 executes locally with messaging server 410, multiple calls to the messaging server do not significantly slow system response time.
  • In addition to handling CDO call aggregation, [0097] DCOM proxy 607 and DCOM stub 605 manage the connection over network 402. Once EGS 164 instantiates DCOM proxy 607, DCOM proxy 607 establishes a dedicated VPN session connection (“tunnel”) 608 between DCOM proxy 607 and DCOM stub 605. After establishing a VPN connection, DCOM stub 605 receives the subscriber's PIN from DCOM proxy 607. The PIN is passed to Lightweight Directory Access Protocol (LDAP) object 609, which retrieves a locally stored copy of the subscriber's PIN and compares it to the copy received from enterprise gateway server 164. By comparing PINs at the enterprise, a second level of subscriber authentication is achieved. The values of the PINs are controlled locally at enterprise server 415. Accordingly, system administrators at the enterprise server have control of the second authentication level, and therefore final control over which subscribers are allowed to access the enterprise network information.
  • From the point of view of [0098] EGS 164, CDO object 604 is executing locally at data center 190. EGS 164 accesses DCOM proxy 607 as if it were a locally executing CDO object. Proxy 607 converts the CDO requests from EGS 164 to the previously mentioned higher level, less message intensive protocol, and transmits the request through the session tunnel 608 to DCOM stub 605. Thus, calls across network 402 are handled transparently to EGS 164. Additionally, dropped or lost tunnels to DCOM stub 605 are reinitiated by DCOM proxy 607 and DCOM stub 605 without involving EGS 164.
  • FIG. 7B is a conceptual diagram illustrating the communication path between [0099] messaging server 410 and EGS 164 when DCOM proxy 607 and DCOM stub 605 are used. As shown, CDO 604 communicates with messaging server 410 using multiple CDO requests 712. DCOM stub 605 aggregates the results of a number of CDO requests and transmits it to DCOM proxy 607 over an encrypted session tunnel. Proxy 607 converts the aggregated results into CDO messages for EGS 164.
  • 5. Additional Attributes [0100]
  • The system further includes the ability to personalize or customize the subscriber interface based on the status or desire of the subscriber or the [0101] enterprise network 403. For example, the party maintaining the enterprise network 403 may wish to introduce certain graphics or data when a subscriber logs in or seeks data from the enterprise. Coupled with this is the desire of a subscriber to configure his or her account to show certain information; for example, when the subscriber is operating a device at his workplace, he may wish to only receive work related e-mail. Alternately, the subscriber may have language preferences or screen style preferences that he or she wishes to view on particular devices.
  • The subscriber enters his preferences, which are stored in the SQL server in the [0102] login subsystem 140. These features may include background color, primary and secondary colors, or other preferences for the subscriber interface. When the subscriber accesses the service, the login server 142 receives the carrier, enterprise, language, and browser information from the signal received.
  • The set of customizable elements are identified by a sequence called the customization ID. The customization ID represents a unique combination of carrier, enterprise and language desired by the particular enterprise. When a user logs into the system, their customized look and feel is determined by matching their carrier, enterprise and language preferences to the master set of customization IDs. The system then fetches the matching custom elements. The customized elements are inserted into ASPs at specific locations, thereby altering the look and feel of the system. [0103]
  • In many cases, enterprises do not customize every possible element of the service but simply change a small subset such as the banner logo and primary colors. In these cases where many elements are not customized, default values are retrieved so that the entire look and feel is preserved when the page is being internally “assembled.”[0104]
  • The custom elements themselves are not fetched directly from the SQL Server during runtime but are stored as a structured array of values in memory on the server. Running in memory provides increased performance by minimizing database queries for custom elements. The customization system “refreshes” itself during runtime by updating the in-memory structure arrays from the data in the SQL Server database. Changes to the customization system are therefore available real-time without the need to restart the system. [0105]
  • The system maintains a Customization table, which includes a correlation between a specific combination of Carrier, Enterprise and Language and a unique Customization ID, i.e., [Provider X; Company Y; French Canadian] is CustomizationID #6. This combination of factors, or Customization ID, is in turn related to a set of customized elements. The number and variety of customizable elements can be extensive depending on resource availability, and can range from the background color of the page to the text within the subject header of the e-mail in box. The CustomElementNames table maintains the master list of all of the customizable elements supported. [0106]
    TABLE 1
    CUSTOMELEMENTSNAMES TABLE
    ELEMENTNAME SortOrder Note Example
    CarrierBannerLog
    1 HTML <img src = “images/default/att_logo.gif”>
    MainBgColor 1 Hex Color #FFFFFF
    PpcBannerLogo 5 Text Revolv Home
    HdmlPhoneAboutText 4 HDML <LINE>Wireless Knowledge<LINE>LLC
  • The system stores the customized elements are in the CustomElements table that maintains a correlation between a specific Customization ID and all of the customizable element names and their associated values. By having the CustomElements table track elements as name/value pairs, elements may be removed or added without modifying the table structure. Element values can be HTML, HDML, XML, hex values plain text or any other textual information. [0107]
    TABLE 2
    CUSTOMELEMENTS TABLE
    CUSTOMIZATIONID ElementName ElementValue
    1 CarrierBannerLogo <img src = “images/default/WKBanner.jpg”
    width = “270” height = “70”border = “0”>
    1 PhoneHomeTitle Revolv Home
    5 CarrierBannerLogo <img src = “images/bm/ServiceProviderXBanner.jpg”
    width = “300” height = “70” border =“0”>
    6 PhoneHomeTitle Service ProviderX1
  • When a user logs in, the system obtains the user's CarrierID, EnterpriseID and LanguageID from her record in the Users table. The system then compares these three values against the Customization table, looking for a match. If an exact match is not found, the system searches for the closest match in the following order of precedence: [0108]
  • a. Look for a matching CarrierID, EnterpriseID, and LanguageID [0109]
  • b. Look for a matching CarrierID, EnterpriseID and default language [0110]
  • c. Look for a matching CarrierID, no enterprise and LanguageID [0111]
  • d. Look for a matching CarrierID, no enterprise and default language [0112]
  • e. Use the default look and feel [0113]
  • Based on the closest match, the system determines the CustomizationID. As may be appreciated, the enterprise dictates certain components of the Customization ID. Should no enterprise dictated parameters be available, the system may provide the user with the ability to dictate preferences for appearance, and if the user has not indicated the information, the default appearance is presented to the user. [0114]
  • Application startup procedures are presented in FIG. 8. On application startup, the system builds the [0115] pCustomization Index array 801 by parsing the Customization table 802 and ordering the CustomizationID's sequentially. This array will later be used as an “row index” for the pElementValues array 806. The system then builds the pElementNames array 803 by parsing the CustomElementNames table 804. The pElementNames array 803 serves as the “column index” for the pElementValues array 806. The system then populates the pElementValues array 806 by parsing the CustomElements table 805. Each row of the pElementValues array 806 corresponds to a specific element found in the pElementNames array 803, and each column of the pElementValues array 806 corresponds to a specific CustomizationID from the pCustomizationIndex array 801. The CustomElements table 805 is parsed and the values are positioned within the pElementValues array 806 according to the ElementName and CustomizationID for each record.
  • Once the system has populated the [0116] pElementValues array 806, the array is parsed and each row is stored in a variant array 807. Each variant array is then stored in an Application variable with the same name as the array element, i.e., Application (“CarrierBannerLogo”).
  • Each application includes the customization library in its global variable definitions. This file contains all of the functions needed by customization. The Application[0117] 13OnStart subroutine calls the initCustomization( ) function, which performs the first-run parsing of the database tables and the storage of the customized elements into Application variables. This function loads the latest customized elements from the database and populates Application variables with variant arrays containing these elements.
  • The system determines the user's CustomizationID by examining her CarrierID, EnterpriseID and LanguageID and finding the CustomizationID that is the closest match. Once the CustomizationID has been determined, the system compares it to the CustomizationIndex array to determine which array positions contain the customized elements for this user. This derived value is called the User Customization Index value and is stored in a Session variable (or carried along the query string for Phone code). The getUserCustomizationIndex( ) function returns a value representing the ordinal position of customized elements for the particular user. Since all of the customizable elements of the service are stored as variant arrays within Application variables for each application they are easily accessible from ASP. Each page that needs customization must have the getElement( ) function included, which returns a string value representing the customization element for a specific Customization ID. For efficient operation, each occurrence of a hard-coded element (HTML or otherwise) must be replaced with the getElement( ) function. Each web application needs to have an ASP page that calls the initCustomization( ) function, passing an argument to display the customized contents as they are populated into Application variables. [0118]
  • The system further provides for notification in circumstances where the user requests to be notified on a particular input device under predetermined conditions. When the subscriber receives a communication that he or she has established to be important, such as an e-mail message having a designation of urgent, the system attempts to notify the subscriber. The subscriber states his or her preferences for notification, such as what events trigger a notification and which input device or devices should be notified of the triggering event. These notification indications are maintained in the SQL server at the [0119] data center 190, and this information is periodically monitored. As may be appreciated, only certain events will require user notification. With data information limited to e-mail, calendar, and contacts, notification will not be required for contacts, and certain e-mail requests may require notification. Calendar items may also prompt notification. In such circumstances, the user preference may require monitoring at the remote enterprise by passing the requested notifications to the remote enterprise location. Alternately, notification may monitor user requests at the data center 190, with requests periodically transmitted to the enterprise servers. The problem with maintaining the information at the data center 190 and transmitting requests to the enterprise server is overhead. In the scenario where the data is provided to the enterprise server, the enterprise server maintains the preferences for all users in its domain, such as notification of an urgent e-mail, and when the condition is true, passes information to the data center 190. Data center 190 correlates the notification with the various input devices requested to be notified by the user, and transmits the data to the user input device requested.
  • A-further aspect of the current system is the ability for the system to determine the type of device accessing the system. For example, the system receives information over a data line including initialization information, account information, passwords, and so forth, in addition to browser information. Browser information includes the information requested for the type of browser used, e.g. a MICROSOFT® Windows CE device indicates that it is using a Windows CE compliant browser. Included in the browser information is header information from which the [0120] data center 190 can determine the type of device transmitting the data. The data center 190 stores the information expected to be received from a particular browser; for example, the Netscape browser, used on desktop and laptop devices, may include the word “mozilla” in its header information. The data center 190 maintains predetermined expected header parameters for each anticipated input device. This predetermined information is maintained in the SQL server. Upon connection between the input device and the data center 190, the data center retrieves the browser header information and compares this information with the predetermined information and, if it determines a match, interfaces with the input device with input device specific data, e.g. screen size limitations, colors/greyscale data, and so forth. Thus the system does not require user input to determine the type of device addressing the data center 190 and can transmit appropriate input device specific data to the user.
  • Further, as may be appreciated from the foregoing description, the data center interacts with the enterprise network by transmitting requests to the enterprise network and receiving responses therefrom. As may be appreciated, a user desiring access to the data center will in most circumstances also wish to have access to the enterprise network. For security reasons, an enterprise network may not wish the data center to directly access the enterprise, and will not automatically grant access. Most enterprise networks will have firewalls installed to prohibit access by unknown parties. [0121]
  • The system accepts passwords for access to the data center and the user logs into the data center. Subsequent to this logon, the system knows the enterprise where the user may access information based on the user's profile. The user then is provided by the data center to the enterprise network, where the user must log into the enterprise. This will typically be a different user name and a different password. Certain password evaluation algorithms are employed by the data center to guard against access by unauthorized parties. However, under all conditions, the data center never obtains the user's enterprise password, but merely passes the user's password through to the enterprise without storing or evaluating the information. [0122]
  • The foregoing description of preferred embodiments of the present invention provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible consistent with the above teachings or may be acquired from practice of the invention. Accordingly, the scope of the invention is defined by the claims and their equivalents. [0123]

Claims (23)

What is claimed:
1. A data center providing access to subscriber information maintained on a remote enterprise network, the data center comprising:
a data network interface system for interfacing with a first data network;
a login system including a login server for receiving, via the data network interface system, a request inputted by a subscriber on a remote access device across the first data network to access the subscriber information and for authenticating the subscriber and the remote access device; and
a service system including a plurality of enterprise gateway servers, each corresponding to a remote access device, for transmitting the request to the remote enterprise network across a second data network to the remote enterprise network and for receiving the requested subscriber information from the remote enterprise network across the second data network;
wherein the login server dynamically redirects the remote access device to a corresponding enterprise gateway server associated with the enterprise network upon authenticating the subscriber and the remote access device, and the corresponding enterprise gateway server establishes a virtual private network (VPN) connection with the remote enterprise network across the second data network and communicating with the remote enterprise network.
2. The data center of claim 1, wherein the request to access the subscriber information conforms to a Hypertext Transfer Protocol (HTTP) request and includes information referencing the data center, information identifying the type of remote access device, and a Uniform Resource Locator (URL) identifying the remote enterprise data network.
3. The data center of claim 2, wherein the login server, upon receiving the HTTP request, transmits a message to the remote access device prompting the subscriber to input login credentials and a Personal Identification Number (PIN).
4. The data center of claim 1, wherein the login system further includes an attributes database server hosting subscriber credentials for authenticating the subscriber, the attributes database server being accessed by the login server.
5. The data center of claim 4, wherein the login server compares information from the HTTP request and login credentials to the subscriber credentials to authenticate the subscriber and the remote device.
6. The data center of claim 5, wherein the login server supplies an enterprise access code to the remote access device and the corresponding enterprise gateway server to provide a secure dynamic redirect to the remote enterprise network.
7. The data center of claim 1, wherein the data network is a wireless communication network.
8. The data center of claim 1, wherein the data network interface system includes at least one of a firewall and a perimeter router for restricting access across the wireless network.
9. The data center of claim 1, wherein the second data network is a wide area network (WAN).
10. The data center of claim 4, wherein the service system includes application interfaces which operate with the login server, the attributes database server, and the plurality of enterprise gateway servers, to identify the remote access device, to process the authentication of the subscriber and the remote access device, to dynamically redirect the remote access device to the corresponding enterprise gateway server, to establish the VPN connection between the corresponding enterprise gateway server and the remote enterprise network, and to transmit the requested subscriber information to the remote access device.
11. A data center providing access to subscriber information maintained on a data center messaging server, the data center comprising:
a data network interface system for interfacing with a data network; and
a login system including a login server and a data center messaging server, the login server receiving a request inputted by a subscriber on a remote access device across the data network, via the data network interface system, to access the subscriber information and authenticating the subscriber and the remote device, the data center messaging server hosting the subscriber information,
wherein the login server, upon authenticating the subscriber and the remote device, accesses the subscriber information on the data center messaging server and provides the subscriber information to the remote access device in response to the received request.
12. The data center of claim 11, wherein the request to access the subscriber information conforms to a Hypertext Transfer Protocol (HTTP) request and includes information referencing the data center, information identifying the type of remote access device, and information identifying the subscriber information.
13. The data center of claim 12, wherein the data network is a wireless communication network.
14. The data center of claim 12, wherein the login server, upon receiving the HTTP request, transmits a message to the remote access device prompting the subscriber to input login credentials.
15. The data center of claim 11, wherein the data network interface system includes at least one of a firewall and a perimeter router for restricting access across the wireless network.
16. The data center of claim 11, wherein login accesses an attributes database server hosting subscriber credentials for authenticating the subscriber.
17. The data center of claim 16, wherein the data center includes application interfaces which operate with the login server and attributes database server to identify the remote access device, to process the authentication of the subscriber and the remote access device, to access the subscriber information on the data center messaging server, and to transmit the requested subscriber information to the remote access device.
18. The data center of claim 17, wherein the application interfaces are further configured to transmit the subscriber information request to the data center messaging server and to receive the requested subscriber information from the data center messaging server.
19. The data center of claim 18, wherein the application interfaces comprise a plurality of component object model (COM) objects and active server pages (ASPs).
20. The data center of claim 11, wherein the login server is configured as web server.
21. The data center of claim 11, wherein the login server is configured as an Internet Information Server (IIS).
22. The data center of claim 16, wherein the attributes database server is configured as a Structured Query Language (SQL) server.
23. The data center of claim 11, wherein the data center messaging server is configured as an Exchange Server.
US10/365,962 1999-11-10 2003-02-12 Data center for providing subscriber access to data maintained on an enterprise network Abandoned US20030169695A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/365,962 US20030169695A1 (en) 1999-11-10 2003-02-12 Data center for providing subscriber access to data maintained on an enterprise network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/438,819 US6563800B1 (en) 1999-11-10 1999-11-10 Data center for providing subscriber access to data maintained on an enterprise network
US10/365,962 US20030169695A1 (en) 1999-11-10 2003-02-12 Data center for providing subscriber access to data maintained on an enterprise network

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/438,819 Continuation US6563800B1 (en) 1999-11-10 1999-11-10 Data center for providing subscriber access to data maintained on an enterprise network

Publications (1)

Publication Number Publication Date
US20030169695A1 true US20030169695A1 (en) 2003-09-11

Family

ID=23742150

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/438,819 Expired - Fee Related US6563800B1 (en) 1999-11-10 1999-11-10 Data center for providing subscriber access to data maintained on an enterprise network
US10/365,962 Abandoned US20030169695A1 (en) 1999-11-10 2003-02-12 Data center for providing subscriber access to data maintained on an enterprise network

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/438,819 Expired - Fee Related US6563800B1 (en) 1999-11-10 1999-11-10 Data center for providing subscriber access to data maintained on an enterprise network

Country Status (1)

Country Link
US (2) US6563800B1 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040044766A1 (en) * 2002-08-29 2004-03-04 Heinz Pauly Managing uneven authorizations in a computer data exchange
US20050149564A1 (en) * 2004-01-07 2005-07-07 Nokia Corporation Remote management and access of databases, services and devices associated with a mobile terminal
US20050177577A1 (en) * 2004-01-30 2005-08-11 Nokia Corporation Accessing data on remote storage servers
US20050192822A1 (en) * 2003-03-25 2005-09-01 Hartenstein Mark A. Systems and methods for managing affiliations
WO2007009344A1 (en) * 2005-07-19 2007-01-25 Huawei Technologies Co., Ltd. A registration/cancel method and a registration/cancel system
US7269665B2 (en) 2002-08-29 2007-09-11 Sap Ag Isolated mapping point
US20080109267A1 (en) * 2006-11-02 2008-05-08 International Business Machines Corporation Online startup of an innovation project
US20080244575A1 (en) * 2007-03-30 2008-10-02 Novell, Inc. Tessellated virtual machines conditionally linked for common computing goals
US20080256538A1 (en) * 2007-04-10 2008-10-16 Novell, Inc. Storage configurations for tessellated virtual machines
US20080281654A1 (en) * 2007-05-09 2008-11-13 Novell, Inc. Data center life cycle management
US20080307415A1 (en) * 2007-06-11 2008-12-11 Novell, Inc. Tessellated applications for user computing environments
US20090133017A1 (en) * 2007-11-15 2009-05-21 Boogert Kevin M Environment managers via virtual machines
WO2010101421A3 (en) * 2009-03-03 2010-12-02 Samsung Electronics Co., Ltd. Method and apparatus for restricting disclosure of network information during remote access service
US10404485B2 (en) 2009-03-03 2019-09-03 Samsung Electronics Co., Ltd Method and apparatus for restricting disclosure of network information during remote access service

Families Citing this family (173)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7092369B2 (en) * 1995-11-17 2006-08-15 Symbol Technologies, Inc. Communications network with wireless gateways for mobile terminal access
US6047284A (en) 1997-05-14 2000-04-04 Portal Software, Inc. Method and apparatus for object oriented storage and retrieval of data from a relational database
US6895434B1 (en) * 2000-01-03 2005-05-17 Cisco Technology, Inc. Sharing of NAS information between PoPs
US20060235945A1 (en) * 2000-01-14 2006-10-19 Frietas Nathaniel X Software architecture for wireless data and method of operation thereof
US6678273B1 (en) * 2000-02-10 2004-01-13 Semaphore Corporation Managed private network system
WO2001065337A2 (en) * 2000-02-28 2001-09-07 Intervoice Limited Partnership Multi-platform, multimedia information and communication network
JP2001282730A (en) * 2000-03-30 2001-10-12 Sony Corp Information processor, server connecting method, program storage medium, and network connection system
FR2807254B1 (en) * 2000-03-31 2004-08-27 Schneider Automation SYSTEM FOR ACCESSING A PROGRAMMABLE AUTOMATION ASSEMBLY ON A WAP ARCHITECTURE
US7257611B1 (en) * 2000-04-12 2007-08-14 Oracle International Corporation Distributed nonstop architecture for an event processing system
US6925307B1 (en) * 2000-07-13 2005-08-02 Gtech Global Services Corporation Mixed-mode interaction
WO2002017075A2 (en) * 2000-08-22 2002-02-28 Symbian Limited A method of enabling a wireless information device to access data services
GB2367213B (en) * 2000-09-22 2004-02-11 Roke Manor Research Access authentication system
GB2367727B (en) * 2000-10-07 2002-10-09 Complementary Tech Ltd Communications with remote embedded applications
US8799463B1 (en) * 2000-10-19 2014-08-05 Ariba, Inc. Method and apparatus for processing information related to interactive web sites
US7068643B1 (en) * 2000-11-03 2006-06-27 Intervoice Limited Partnership Extensible interactive voice response
US6741853B1 (en) * 2000-11-09 2004-05-25 Nortel Networks Limited Device aware internet portal
US6957217B2 (en) * 2000-12-01 2005-10-18 Sony Corporation System and method for selectively providing information to a user device
KR100565157B1 (en) * 2000-12-06 2006-03-30 닛본 덴끼 가부시끼가이샤 Virtual private network
US7124189B2 (en) * 2000-12-20 2006-10-17 Intellisync Corporation Spontaneous virtual private network between portable device and enterprise network
US8266677B2 (en) * 2000-12-20 2012-09-11 Intellisync Corporation UDP communication with a programmer interface over wireless networks
US20020107871A1 (en) * 2001-02-05 2002-08-08 Knowledge Computing Corporation Method and system for database migration and association
US20020107891A1 (en) * 2001-02-06 2002-08-08 Leamon Andrew P. Device-independent content acquisition and presentation
US8117313B2 (en) * 2001-03-19 2012-02-14 International Business Machines Corporation System and method for adaptive formatting of image information for efficient delivery and presentation
US20020184316A1 (en) * 2001-04-17 2002-12-05 Thomas Huw K. System and method for MAPI client server communication
US8700781B2 (en) * 2001-06-12 2014-04-15 Verizon Business Global Llc Automated processing of service requests using structured messaging protocols
US20020188688A1 (en) * 2001-06-12 2002-12-12 Bice Richard S. Automated message handling system and process
US7200662B2 (en) * 2001-07-06 2007-04-03 Juniper Networks, Inc. Integrated rule network management system
US7305492B2 (en) * 2001-07-06 2007-12-04 Juniper Networks, Inc. Content service aggregation system
US7801941B2 (en) * 2001-07-09 2010-09-21 Palm, Inc. Apparatus and method for exchanging data between two devices
US7124362B2 (en) * 2001-08-31 2006-10-17 Robert Tischer Method and system for producing an ordered compilation of information with more than one author contributing information contemporaneously
US6658091B1 (en) 2002-02-01 2003-12-02 @Security Broadband Corp. LIfestyle multimedia security system
US20030182383A1 (en) * 2002-02-12 2003-09-25 Xiaopeng He Enterprise electronic mail filtering and notification system
US8099393B2 (en) 2002-03-22 2012-01-17 Oracle International Corporation Transaction in memory object store
US20030182363A1 (en) * 2002-03-25 2003-09-25 James Clough Providing private network local resource access to a logically remote device
US7072657B2 (en) * 2002-04-11 2006-07-04 Ntt Docomo, Inc. Method and associated apparatus for pre-authentication, preestablished virtual private network in heterogeneous access networks
KR100498930B1 (en) * 2002-10-21 2005-07-04 삼성전자주식회사 Device and method for managing information data in mobile telephone
US7062032B1 (en) * 2002-11-18 2006-06-13 At&T Corp Virtual work environment for remote users
US7043629B1 (en) * 2002-12-11 2006-05-09 Nortel Networks, Ltd. Method and apparatus for maintaining user-defined state information during a reboot event
WO2004070568A2 (en) * 2003-01-31 2004-08-19 Viair, Inc. Asynchronous real-time retrieval of data
SG176317A1 (en) * 2003-02-21 2011-12-29 Research In Motion Ltd System and method of multiple-level control of electronic devices
EP1599804A1 (en) * 2003-03-05 2005-11-30 Intellisync Corporation Virtual private network between computing network and remote device
AU2003249045A1 (en) * 2003-07-11 2005-02-25 Vazu, Inc. Method and system for transferring contact information to an sms-enabled wireless device
US20070276911A1 (en) * 2003-07-11 2007-11-29 Soujanya Bhumkar Method and System for Transferring Contact Information and Calendar Events to a Wireless Device Via E-Mail
FI120021B (en) * 2003-08-27 2009-05-29 Nokia Corp Obtaining authority information
US9172553B2 (en) * 2005-03-16 2015-10-27 Icontrol Networks, Inc. Security system with networked touchscreen and gateway
US9609003B1 (en) 2007-06-12 2017-03-28 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US20170118037A1 (en) 2008-08-11 2017-04-27 Icontrol Networks, Inc. Integrated cloud system for premises automation
US10382452B1 (en) 2007-06-12 2019-08-13 Icontrol Networks, Inc. Communication protocols in integrated systems
US10375253B2 (en) 2008-08-25 2019-08-06 Icontrol Networks, Inc. Security system with networked touchscreen and gateway
US10127802B2 (en) 2010-09-28 2018-11-13 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US10156959B2 (en) 2005-03-16 2018-12-18 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US10339791B2 (en) 2007-06-12 2019-07-02 Icontrol Networks, Inc. Security network integrated with premise security system
US8996665B2 (en) * 2005-03-16 2015-03-31 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US10237237B2 (en) 2007-06-12 2019-03-19 Icontrol Networks, Inc. Communication protocols in integrated systems
CA2559842C (en) * 2004-03-16 2014-05-27 Icontrol Networks, Inc. Premises management system
US7711796B2 (en) 2006-06-12 2010-05-04 Icontrol Networks, Inc. Gateway registry methods and systems
US9729342B2 (en) 2010-12-20 2017-08-08 Icontrol Networks, Inc. Defining and implementing sensor triggered response rules
US11190578B2 (en) 2008-08-11 2021-11-30 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US7911341B2 (en) * 2007-01-24 2011-03-22 Icontrol Networks Inc. Method for defining and implementing alarm/notification by exception
US11677577B2 (en) 2004-03-16 2023-06-13 Icontrol Networks, Inc. Premises system management using status signal
US11159484B2 (en) 2004-03-16 2021-10-26 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US9141276B2 (en) 2005-03-16 2015-09-22 Icontrol Networks, Inc. Integrated interface for mobile device
US8635350B2 (en) * 2006-06-12 2014-01-21 Icontrol Networks, Inc. IP device discovery systems and methods
US11244545B2 (en) 2004-03-16 2022-02-08 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US11113950B2 (en) 2005-03-16 2021-09-07 Icontrol Networks, Inc. Gateway integrated with premises security system
US11811845B2 (en) 2004-03-16 2023-11-07 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US10522026B2 (en) 2008-08-11 2019-12-31 Icontrol Networks, Inc. Automation system user interface with three-dimensional display
US11368429B2 (en) 2004-03-16 2022-06-21 Icontrol Networks, Inc. Premises management configuration and control
US12063220B2 (en) 2004-03-16 2024-08-13 Icontrol Networks, Inc. Communication protocols in integrated systems
US10721087B2 (en) * 2005-03-16 2020-07-21 Icontrol Networks, Inc. Method for networked touchscreen with integrated interfaces
US8612591B2 (en) * 2005-03-16 2013-12-17 Icontrol Networks, Inc. Security system with networked touchscreen
US20090077623A1 (en) * 2005-03-16 2009-03-19 Marc Baum Security Network Integrating Security System and Network Devices
US9191228B2 (en) 2005-03-16 2015-11-17 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US11343380B2 (en) 2004-03-16 2022-05-24 Icontrol Networks, Inc. Premises system automation
US10142392B2 (en) 2007-01-24 2018-11-27 Icontrol Networks, Inc. Methods and systems for improved system performance
US10200504B2 (en) 2007-06-12 2019-02-05 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11489812B2 (en) 2004-03-16 2022-11-01 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US20120066608A1 (en) 2005-03-16 2012-03-15 Ken Sundermeyer Control system user interface
US8473619B2 (en) * 2005-03-16 2013-06-25 Icontrol Networks, Inc. Security network integrated with premise security system
US10313303B2 (en) 2007-06-12 2019-06-04 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US11316958B2 (en) 2008-08-11 2022-04-26 Icontrol Networks, Inc. Virtual device systems and methods
US20160065414A1 (en) 2013-06-27 2016-03-03 Ken Sundermeyer Control system user interface
US11277465B2 (en) 2004-03-16 2022-03-15 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US11916870B2 (en) 2004-03-16 2024-02-27 Icontrol Networks, Inc. Gateway registry methods and systems
US8988221B2 (en) * 2005-03-16 2015-03-24 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US10444964B2 (en) 2007-06-12 2019-10-15 Icontrol Networks, Inc. Control system user interface
US11582065B2 (en) 2007-06-12 2023-02-14 Icontrol Networks, Inc. Systems and methods for device communication
US9531593B2 (en) 2007-06-12 2016-12-27 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US8963713B2 (en) 2005-03-16 2015-02-24 Icontrol Networks, Inc. Integrated security network with security alarm signaling system
US11201755B2 (en) 2004-03-16 2021-12-14 Icontrol Networks, Inc. Premises system management using status signal
US7444278B2 (en) * 2004-03-19 2008-10-28 Microsoft Corporation Method and system for synchronizing the user interface language between a software application and a web site
US20060221941A1 (en) * 2004-11-05 2006-10-05 Konstantin Kishinsky Voice over internet protocol implemented call center
US8819178B2 (en) 2005-03-16 2014-08-26 Icontrol Networks, Inc. Controlling data routing in integrated security systems
US20170180198A1 (en) 2008-08-11 2017-06-22 Marc Baum Forming a security network including integrated security system components
US8825871B2 (en) * 2005-03-16 2014-09-02 Icontrol Networks, Inc. Controlling data routing among networks
US10999254B2 (en) 2005-03-16 2021-05-04 Icontrol Networks, Inc. System for data routing in networks
US9306809B2 (en) 2007-06-12 2016-04-05 Icontrol Networks, Inc. Security system with networked touchscreen
US11700142B2 (en) 2005-03-16 2023-07-11 Icontrol Networks, Inc. Security network integrating security system and network devices
US9059863B2 (en) * 2005-03-16 2015-06-16 Icontrol Networks, Inc. Method for data routing in networks
US8713132B2 (en) 2005-03-16 2014-04-29 Icontrol Networks, Inc. Device for data routing in networks
US11615697B2 (en) 2005-03-16 2023-03-28 Icontrol Networks, Inc. Premise management systems and methods
US9450776B2 (en) * 2005-03-16 2016-09-20 Icontrol Networks, Inc. Forming a security network including integrated security system components
US11496568B2 (en) 2005-03-16 2022-11-08 Icontrol Networks, Inc. Security system with networked touchscreen
US20110128378A1 (en) 2005-03-16 2011-06-02 Reza Raji Modular Electronic Display Platform
US20120324566A1 (en) 2005-03-16 2012-12-20 Marc Baum Takeover Processes In Security Network Integrated With Premise Security System
US8223935B2 (en) 2005-04-30 2012-07-17 Oracle International Corporation Revenue management systems and methods
CA2613701C (en) 2005-06-28 2016-04-12 Alexander Rockel Revenue management system and method
AU2006275665A1 (en) 2005-07-28 2007-02-08 Oracle International Corporation Revenue management system and method
US7610345B2 (en) 2005-07-28 2009-10-27 Vaporstream Incorporated Reduced traceability electronic message system and method
US9282081B2 (en) 2005-07-28 2016-03-08 Vaporstream Incorporated Reduced traceability electronic message system and method
US8223777B2 (en) * 2005-11-15 2012-07-17 Oracle International Corporation Gateway for achieving low latency and high availability in a real time event processing system
AU2006319738B2 (en) * 2005-11-29 2012-07-05 Coolrock Software Pty Ltd A method and apparatus for storing and distributing electronic mail
US8479275B1 (en) 2006-02-01 2013-07-02 Cisco Technology, Inc. Secure high-throughput data-center network employing routed firewalls
US10079839B1 (en) 2007-06-12 2018-09-18 Icontrol Networks, Inc. Activation of gateway device
US12063221B2 (en) 2006-06-12 2024-08-13 Icontrol Networks, Inc. Activation of gateway device
US20080004991A1 (en) * 2006-06-30 2008-01-03 International Business Machines Corporation Methods and apparatus for global service management of configuration management databases
US20080077704A1 (en) * 2006-09-24 2008-03-27 Void Communications, Inc. Variable Electronic Communication Ping Time System and Method
US11706279B2 (en) 2007-01-24 2023-07-18 Icontrol Networks, Inc. Methods and systems for data communication
US20080201440A1 (en) * 2007-02-15 2008-08-21 Void Communications, Inc. Electronic Messaging Recordlessness Warning and Routing System and Method
US7633385B2 (en) 2007-02-28 2009-12-15 Ucontrol, Inc. Method and system for communicating with and controlling an alarm system from a remote server
US8451986B2 (en) 2007-04-23 2013-05-28 Icontrol Networks, Inc. Method and system for automatically providing alternate network access for telecommunications
KR101402792B1 (en) * 2007-05-04 2014-06-03 삼성전자주식회사 Methods for managing user data in communication terminal
US11601810B2 (en) 2007-06-12 2023-03-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US11237714B2 (en) 2007-06-12 2022-02-01 Control Networks, Inc. Control system user interface
US10498830B2 (en) 2007-06-12 2019-12-03 Icontrol Networks, Inc. Wi-Fi-to-serial encapsulation in systems
US10051078B2 (en) 2007-06-12 2018-08-14 Icontrol Networks, Inc. WiFi-to-serial encapsulation in systems
US12003387B2 (en) 2012-06-27 2024-06-04 Comcast Cable Communications, Llc Control system user interface
US11646907B2 (en) 2007-06-12 2023-05-09 Icontrol Networks, Inc. Communication protocols in integrated systems
US10523689B2 (en) 2007-06-12 2019-12-31 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US10616075B2 (en) 2007-06-12 2020-04-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US10423309B2 (en) 2007-06-12 2019-09-24 Icontrol Networks, Inc. Device integration framework
US11316753B2 (en) 2007-06-12 2022-04-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US11218878B2 (en) 2007-06-12 2022-01-04 Icontrol Networks, Inc. Communication protocols in integrated systems
US11212192B2 (en) 2007-06-12 2021-12-28 Icontrol Networks, Inc. Communication protocols in integrated systems
US11423756B2 (en) 2007-06-12 2022-08-23 Icontrol Networks, Inc. Communication protocols in integrated systems
US10666523B2 (en) 2007-06-12 2020-05-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US10389736B2 (en) 2007-06-12 2019-08-20 Icontrol Networks, Inc. Communication protocols in integrated systems
US11089122B2 (en) 2007-06-12 2021-08-10 Icontrol Networks, Inc. Controlling data routing among networks
US11831462B2 (en) 2007-08-24 2023-11-28 Icontrol Networks, Inc. Controlling data routing in premises management systems
US8284664B1 (en) 2007-09-28 2012-10-09 Juniper Networks, Inc. Redirecting data units to service modules based on service tags and a redirection table
US11916928B2 (en) 2008-01-24 2024-02-27 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US8650530B2 (en) * 2008-06-04 2014-02-11 Microsoft Corporation Data center programming and application distribution interface
US8572602B1 (en) * 2008-06-05 2013-10-29 Appcelerator, Inc. System and method for synchronization of a web application to a cloud provider
US20170185278A1 (en) 2008-08-11 2017-06-29 Icontrol Networks, Inc. Automation system user interface
US10116580B2 (en) * 2008-06-27 2018-10-30 Microsoft Technology Licensing, Llc Seamless location aware network connectivity
CN101330657B (en) * 2008-07-15 2012-01-11 华通科技有限公司 Address book system and implementation method thereof
US11792036B2 (en) 2008-08-11 2023-10-17 Icontrol Networks, Inc. Mobile premises automation platform
US11758026B2 (en) 2008-08-11 2023-09-12 Icontrol Networks, Inc. Virtual device systems and methods
US11258625B2 (en) 2008-08-11 2022-02-22 Icontrol Networks, Inc. Mobile premises automation platform
US11729255B2 (en) 2008-08-11 2023-08-15 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US9628440B2 (en) 2008-11-12 2017-04-18 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US8638211B2 (en) 2009-04-30 2014-01-28 Icontrol Networks, Inc. Configurable controller and interface for home SMA, phone and multimedia
US8520539B2 (en) * 2009-07-31 2013-08-27 Alcatel Lucent Permutation zone for coordinated multi-point systems
US9144143B2 (en) 2010-04-30 2015-09-22 Icontrol Networks, Inc. Power and data solution for remote low-power devices
CN103229161B (en) 2010-08-24 2016-01-20 科派恩股份有限公司 Continuous access gateway and duplicate removal data cache server
US8836467B1 (en) 2010-09-28 2014-09-16 Icontrol Networks, Inc. Method, system and apparatus for automated reporting of account and sensor zone information to a central station
US11750414B2 (en) 2010-12-16 2023-09-05 Icontrol Networks, Inc. Bidirectional security sensor communication for a premises security system
US9147337B2 (en) 2010-12-17 2015-09-29 Icontrol Networks, Inc. Method and system for logging security event data
US9258234B1 (en) 2012-12-28 2016-02-09 Juniper Networks, Inc. Dynamically adjusting liveliness detection intervals for periodic network communications
US8953460B1 (en) 2012-12-31 2015-02-10 Juniper Networks, Inc. Network liveliness detection using session-external communications
US9928975B1 (en) 2013-03-14 2018-03-27 Icontrol Networks, Inc. Three-way switch
US9287727B1 (en) 2013-03-15 2016-03-15 Icontrol Networks, Inc. Temporal voltage adaptive lithium battery charger
US9867143B1 (en) 2013-03-15 2018-01-09 Icontrol Networks, Inc. Adaptive Power Modulation
WO2015021469A2 (en) 2013-08-09 2015-02-12 Icontrol Networks Canada Ulc System, method and apparatus for remote monitoring
US11146637B2 (en) 2014-03-03 2021-10-12 Icontrol Networks, Inc. Media content management
US11405463B2 (en) 2014-03-03 2022-08-02 Icontrol Networks, Inc. Media content management
US9769017B1 (en) 2014-09-26 2017-09-19 Juniper Networks, Inc. Impending control plane disruption indication using forwarding plane liveliness detection protocols
WO2016109745A1 (en) * 2014-12-31 2016-07-07 Bandwidthx Inc. Systems and methods for controlling access to wireless services
US10374936B2 (en) 2015-12-30 2019-08-06 Juniper Networks, Inc. Reducing false alarms when using network keep-alive messages
US10397085B1 (en) 2016-06-30 2019-08-27 Juniper Networks, Inc. Offloading heartbeat responses message processing to a kernel of a network device
US10360242B2 (en) 2016-12-01 2019-07-23 Bank Of America Corporation Automated server analysis and patching for enabling relational database migration to a cloud network
US11750441B1 (en) 2018-09-07 2023-09-05 Juniper Networks, Inc. Propagating node failure errors to TCP sockets
US11546334B2 (en) * 2019-07-29 2023-01-03 Citrix Systems, Inc. Client device configuration for remote digital workspace access

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6335927B1 (en) * 1996-11-18 2002-01-01 Mci Communications Corporation System and method for providing requested quality of service in a hybrid network

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3270102B2 (en) 1991-03-11 2002-04-02 ヒューレット・パッカード・カンパニー Licensing method and system
US5291479A (en) * 1991-07-16 1994-03-01 Digital Technics, Inc. Modular user programmable telecommunications system with distributed processing
US5333183A (en) * 1992-03-13 1994-07-26 Moscom Corporation Universal MDR data record collection and reporting system
US5287408A (en) 1992-08-31 1994-02-15 Autodesk, Inc. Apparatus and method for serializing and validating copies of computer software
US6334219B1 (en) * 1994-09-26 2001-12-25 Adc Telecommunications Inc. Channel selection for a hybrid fiber coax network
GB2316503B (en) 1996-08-22 2000-11-15 Icl Personal Systems Oy Software licence management

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6335927B1 (en) * 1996-11-18 2002-01-01 Mci Communications Corporation System and method for providing requested quality of service in a hybrid network

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7277940B2 (en) * 2002-08-29 2007-10-02 Sap Ag Managing uneven authorizations in a computer data exchange
US8024465B2 (en) 2002-08-29 2011-09-20 Sap Aktiengesellschaft Managing uneven authorizations in a computer data exchange
US7970942B2 (en) 2002-08-29 2011-06-28 Sap Aktiengesellschaft Isolated mapping point
US20040044766A1 (en) * 2002-08-29 2004-03-04 Heinz Pauly Managing uneven authorizations in a computer data exchange
US20080046501A1 (en) * 2002-08-29 2008-02-21 Sap Ag Managing uneven authorizations in a computer data exchange
US20070271394A1 (en) * 2002-08-29 2007-11-22 Sap Aktiengesellschaft Isolated Mapping Point
US7269665B2 (en) 2002-08-29 2007-09-11 Sap Ag Isolated mapping point
US7730014B2 (en) * 2003-03-25 2010-06-01 Hartenstein Mark A Systems and methods for managing affiliations
US20050192822A1 (en) * 2003-03-25 2005-09-01 Hartenstein Mark A. Systems and methods for managing affiliations
KR100823122B1 (en) * 2004-01-07 2008-04-18 노키아 코포레이션 Remote management and access of databases, services and devices associated with a mobile terminal
US8996454B2 (en) * 2004-01-07 2015-03-31 Nokia Corporation Remote management and access of databases, services and devices associated with a mobile terminal
US20050149564A1 (en) * 2004-01-07 2005-07-07 Nokia Corporation Remote management and access of databases, services and devices associated with a mobile terminal
WO2005069672A1 (en) * 2004-01-07 2005-07-28 Nokia Corporation Remote management and access of databases, services and devices associated with a mobile terminal
US20050177577A1 (en) * 2004-01-30 2005-08-11 Nokia Corporation Accessing data on remote storage servers
US20080091835A1 (en) * 2005-07-19 2008-04-17 Lei Yuan Register/Unregister System And A Register/Unregister Method
WO2007009344A1 (en) * 2005-07-19 2007-01-25 Huawei Technologies Co., Ltd. A registration/cancel method and a registration/cancel system
US20080109267A1 (en) * 2006-11-02 2008-05-08 International Business Machines Corporation Online startup of an innovation project
US8146080B2 (en) 2007-03-30 2012-03-27 Novell, Inc. Tessellated virtual machines conditionally linked for common computing goals
US20080244575A1 (en) * 2007-03-30 2008-10-02 Novell, Inc. Tessellated virtual machines conditionally linked for common computing goals
US20080256538A1 (en) * 2007-04-10 2008-10-16 Novell, Inc. Storage configurations for tessellated virtual machines
US20080281654A1 (en) * 2007-05-09 2008-11-13 Novell, Inc. Data center life cycle management
US20080307415A1 (en) * 2007-06-11 2008-12-11 Novell, Inc. Tessellated applications for user computing environments
US20090133017A1 (en) * 2007-11-15 2009-05-21 Boogert Kevin M Environment managers via virtual machines
US8930945B2 (en) 2007-11-15 2015-01-06 Novell, Inc. Environment managers via virtual machines
WO2010101421A3 (en) * 2009-03-03 2010-12-02 Samsung Electronics Co., Ltd. Method and apparatus for restricting disclosure of network information during remote access service
US10404485B2 (en) 2009-03-03 2019-09-03 Samsung Electronics Co., Ltd Method and apparatus for restricting disclosure of network information during remote access service

Also Published As

Publication number Publication date
US6563800B1 (en) 2003-05-13

Similar Documents

Publication Publication Date Title
US6563800B1 (en) Data center for providing subscriber access to data maintained on an enterprise network
US6957249B2 (en) Secure remote access to enterprise networks employing enterprise gateway servers
US20040193695A1 (en) Secure remote access to enterprise networks
US11310219B2 (en) System and method for controlling configuration settings for mobile communication devices and services
US7590759B2 (en) System and method for providing remote data access and trascoding for a mobile communication device
US7103656B2 (en) System and method for administrating a wireless communication network
US20040193694A1 (en) Application gateway systems
US7526572B2 (en) System and method for providing remote data access for a mobile communication device
US7873734B1 (en) Management of multiple user sessions and user requests for multiple electronic devices
US20130275472A1 (en) Individualized data sharing
US20010037407A1 (en) System and method for managing user-specific data
US20080066172A1 (en) Secured web syndication
JP2004527939A (en) Remote proxy server agent
US20040255043A1 (en) Data transmission architecture for secure remote access to enterprise networks
US20020194295A1 (en) Scalable data-sharing architecture
JP5336405B2 (en) Internal information browsing server system and control method thereof
CN100553252C (en) Accessed enterprise equipment and method
WO2001076190A2 (en) Application gateway system
Vasiliadis et al. A trusted network model using the lightweight directory access protocol
Chen et al. A mobile service platform using proxy technology
EP1853038A2 (en) System and method for providing remote data access for a mobile communication device
CA2323275A1 (en) System and method for mobile data management

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

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

AS Assignment

Owner name: QUALCOMM INCORPORATED, CALIFORNIA

Free format text: NUNC PRO TUNC ASSIGNMENT;ASSIGNOR:SEROR, DAVID;REEL/FRAME:030219/0187

Effective date: 20130326

Owner name: SEROR, DAVID, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WIRELESS KNOWLEDGE, INC.;REEL/FRAME:030213/0132

Effective date: 20030610