US20080071860A1 - System and method for provisioning universal stateless digital and computing services - Google Patents
System and method for provisioning universal stateless digital and computing services Download PDFInfo
- Publication number
- US20080071860A1 US20080071860A1 US11/986,119 US98611907A US2008071860A1 US 20080071860 A1 US20080071860 A1 US 20080071860A1 US 98611907 A US98611907 A US 98611907A US 2008071860 A1 US2008071860 A1 US 2008071860A1
- Authority
- US
- United States
- Prior art keywords
- service
- client device
- client
- noc
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/08—Protocols specially adapted for terminal emulation, e.g. Telnet
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Definitions
- the present invention relates generally to remote access of digital data and services and, more particularly to a service provisioning system architecture for providing universal stateless digital and computer services.
- the configuration of corporate computer systems has evolved over the past fifty years since the introduction of the software programmable digital computer.
- some number of users such as corporate employees, etc.
- the mainframe computers provided all processing power and data storage facilities.
- the dumb terminal was used for and limited to inputting data to the mainframe computers and displaying output data generated by the mainframe computers. That is, the dumb terminal did not have the capability of processing or storing data locally. Essentially, the dumb terminal was useless unless it was connected to the mainframe computers via a dedicated, mainframe and installation-specific communications network.
- PC personal computer
- a PC is a self contained computing system where all processing is performed locally, and all applications and data are executed and stored locally.
- the relatively low cost of PCs enabled single users and small businesses to readily acquire and utilize the processing power of the PCs instead of relying on massive, centrally located mainframe systems.
- users could not easily share data with other users since their PCs were not part of a centralized network and did not necessarily use the same operating system.
- each PC needed its own local copy of any software to be executed, incompatible versions of the same software application in different personal computers prevented users from communicating and sharing data with each other.
- PCs were connected to each other via a private communications network, such as a corporate network, and to a common server storing data and applications.
- the server maintains the common data and provides copies of the data to the clients upon request.
- client/server systems rely on the processing power of the PC, the hardware and software components of each PC of a client/server network must be constantly synchronized and therefore upgraded.
- PCs are numerous and widely distributed throughout and among diverse locations.
- certain hardware components such as microprocessors, random access memory (RAM), hard disk devices, etc., can be upgraded or replaced without replacing the entire PC system.
- RAM random access memory
- PC system When the PC system can no longer be upgraded, the entire system must be replaced. For example, newer versions of software applications or operating systems may require hardware capabilities that cannot be satisfied by existing PC systems. Generally, a PC system is considered to be obsolete in three to five years, thereby necessitating costly replacement of thousands of PCs as often as every three years.
- Desktop refers to a top level, local graphical user interface environment customized by a user to display and provide access to data, folders and applications.
- One approach is to use laptop personal computers to enable users to access the corporate network to remotely access their files and e-mails. That is, if appropriate communications software is installed on each client laptop PC, the users can remotely access emails and the corporate network to transfer files from/to the network server through a dial-up telephone line (or a broadband connection, such as a digital subscriber line (DSL), T1, cable, etc.).
- DSL digital subscriber line
- VPN virtual private network
- WAN wide area network
- LAN corporate local area network
- a VPN WAN connection can implement an Open System Interconnection (OS) layer 2 extension between the LAN and the remote user location.
- OS Open System Interconnection
- a remote client PC connected through a VPN to a LAN appears as if it is directly connected to the LAN.
- a VPN connection requires expensive VPN termination equipment (or a client-site VPN router) located at each end of the connection, or VPN client software installed and configured at the client machine. In either case, the VPN terminator provides layer 2 packet processing as well as appropriate packet encryption/decryption functionality.
- Still another approach to extending the office environment to remote user locations utilizes an application service provider (ASP) model requiring the installation of specialized server software in the network server, such as Citrix Corporation's MetaFrame® software using independent computing architecture (ICA®) protocol.
- the network server situated on the LAN would function as an ASP by hosting multiple virtual machines, to various different remotely located client PCs.
- Microsoft Corporation's Windows® Terminal Services (WTS) using remote desktop protocol (RDP) can be utilized to provide multiple virtual machines.
- WTS Windows® Terminal Services
- RDP remote desktop protocol
- both the MetaFrame® and WTS software impose considerable processing load on the client PC, and are vulnerable to network faults and security breaches, such as “man-in-the-middle” attacks.
- the ASP-based approach at best, provides a limited remote execution functionality.
- corporate system such as legacy enterprise data center
- the corporate data center can be outfitted with a connector or connection service device to provide a secure remote access from anywhere in the world.
- the inventive system and method enables a user of a client device, preferably a stateless client device, to access remote resources including applications and data.
- a client device preferably a stateless client device
- remote resources including applications and data.
- a user can surf the Internet, and access his desktop operating system, files and applications.
- the user can further access other digital services, such as digital video and music broadcasts, Internet protocol (IP) telephony and the like, using a client device much like a television.
- IP Internet protocol
- the system includes an authentication system or mechanism, such as a smart card.
- the inventive service provisioning system architecture offers multiple levels of functionality, security and long-term investment protection at a significantly lower overall cost than prior approaches, and allows delivery of any digital service to a remote location without requiring a local copy of the data, any application or supportive hardware.
- the inventive system delivers digital services from an existing network, system or data center through a single “Digital Dial Tone” network without compromising security or modifying any of the functions, operations and hardware/software infrastructure or the existing network.
- the service provisioning system architecture of the present invention connects simple, low cost, low maintenance client devices, that can be incorporated in various forms, such as desktops, portable, wireless, or embedded in existing legacy appliances such as TVs, PDAs and PCs.
- the service provisioning system provides remote access to digital services over a communications network, comprising a plurality of client devices connected to the communications network for requesting digital services from a plurality of service centers and presenting output from the digital services.
- the network operation center connected to the communications network authenticates client devices and users, manages sessions, and processes requests for digital services.
- a connector associated with each service center establishes a session with a client device specified by the network operation center and encapsulates the native protocols of the digital services within a remote interactive protocol.
- the remote interactive protocol includes information for generating a human-perceptible presentation on the client device, to provide a remote access to the digital services without modifying the hardware and software infrastructure of the service centers.
- the service provisioning method provides a secure remote access to digital services over a communications network.
- the method connects each service center to a connector to provide one or more digital services over the communications network, the connector encapsulating respective native protocols of the digital services within a common remote interactive protocol.
- the method receives a request for a digital service available on a service center from a user on a client device over the communications network.
- the network operation center authenticates the user and the client device. If the user and the client device are authenticated as a valid user and a valid client device, a device connection to the client device is established to initiate a session.
- the method translates input/output commands of the requested digital service into the remote interactive protocol by the connector, thereby making the requested digital service on the service center remotely accessible to the valid user on the valid client device without modifying the hardware and software infrastructure of the data center.
- the present invention may be embodied in a network of computer systems including a set of dedicated servers adapted by a set of software components, all configured according to the service provisioning system architecture.
- This architecture has the ability to connect, generate, manage and deliver a digital service session to a variety of client devices connected to the network, and enables the “hot swapping” or “switching” of such sessions between devices by simply authenticating the user through a smart card or other applicable access control technology.
- user interaction with each service is unaffected by the type, location or connectivity of the device used.
- FIG. 1 is an exemplary block diagram of the service provisioning system architecture of the present invention
- FIGS. 2A-2D are exemplary screen shots of the Meta-Desktop in accordance with an embodiment of the present invention.
- FIG. 3 is a flow chart of an authentication process in accordance with an embodiment of the present invention.
- FIG. 4 is a flow chart of a process for transferring control of a client device to another NOC in accordance with an embodiment of the present invention.
- the present invention is readily implemented using presently available communication apparatuses and electronic components.
- the invention finds ready application in virtually all communications systems, including but not limited to intranet, local area network (LAN), wireless LAN (WLAN), wide area network (WAN), Internet, private and public communications networks, wireless, satellite, cable network or other online global broadcast, point-to-point, and other networks.
- LAN local area network
- WLAN wireless LAN
- WAN wide area network
- private and public communications networks wireless, satellite, cable network or other online global broadcast, point-to-point, and other networks.
- the present invention provides the basis for a secure, reliable, rich, high-performance access to a wide variety of computational, communications, entertainment and other digital services (collectively referred to herein as “digital services”) while providing enhanced security and without requiring a costly conversion to a new hardware/software infrastructure.
- digital services collectively referred to herein as “digital services”
- the system utilizes low-cost, low-maintenance devices to deliver digital services over a wide variety of communications networks worldwide.
- the inventive service provisioning system architecture is operable to manage multiple user sessions from a variety of different client devices. The system continuously maintains each session, thereby permitting the user to readily access his session from different locations and client devices.
- a service provisioning system architecture 100 comprises one or more client devices 400 , service centers 300 and network operation centers (NOC) 200 connected to each other via a communications network, such as the Internet or a wide area network (WAN) 110 .
- the service provisioning system architecture 100 can utilize virtually any communications system, such as intranet, local area network (LAN), wireless network including wireless LAN (WLAN), wide area network (WAN), Internet, private or public communications network, satellite network, cable network, other online global broadcast network and the like.
- the service provisioning system architecture 100 includes security tokens associated with each authorized user of the universal stateless digital and computing services.
- the WAN 110 is a packet network using, for example, transmission control protocol/Internet protocol (TCP/IP). Since all processing and computations are centrally performed at the service center(s) 300 , the WAN 110 should support a desired level of quality of service (QOS) to insure timely response time and timely delivery of data between the client devices 400 and the service centers 300 . For example, in order to ensure that the user does not experience an unacceptable or even noticeable delay, the round-trip delay imposed by the WAN 110 should be less than, for example, 60 msec.
- QOS quality of service
- the total time from user entering the inputs to the rendering of the textual or graphical representation of the result should be below the user's threshold of perception, i.e., about a hundred milliseconds.
- the QOS demands on the WAN 110 as characterized by round-trip delays are less than 60 ms on average and less than 100 ms in the worst case. It is appreciated that from user standpoint and perception, a higher average delay with a low variance is generally preferred over a lower average delay with a high variance.
- the bandwidth requirements of WAN 110 are highly asymmetrical for typical computing applications.
- the remote processing and rendering aspect of the inventive service provisioning system architecture 100 typically generates considerably more downstream traffic (i.e., data traffic from the service center 300 to the client device 400 ) than upstream traffic (i.e., data traffic from the client device 400 to the service center 300 ).
- upstream traffic i.e., data traffic from the client device 400 to the service center 300 .
- the bandwidth demand from upstream traffic is on the order of a few kilobits per second (Kbps) whereas the downstream traffic averages between a few hundred Kbps to several Mbps.
- the traffic consists mainly of broadcast video/audio data from the service center 300 to the client device 400 (i.e., downstream traffic) at 1.554 Mbps after the user selects a particular broadcast or channel similar to the over-the-air broadcast television and cable television, the latter requiring a single upstream transmission of less than one kilobyte.
- Remote devices 430 e.g., CD-ROMs, video cameras, scanners, printers, etc.
- client devices 400 can increase the upstream traffic to impose additional bandwidth requirements on the WAN 110 .
- these upstream bandwidth demands on WAN 110 can be easily quantified and tend to be constant, frequently being isochronous.
- the inventive service provisioning system architecture 100 utilizes industry standard compression technology to transmit audio and/or video content (e.g., Moving Picture Experts Group (MPEG), MP3 and the like). Accordingly, bandwidth demands on the WAN 110 from multimedia and telephony applications can be defined.
- MPEG Moving Picture Experts Group
- the availability of enhanced WAN performance, e.g., a higher WAN QOS guarantee, may reduce the cost of client devices 400 due to lower memory and data buffering requirements.
- the approximate bandwidth requirements for various multimedia applications on the WAN 110 include: 160 Mbps for uncompressed analog National Television Standards Committee (NTSC) video and audio, 2 to 7 Mbps for compressed DVD-quality video, 384 Kbps to 1 Mbps for VCR-quality video using the latest coder/decoder (codec), 1.5 Mbps for raw (e.g., pulse width modulation (PWM) encoded) CD-quality audio and 128 Kbps for MP3-compressed music.
- the bandwidth requirement can be as little as 8 Kbps for simple telephony grade compressed audio.
- the inventive service provisioning system architecture 100 can use various public and/or proprietary remote interactive protocols to ensure user authentication and privacy, preferably through end-to-end encryption.
- the present system can utilize protocols such as remote desktop protocol (RDP), independent computing architecture (ICA®), hypertext transfer protocol (HTTP), stateless low-level interface machine (SLIM), appliance link protocol (ALP), etc., as the remote interactive protocol as long as the protocol provides user authentication and enables the user to securely connect and disconnect to/from the session.
- WAN 110 preferably comprises a virtual private network (VPN) service to segregate data traffic and to provide a high level of network performance.
- VPN virtual private network
- the client devices 400 can be located in corporate offices, homes, hotels, airplanes, cars, other in-transit or franchised commercial spaces and the like.
- the inventive service provisioning system architecture 100 of the present invention contemplates users employing a variety of different client device implementations and a variety of different type of client devices to access the digital services available from and supported by service centers 300 .
- These client device implementations can range from a hardware-intensive solution, such as a stateless device (for example, a video display terminal), to a software based solution wherein terminal emulation software is installed on a standard PC (i.e., a stateful device) to emulate a client device 400 .
- the client devices 400 can range from simple “walkman®-like” personal audio playback devices to full-function “PC-like” devices that are comparable to high-end workstations in both functionality and performance. Accordingly, client devices 400 may include but are not limited to kiosks, “dumb” terminals, personal digital assistants (PDAs), laptop computers, desktop PCs, network PCs, wireless handheld PCs, smart telephones, set top boxes (STB), TV sets, and the like.
- client devices 400 can comprise various input/output peripheral equipment, e.g., displays, keyboards, speakers, microphones, smart card readers, etc., each connected to WAN 110 .
- client device 400 implements a remote interactive protocol (or a subset of a remote interactive protocol, i.e., “light” or “mini” version of the protocol) to communicate with the NOC(s) 200 and service center(s) 300 on the WAN 110 .
- a remote interactive protocol or a subset of a remote interactive protocol, i.e., “light” or “mini” version of the protocol
- Client devices 400 can each comprise a combination of the defined peripheral devices, such as one or more display devices (e.g., full-color, black/white, LCD, direct-mapped, frame-buffer device, etc.), input devices (e.g., mouse, keyboard, touch-screen, scanner, card reader, buttons, etc.), audio devices (e.g., speaker, microphone, etc.), video devices (e.g., camera, codec, clip/overlay region, etc.), and storage devices (e.g., universal serial bus (USB) devices such as printers, CDROMs, DVDs, hard disks, etc.).
- display devices e.g., full-color, black/white, LCD, direct-mapped, frame-buffer device, etc.
- input devices e.g., mouse, keyboard, touch-screen, scanner, card reader, buttons, etc.
- audio devices e.g., speaker, microphone, etc.
- video devices e.g., camera, codec, clip/overlay region, etc.
- storage devices e
- the specific instances and/or the number of each class of peripheral devices associated with a particular client device 400 are enumerated at power up and reported to the NOC(s) 200 as part of the device authentication and connection setup process.
- the service centers 300 can adapt their input/output (I/O) interfaces to support the capabilities of a specific client device 400 configuration that is currently being used to support a number of different types of client devices 400 .
- I/O input/output
- all “plug” events i.e., connect/disconnect events
- Such actions may include, for example, transmitting appropriate rendering commands to client device 400 .
- the signaling is also necessary because device drivers associated with the attached bus-based peripherals reside and execute on the service centers 300 and not on client devices 400 .
- the client device 400 encapsulates or wraps the native protocol of the attached peripheral device (i.e., native USB protocol) within an appropriate remote interactive protocol and passes the native commands between the attached peripheral and corresponding service center 300 , i.e., the one currently in communication with and providing service to the client device 400 .
- the remote interactive protocol overlays or operates “on top” of the existing native protocol to thereby enable any device to connect and communicate with the service provisioning system architecture 100 .
- the actual policy defining the operation of the attached peripheral device is set by the corresponding service center 300 .
- the responsible service center 300 determines how to interact with, i.e., “what to do” with the attached peripherals and how to respond to various events such as hot plug/unplug, device-specific exceptions, etc.
- a proxy device 410 can be utilized to enable a non-compliant client device 420 to connect to the WAN 110 and communicate with the service centers 300 and the NOC 200 .
- Non-compliant client devices 420 may represent devices that do not currently itself support the remote interactive protocol of the service provisioning system architecture 100 .
- the proxy device 410 appears to the WAN 110 as a client device 400 and acts as a protocol converter or “tunnel device” for the non-compliant client device 420 .
- the “dumb” terminal can be connected to a proxy device 410 which is connected to the WAN 110 , thereby enabling the “dumb” terminal to communicate with the NOCs 200 and the service centers 300 via the proxy device 410 and WAN 110 .
- the proxy device 410 can be used to connect a non-complaint thin client to the WAN 110 by converting the thin client's native protocol to its analog in the remote interactive protocol. Accordingly, from the service provisioning system architecture's point of view, the non-compliant thin client is just another client device 400 connected to the WAN 110 . Whereas, from the thin client's point of view, it is simply connected to a standard thin client server. Therefore, the service provisioning system architecture 100 can connect and communicate with existing network, device or system with no or only minimal modification to the hardware and/or software infrastructure of the existing network, device or system.
- the existing network, device or system's functions, operations and infrastructure have not changed, but its capabilities have been enhanced and extended by connecting to the service provisioning system architecture 100 .
- a corporation, an organization or an individual can now provide a world-wide remote access to the services available on its existing network, device or system without compromising security or investing in new hardware/software infrastructure, such as new client-server system, firewalls, etc.
- a service center 300 can be a legacy enterprise data center outfitted with one or more connectors or connection service modules 310 , or a special site set up specifically to support a given service, such as video conference, Internet protocol (IP) telephony, voice messaging, cable television, digital music, digital movie, e-commerce, etc.
- IP Internet protocol
- the service provisioning system architecture 100 enables the service provider to offer its services by establishing a service center 300 which connects its system to the WAN 110 via a connector 310 .
- the connector or connection service module 310 encapsulates or wraps the existing native protocol of the corresponding service center 300 within an appropriate remote interactive protocol.
- connection service module 310 of the service center 300 unwraps or disassembles the remote interactive protocol messages or packets containing the native commands of the client devices 400 destined for service center 300 .
- all services offered by the service centers 300 are delivered to the client devices 400 at the direction of, and under the continuous control of, the NOC(s) 200 , described hereinbelow.
- service provisioning system architecture 100 enables a service provider to convert a data center into or establish a service center 300 with no or only minimal changes to its existing hardware and software infrastructure.
- a corporation can seamlessly convert its legacy enterprise infrastructure into a service center 300 and connect the service center 300 to WAN 110 via a connector 310 to provide its employees a secure remote access to a portion or all of the services available on its legacy enterprise infrastructure.
- the remote interactive protocol of the service provisioning system architecture 100 operates “on top” of the native protocol of the legacy enterprise system to provide a secure remote access to authorized employees.
- connection service modules 310 that are connected to the LAN 320 (or the enterprise's Intranet) on one side and to the WAN 110 on the other side.
- the connector or connection service module 310 can be connected to the WAN 110 via a firewall device (not shown).
- connection service module or connector 310 maintains a secure connection to one or more NOCs 200 , and awaits instructions to securely connect one of its offered services to a client device 400 specified by one of the NOCs 200 . Accordingly, everything that was previously available directly from the data center (e.g., user applications, e-mail clients, voice processing, internet connections, etc.) is now remotely accessible by a remote user, preferably using a smart card (described hereinbelow) from anywhere, yet, the data never exits the perimeter of the service center 300 . Hence, there is no need for a laptop or proprietary personal digital assistants (PDAs), while traveling, although they can still be used. With the service provisioning system architecture 100 , businesses and corporations no longer need to purchase and maintain desktop or laptops, provide technical and software support at the individual client device location, thereby saving substantial cost, time and overhead while providing an unprecedented level of security and performance.
- PDAs personal digital assistants
- connection service module 310 comprises software and hardware components, such as a set of one or more low cost, horizontally scalable servers 315 that connect each digital service to the WAN 110 .
- the digital service can represent computers or servers running a specific operating system (i.e., Windows®, MacintoshTM, LinuxTM, UnixTM, SolarisTM, etc.), digital television broadcasts, IP telephony and the like.
- Connection service module 310 act as the local user interface for each service, interpret the display/sound and user command set for each service and convert the command set to and from the remote interactive protocol format.
- connection service module 310 uses the client device 400 to receive and display the human perceptible output of a subscribed or requested digital service and transmit basic, atomic inputs to the subscribed or requested digital service.
- Connection service module 310 or servers 315 collect the video or display image (i.e., pixels), sound and I/O data sets of a digital service and generates a stateless session with the client device 400 .
- Servers 315 are “appliance-like” in nature, requiring minimal maintenance and performing only a single function. That is, the servers 315 only manage device connections between applications or services running on the servers 330 within the service center 300 and the client devices 400 requesting such service.
- the network operations center (NOC) 200 is the gateway to all of the services offered by various service centers 200 connected to the WAN 110 .
- the NOC 200 authenticates all connection requests received from the client devices 400 and securely transfers the connection to the appropriate service center 300 to deliver the requested services to the client devices 400 .
- the service provisioning system architecture can support multiple NOCs 200 to support a large number of client devices.
- the number of NOCs 200 is not only vertically scalable, but the functions within a single NOC are also horizontally scalable (number of hardware/software components within the NOC 200 can be increased to expand the NOC's capabilities).
- the NOC 200 comprises one or more authentication service modules 210 , a Meta-DesktopTM service module 220 , a user database 230 and a client database 240 .
- the authentication service module 210 responds to authentication requests from the client devices 400 and executes the authentication process of the remote interactive protocol to setup and maintain valid authenticated connections between the client devices 400 and the NOC 200 .
- the authentication service module 210 stores and maintains valid client devices, user IDs and their associated public keys in the user database 230 and the client database 240 .
- Each client device 400 can be associated with a particular NOC 200 .
- each client device 400 can be associated with a primary NOC 200 and a secondary NOC 200 in case the primary NOC 200 is unavailable.
- the client device 400 can either transmit its authentication request directly to the assigned NOC 200 (i.e., www.xds.net, www.xds.cojp, www.xds.de, etc.) or broadcast its authentication requests on the WAN 110 to be received and processed by the assigned NOC 200 in step 1000 .
- the client device 400 uses the public key associated with the assigned NOC 200 to encrypt the authentication request before transmitting or broadcasting its authentication request to the assigned NOC 200 in step 1000 .
- Each NOC 200 is assigned a unique private key.
- the authentication service module 210 decrypts the authentication requests or messages received from the client devices 400 in step 1010 .
- the authentication service module 210 transmits or broadcasts an encrypted response to a particular client device 400 by encrypting the response using the public key that is associated with that client device 400 or a user on that client device 400 in step 1020 .
- the inventive service provisioning system architecture 100 employs symmetric public key exchange wherein the authentication service module 210 has the public key associated with a user or the client device 400 and the client device 400 has the public key associated with the authentication service module 210 .
- the client device 400 encrypts its authentication requests using the public key that is associated with the assigned NOC 200 and decrypts the response or messages received from the assigned NOC 200 using its or user's private key. This symmetric authentication procedure ensures that valid NOC 200 is in communication with a valid client device 400 .
- each client device 400 includes a smart card reader 430 .
- Each smart card uniquely identifies a user and stores user information, such as user ID, user's private key, NOC's public key and the like. A user inserts his smart card into the smart card reader 430 of the client device 400 to initiate a session between the client device 400 and a NOC 200 .
- the smart card generates an authentication request based on the client ID of the client device 400 and encrypts its authentication request using its stored public key and decrypts the response or messages received from the NOC 200 using its stored private key. Once the authentication request and response have been successfully exchanged, the smart card and the authentication service module 210 now share a session key or initial session key to establish a session with each other.
- the use of the smart card enables a NOC 200 and a thin or “dumb” client device 400 (i.e., a low cost client device lacking encryption and decryption capabilities) to authenticate each other to establish a session.
- the authentication service module 210 passes off or provides the client ID associated with the requesting client device 400 to the Meta-Desktop service module 220 in step 1040 .
- the Meta-Desktop service module 220 establishes a device connection with the requesting client device 400 and displays a customized Meta-Desktop on the requesting device 400 in step 1050 .
- the Meta-Desktop module 220 comprises one or more Meta-Desktop servers 225 .
- the Meta-Desktop service module 220 searches the client database 240 for a client profile based on the client ID supplied by a remote user's smart card and reads or retrieves the client profile to determine the client device type, the location of the client device (e.g., geographic location and/or network location such as IP address), the attached peripheral devices and the like.
- the Meta-Desktop module 220 Based on the client profile information, the Meta-Desktop module 220 generates a Meta-desktop session using an appropriate Meta-desktop server 225 (e.g., one having spare capacity) and establishes a secure device connection with the requesting client device 400 to display the client-specific customized Meta-Desktop on the requesting client device 400 .
- the Meta-Desktop service module 220 preferably initiates the device connection to the client device 400 to ensure that the Meta-Desktop service module 220 is in communication with a valid and authenticated client device 400 .
- the Meta-Desktop is a top-level selection interface that is used to launch the user into a specific service connection, i.e., connecting the client device 400 to a specific service center 300 to receive a particular digital service.
- the Meta-Desktop since the Meta-Desktop is the first screen that is displayed to the user by the client device 400 , the Meta-Desktop offers an opportunity to provide advertising 450 , branding and other service-related functions along with user-customizable features as shown in FIG. 2A .
- the Meta-Desktop preferably includes icons 440 representing various services available to a specific authenticated user on a specific authenticated client device 400 as shown in FIGS. 2A-2D .
- the Meta-Desktop service module 220 can customize or tailor the Meta-Desktop content for a specific client device, a specific user, a specific location of the user, a specific time, etc.
- the Meta-Desktop module 220 transmits, pushes or broadcasts dynamically changing and constantly updated displays to the client devices 400 .
- authentication service module 210 can authenticate, connect and manage any digital service to the client device 400 via a secure device connection.
- one authentication module 210 can manage digital service A, such as the Meta-Desktop service, and another authentication module 210 can manage digital service B.
- the serving or assigned NOC 200 that is securely connected to the client device 400 determines the service center 300 that is associated with the selected service.
- the serving NOC 200 uses its secure connection to the connection service module 310 of the desired service center 300 to initiate a new device connection (also referred to herein as the render connection) between a server 330 and the requesting client device 400 in step 1070 .
- the serving NOC 200 manages the session between the server 330 of the connection module 310 and the requesting client device 400 and maintains a record of the session (i.e., current status or state of the session).
- the serving NOC 200 provides the client profile information of the requesting client device 400 to the connection service module 310 and instructs the connection service module 310 to establish a session with the requesting client device 400 by initiating a device or render connection between the server 330 providing the requested service and the requesting client device 400 over the WAN 110 .
- This approach provides enhanced security by ensuring that the connection service module 310 initiates all outgoing connections to the client devices 400 , and no incoming connections to the service center 300 are permitted. That is, no client devices 400 can call into or initiate connections to the service center 300 .
- the NOC 200 terminates or drops its device connection to the client device 400 that was providing the Meta-Desktop.
- connection service module 310 translates the input/output commands from the application service into the remote interactive protocol format and manages the connection to the client device 400 . That is, the connection service module 310 converts to the format (resolution, color depth, keystrokes, mouse coordinates etc.) appropriate for each given client device 400 for any of the digital services available on the service center 300 . It is appreciated that no translation is required by the connection service module 310 if the application supports native remote interactive protocol, e.g. via the X11 virtual device driver software.
- the requesting client device 400 transmits user inputs to the appropriate service center 300 with over the WAN 110 in step 1080 .
- the service center 300 processes the inputs and/or performs the computations to generate output/results in step 1090 .
- the service center 300 transmits the rendering commands to the client device 400 in step 1100 .
- each NOC 200 is operable to manage multiple sessions with a variety of client devices 400 .
- NOC 200 dynamically updates the display format of each Meta-Desktop based on the type of client device 400 that is currently being used by the user to access the digital service from the service provisioning system architecture 100 .
- Service provisioning system architecture 100 enhances security by maintaining a secure (e.g., TCP-based) connection between the client device 400 and one of the NOCs 200 .
- the lifetime of the authentication performed on initial user token insertion i.e., inserting the smart card into the client device 400 to access the digital service, corresponds to the lifetime of the connection that is established between the client device 400 and the NOC 200 .
- the NOC 200 sends a “keep-alive” message to the connection service module 310 of the service center 300 .
- the connection service module 310 terminates the device connection to the client device 400 if the connection service module 310 fails to receive the “keep-alive” message within a predetermined period of time. It is appreciated that the “keep-alive” function is part of the remote interactive protocol.
- the authentication service module 210 performs a public key transaction to ensure the authenticity of both individual users and the specific client device 400 .
- a secure distribution of the keys is a problem in a public key system, thereby a secure system is necessary to ensure that keys are securely distributed and safeguarded.
- the service provisioning system architecture 100 utilizes a token-based security system that employs smart card technology for distributing keys and generating session keys. For example, a valid user can use his smart card or integrated circuit card to logon to his session via the client device 400 and access the various Meta-Desktop or digital services.
- the smart card/token stores user's private key, user credentials (e.g., a client/user ID), the public key of a NOC 200 , a uniform resource identifier or locator (URI or URL) that can be used to locate an appropriate NOC (e.g., the string “xtp:// ⁇ uid>.xds.com/”)-, and the like.
- the smart card includes a source of appropriate pseudo-random numbers, so the service provisioning system architecture 100 does not have to rely on the client devices 400 having these capabilities.
- the client devices 400 may span a wide range of device capabilities from a simple I/O device to a fully-functional PC.
- the smart card/token can be used to authenticate both the client device 400 and the user.
- smart card is a type used by the global system for mobile communication-subscriber identity module (GSM-SIM).
- GSM-SIM global system for mobile communication-subscriber identity module
- authentication service module 210 requires the user to enter a PIN or password to unlock the smart card, similar to the conventional automatic teller machine (ATM) card. This helps prevent the smart card from being used an unauthorized user.
- ATM automatic teller machine
- the inventive service provisioning system architecture 100 may utilize some other authentication/validation method, such as using secure sockets layer (SSL) for privacy and a fingerprint reader, a password or challenge/response system for authentication.
- SSL secure sockets layer
- a digital service such as a word processor application, web browser, video service, telephony connection, etc.
- connection service module 310 of service center 300 activates the requested digital service and converts the incoming digital data representation (e.g., a Windows desktop, display/mouse and keystrokes) into a data representation compatible with the remote interactive desktop protocol format and encapsulates it with the user session ID. That is, the connection service module 310 may generate bit-mapped pixel images of the service output, such as generating virtual image of the desktop, an application, etc.
- connection service module 310 also reports its state and availability to the NOC 200 . However, if the user or user session does not request a digital service, the NOC 200 or the Meta-Desktop service module 220 merely maintains the session alive and idle, as shown in FIG. 2A . This enables NOC 200 to provide substantially immediate response to a user request for a digital service and to fully maintain the state of the service session at all times.
- authentication service module 210 of the NOC 200 determines the geographic and/or network location of the requesting client device 400 (e.g., IP address) and establishes whether the distance between the client device 400 and the service center 300 associated with the digital service (i.e., the serving service center 300 ) is within the direct service area of the service center, e.g., few thousand miles in step 2010 .
- the authentication service module 210 searches the client database 240 for client profile information which contains information relating to the client device type, attached peripheral devices, location, etc.
- the size of the direct service area depends on the round-trip delay or response time, which should be preferably below the user's threshold of perception. If authentication service module 210 determines that the requesting client device 400 is within the direct service area of the serving service center 300 , the authentication service module 210 authenticates the user and the client device 400 , and provides the client ID associated with the requesting client associated with the requesting client device 400 to the Meta-Desktop service module 220 of the NOC 200 in step 2020 .
- the Meta-Desktop service module 220 establishes a device connection with requesting client device 400 , customizes the Meta-Desktop based on the client profile information of the requesting client device 400 , and displays the customized Meta-Desktop on the requesting client device 400 in step 2030 .
- the NOC 200 determines and instructs the corresponding service center 300 to establish a device connection or session with the requesting client device 400 in step 2050 .
- the home NOC 200 encapsulates the user session and transfers and re-establishes the user session to another NOC 200 located closer to the client device 400 (i.e., remote NOC 200 ) in step 2060 . That is, the original user session with the home NOC 200 is “frozen” or suspended.
- a series of dedicated servers and software i.e., session caching servers
- encapsulates and transfers the user session to provide global hot desking i.e., synchronizing the state of user session among various NOCs 200 ).
- the home NOC 200 Upon a user's return to his home service area, the home NOC 200 restores/updates and synchronizes the user session in his home service area (i.e., stores the state of user session on the user database 230 of the home NOC 200 ) in step 2070 .
- the NOC 200 hosts and continuously maintains the user session, thereby enabling the user to freely switch between different types of client devices 400 and/or locations in real time, while maintaining the user session on the NOC 200 and/or the connection service module 210 .
- the user can continue with the session from the point that session was last accessed. Accordingly, if connection service module 210 does not receive the “keep-alive” message from NOC within a predetermined period of time, the connection service module 210 terminates the render or device connection to the client device 400 .
- NOC 200 continuously maintains the user session, but terminates the authentication connection to the client device 400 and instructs the connection service module 210 to terminate its render or device connection to the client device 400 .
- a user can re-enter his user session merely by logging back in. If using a smart card or token, this is done by re-entering the token into the same or different client device 400 .
- the logging on and logging off can be completed to switch between client devices 400 .
- a user connected to one client device 400 and showing a presentation could log-off from it and log-on to another client device 400 by removing a token from the first client device 400 and inserting into the second client device 400 .
- the state of the presentation is maintained and the user can then move about while continuing to show the presentation.
- the session would be cached and stored on the connection service module 310 or the NOC 200 while the NOC 200 re-establishes the authenticated and properly configured connection with the new client device.
- PDAs personal digital assistants
- the connection service module 310 receives incoming data from service providers or servers 330 and parses the information for transmission to the client devices 400 .
- the present invention utilizes the basic user interface of each client device 400 rather than transcoding information based on the features and functionalities of each client device 400 to display the representation of the data on the client device 400 .
- Transcoding is a process of converting a media file or object from one format to another. For example, transcoding is used to convert video formats and to fit hypertext markup language (HTML) files and graphic files to the constraints of mobile device and other web-enabled products which usually have smaller screen sizes, lower memory, and slower bandwidth rates.
- HTML hypertext markup language
- the client session and computing overhead to process and manage each user session resides with the NOC 200 .
- connection service module 310 transfers (i.e., uploads and downloads) data to each client device 400 .
- the connection service module 310 is a normalized virtual media buffer operable to transfer data using a range of protocols, such as ALP, RDP, IP and the like.
- connection service module 310 transfers data using the remote interactive protocol optimized to provide a high level of performance with encrypted delivery of streaming data representations, such as streaming video and audio.
- streaming data representations such as streaming video and audio.
- UDP User Datagram Protocol
- HTTP User Datagram Protocol
- tunneling protocol architecture as these formats tolerate some data loss while reducing data latency.
- Each session's graphical user interface (GUI) and visual information can be driven by each service driver having it's own rendering engine or windowing engine, such as Microsoft Windows® or the JavaTM virtual machine.
- NOC 200 can establish a secure communication path between the connection service module 300 and the client device 400 to provide unparalleled levels of security to both the service providers and the users.
- the present invention enables all sessions to be available to the user without any data traveling outside the service center 300 , thus providing secure and continuous access to the data from anywhere, including unsecured remote locations.
Abstract
A service provisioning system and method for providing remote access to digital services over a communications network, comprising a plurality of client devices connected to the communications network for requesting digital services from a plurality of service centers and presenting output from the digital services. The network operation center connected to the communications network authenticates client devices and users, manages sessions, and processes requests for digital services. A connector associated with each service center establishes a session with a client device specified by the network operation center and encapsulates the native protocols of the digital services within a remote interactive protocol. The remote interactive protocol includes information for generating a human-perceptible presentation on the client device, to provide a remote access to the digital services without modifying the hardware and software infrastructure of the service centers.
Description
- This application is a continuation of U.S. application Ser. No. 10/328,660, entitled “SYSTEM AND METHOD FOR PROVISIONING UNIVERSAL STATELESS DIGITAL AND COMPUTING SERVICES,” filed on Dec. 23, 2002, which claims priority under 35 U.S.C. §119(e) to U.S. Provisional Application Ser. No. 60/381,532, entitled “SOFTWARE AND SERVICE PROVISIONING ARCHITECTURE FOR UNIVERSAL STATELESS DELIVERY OF ANY DIGITAL AND COMPUTING SERVICES,” filed on May 17, 2002, each of which is herein incorporated by reference in its entirety.
- The present invention relates generally to remote access of digital data and services and, more particularly to a service provisioning system architecture for providing universal stateless digital and computer services.
- The configuration of corporate computer systems has evolved over the past fifty years since the introduction of the software programmable digital computer. In the first multi-user systems, some number of users, such as corporate employees, etc., accessed the processing power of one or more centrally located mainframe computers using “dumb terminals” connected to the mainframe computers via a communications network. The mainframe computers provided all processing power and data storage facilities. The dumb terminal was used for and limited to inputting data to the mainframe computers and displaying output data generated by the mainframe computers. That is, the dumb terminal did not have the capability of processing or storing data locally. Essentially, the dumb terminal was useless unless it was connected to the mainframe computers via a dedicated, mainframe and installation-specific communications network.
- However, the high cost associated with acquiring and maintaining the mainframe computers fueled the availability and popularity of the desktop or personal computer (“PC”) in the 1980s. Initially configured as a stand-alone platform, a PC is a self contained computing system where all processing is performed locally, and all applications and data are executed and stored locally. The relatively low cost of PCs enabled single users and small businesses to readily acquire and utilize the processing power of the PCs instead of relying on massive, centrally located mainframe systems. However, users could not easily share data with other users since their PCs were not part of a centralized network and did not necessarily use the same operating system. Also, since each PC needed its own local copy of any software to be executed, incompatible versions of the same software application in different personal computers prevented users from communicating and sharing data with each other.
- These connectivity and compatibility problems with the standalone PCs gave rise to client/server systems. The PCs (or clients) were connected to each other via a private communications network, such as a corporate network, and to a common server storing data and applications. The server maintains the common data and provides copies of the data to the clients upon request. However, since the client/server systems rely on the processing power of the PC, the hardware and software components of each PC of a client/server network must be constantly synchronized and therefore upgraded. In many corporate settings, PCs are numerous and widely distributed throughout and among diverse locations. Depending on the age and type of the PC system, certain hardware components, such as microprocessors, random access memory (RAM), hard disk devices, etc., can be upgraded or replaced without replacing the entire PC system. However, even when it is feasible to upgrade the PC systems, the cost of upgrading thousands of PC systems can be staggering.
- When the PC system can no longer be upgraded, the entire system must be replaced. For example, newer versions of software applications or operating systems may require hardware capabilities that cannot be satisfied by existing PC systems. Generally, a PC system is considered to be obsolete in three to five years, thereby necessitating costly replacement of thousands of PCs as often as every three years.
- In addition to the cost of purchasing new hardware and software, the cost of resolving the software and hardware compatibility problems in the client/server system can be substantial. For example, many software applications are not readily backwards compatible, thereby imposing a significant burden on the corporations to maintain compatible versions of software applications on all PC systems. The administrative effort and the cost to upgrade each system, provide licensed copies of software, install and maintain the software is the largest portion of the recurring costs of running a client/server network in a corporation. Even with remote administration capabilities, the tracking and cataloging of software applications can be very onerous.
- Installation of new software also exposes the corporate user to security risks. The integrity and security of the corporate network can be easily breached by hackers or disrupted partially or in total by inadvertent or intentional introduction of computer viruses when a user installs or downloads unauthorized and even authorized software application or files.
- Individuals who are away from their office often have a continuing need to gain access to their corporate networks. They may need to access files, e-mails, applications and programs running on their “desktop”, etc. (“Desktop” refers to a top level, local graphical user interface environment customized by a user to display and provide access to data, folders and applications.) One approach is to use laptop personal computers to enable users to access the corporate network to remotely access their files and e-mails. That is, if appropriate communications software is installed on each client laptop PC, the users can remotely access emails and the corporate network to transfer files from/to the network server through a dial-up telephone line (or a broadband connection, such as a digital subscriber line (DSL), T1, cable, etc.). All application programs reside and locally execute on the local client laptop PC. While this approach is simple, it necessitates that each and every such software application be installed, configured and then maintained on each laptop PC. Consequently, over time, this approach, particularly in view of the on-going support costs of the installed software applications, can become quite expensive.
- Another approach uses a traditional virtual private network (VPN) to provide wide area network (WAN) connectivity from a remote user location to a central corporate local area network (LAN). A VPN WAN connection can implement an Open System Interconnection (OS) layer 2 extension between the LAN and the remote user location. A remote client PC connected through a VPN to a LAN appears as if it is directly connected to the LAN. However, a VPN connection requires expensive VPN termination equipment (or a client-site VPN router) located at each end of the connection, or VPN client software installed and configured at the client machine. In either case, the VPN terminator provides layer 2 packet processing as well as appropriate packet encryption/decryption functionality. Although either PC operating system or client based VPN software can mitigate the cost of the VPN terminator, it both requires considerable packet processing to assemble and disassemble packets, imposing a significant processing burden on the PC. Accordingly, a separate dedicated VPN terminator at the remote user location is often required to support VPN connectivity with required levels of security and reliability without imposing undue processing loads on the client PC itself. Thus VPN equipment is not only expensive, but tedious to configure and costly to administer and maintain.
- In all of the above cases, sensitive corporate data are transferred and duplicated between the secure corporate network and the PC/laptop. Once data is downloaded and physically copied, no access or transport security system can prevent unauthorized, uncontrolled distribution and misuse of the data, which happens without the knowledge of the legitimate data owner.
- Still another approach to extending the office environment to remote user locations utilizes an application service provider (ASP) model requiring the installation of specialized server software in the network server, such as Citrix Corporation's MetaFrame® software using independent computing architecture (ICA®) protocol. The network server situated on the LAN would function as an ASP by hosting multiple virtual machines, to various different remotely located client PCs. Alternatively, Microsoft Corporation's Windows® Terminal Services (WTS) using remote desktop protocol (RDP) can be utilized to provide multiple virtual machines. However, both the MetaFrame® and WTS software impose considerable processing load on the client PC, and are vulnerable to network faults and security breaches, such as “man-in-the-middle” attacks. Additionally, the ASP-based approach, at best, provides a limited remote execution functionality. The prior art systems were designed and developed to overcome the bandwidth limitations of the prior communications networks. Current technological advances have dramatically increased the bandwidth of the communications network. The network bandwidth is increasing faster than microprocessor speed and doubling approximately every nine months, thereby reducing the value of the prior art systems and technologies, effectively rendering them obsolete. In view of the shortcomings of the prior systems and networks, it is desirable to provide a system and method for enabling a user to securely access his client machine, including desktop, software applications, email, data files, etc., from anywhere in the world as if he is still in the office without compromising security or investing in new hardware/software infrastructure.
- Managing information systems efficiently has never been more difficult or more essential for success. As the cost of ownership for desktop systems escalates, corporations need ways to reduce purchase and upgrade costs, administration and maintenance expenses. However, these savings can't result in a loss of functionality or performance. An unrestricted access to high performance applications remains a critical requirement in managing information systems efficiently. Thus, it is desirable to have a service provisioning system architecture that can provide an unrestricted, native and secure remote access without modifying or with minimal changes to its existing hardware and software infrastructure.
- Therefore, it is an object of the present invention to provide a service provisioning system architecture that delivers universal stateless digital and computing services and overcomes the above-noted shortcomings.
- It is another object of the present invention to provide a service provisioning system architecture that provides a secure, reliable, rich, high-performance access to corporate system, such as legacy enterprise data center, with no or minimal modification to the existing hardware and software infrastructure. The corporate data center can be outfitted with a connector or connection service device to provide a secure remote access from anywhere in the world.
- The inventive system and method enables a user of a client device, preferably a stateless client device, to access remote resources including applications and data. Thus, without requiring a local copy of software or data or corresponding hardware resources, a user can surf the Internet, and access his desktop operating system, files and applications. The user can further access other digital services, such as digital video and music broadcasts, Internet protocol (IP) telephony and the like, using a client device much like a television. Preferably, the system includes an authentication system or mechanism, such as a smart card.
- By defining a new way of delivering digital services, the inventive service provisioning system architecture offers multiple levels of functionality, security and long-term investment protection at a significantly lower overall cost than prior approaches, and allows delivery of any digital service to a remote location without requiring a local copy of the data, any application or supportive hardware.
- In accordance with an embodiment of the present invention, the inventive system delivers digital services from an existing network, system or data center through a single “Digital Dial Tone” network without compromising security or modifying any of the functions, operations and hardware/software infrastructure or the existing network. The service provisioning system architecture of the present invention connects simple, low cost, low maintenance client devices, that can be incorporated in various forms, such as desktops, portable, wireless, or embedded in existing legacy appliances such as TVs, PDAs and PCs.
- In accordance with an embodiment of the present invention, the service provisioning system provides remote access to digital services over a communications network, comprising a plurality of client devices connected to the communications network for requesting digital services from a plurality of service centers and presenting output from the digital services. The network operation center connected to the communications network authenticates client devices and users, manages sessions, and processes requests for digital services. A connector associated with each service center establishes a session with a client device specified by the network operation center and encapsulates the native protocols of the digital services within a remote interactive protocol. The remote interactive protocol includes information for generating a human-perceptible presentation on the client device, to provide a remote access to the digital services without modifying the hardware and software infrastructure of the service centers.
- In accordance with an embodiment of the present invention, the service provisioning method provides a secure remote access to digital services over a communications network. The method connects each service center to a connector to provide one or more digital services over the communications network, the connector encapsulating respective native protocols of the digital services within a common remote interactive protocol. The method receives a request for a digital service available on a service center from a user on a client device over the communications network. The network operation center authenticates the user and the client device. If the user and the client device are authenticated as a valid user and a valid client device, a device connection to the client device is established to initiate a session. The method translates input/output commands of the requested digital service into the remote interactive protocol by the connector, thereby making the requested digital service on the service center remotely accessible to the valid user on the valid client device without modifying the hardware and software infrastructure of the data center.
- The present invention may be embodied in a network of computer systems including a set of dedicated servers adapted by a set of software components, all configured according to the service provisioning system architecture. This architecture has the ability to connect, generate, manage and deliver a digital service session to a variety of client devices connected to the network, and enables the “hot swapping” or “switching” of such sessions between devices by simply authenticating the user through a smart card or other applicable access control technology. By reason of the unique and novel aspects of the present invention, user interaction with each service is unaffected by the type, location or connectivity of the device used.
- Various other objects, advantages and features of this invention will become readily apparent from the ensuing detailed description and the appended claim.
- The following detailed description, given by way of example, and not intended to limit the present invention solely thereto, will best be understood in conjunction with the accompanying drawings in which:
-
FIG. 1 is an exemplary block diagram of the service provisioning system architecture of the present invention; -
FIGS. 2A-2D are exemplary screen shots of the Meta-Desktop in accordance with an embodiment of the present invention; -
FIG. 3 is a flow chart of an authentication process in accordance with an embodiment of the present invention; and -
FIG. 4 is a flow chart of a process for transferring control of a client device to another NOC in accordance with an embodiment of the present invention. - The present invention is readily implemented using presently available communication apparatuses and electronic components. The invention finds ready application in virtually all communications systems, including but not limited to intranet, local area network (LAN), wireless LAN (WLAN), wide area network (WAN), Internet, private and public communications networks, wireless, satellite, cable network or other online global broadcast, point-to-point, and other networks.
- The present invention provides the basis for a secure, reliable, rich, high-performance access to a wide variety of computational, communications, entertainment and other digital services (collectively referred to herein as “digital services”) while providing enhanced security and without requiring a costly conversion to a new hardware/software infrastructure. The system utilizes low-cost, low-maintenance devices to deliver digital services over a wide variety of communications networks worldwide. The inventive service provisioning system architecture is operable to manage multiple user sessions from a variety of different client devices. The system continuously maintains each session, thereby permitting the user to readily access his session from different locations and client devices.
- In accordance with an embodiment of the present invention, as shown in
FIG. 1 , a serviceprovisioning system architecture 100 comprises one ormore client devices 400, service centers 300 and network operation centers (NOC) 200 connected to each other via a communications network, such as the Internet or a wide area network (WAN) 110. The serviceprovisioning system architecture 100 can utilize virtually any communications system, such as intranet, local area network (LAN), wireless network including wireless LAN (WLAN), wide area network (WAN), Internet, private or public communications network, satellite network, cable network, other online global broadcast network and the like. In accordance with an aspect of the present invention, the serviceprovisioning system architecture 100 includes security tokens associated with each authorized user of the universal stateless digital and computing services. - In accordance with an embodiment of the present invention, the
WAN 110 is a packet network using, for example, transmission control protocol/Internet protocol (TCP/IP). Since all processing and computations are centrally performed at the service center(s) 300, theWAN 110 should support a desired level of quality of service (QOS) to insure timely response time and timely delivery of data between theclient devices 400 and the service centers 300. For example, in order to ensure that the user does not experience an unacceptable or even noticeable delay, the round-trip delay imposed by theWAN 110 should be less than, for example, 60 msec. Accordingly, the total time from user entering the inputs to the rendering of the textual or graphical representation of the result (i.e., round-trip delay) should be below the user's threshold of perception, i.e., about a hundred milliseconds. Preferably, the QOS demands on theWAN 110 as characterized by round-trip delays are less than 60 ms on average and less than 100 ms in the worst case. It is appreciated that from user standpoint and perception, a higher average delay with a low variance is generally preferred over a lower average delay with a high variance. - Consistent with current and foreseen architecture of global communications networks, the bandwidth requirements of
WAN 110 are highly asymmetrical for typical computing applications. The remote processing and rendering aspect of the inventive serviceprovisioning system architecture 100 typically generates considerably more downstream traffic (i.e., data traffic from theservice center 300 to the client device 400) than upstream traffic (i.e., data traffic from theclient device 400 to the service center 300). In typical application, the bandwidth demand from upstream traffic is on the order of a few kilobits per second (Kbps) whereas the downstream traffic averages between a few hundred Kbps to several Mbps. For example, in a digital broadcast service application, the traffic consists mainly of broadcast video/audio data from theservice center 300 to the client device 400 (i.e., downstream traffic) at 1.554 Mbps after the user selects a particular broadcast or channel similar to the over-the-air broadcast television and cable television, the latter requiring a single upstream transmission of less than one kilobyte. -
Remote devices 430, e.g., CD-ROMs, video cameras, scanners, printers, etc., connected to theclient devices 400 can increase the upstream traffic to impose additional bandwidth requirements on theWAN 110. However, these upstream bandwidth demands onWAN 110 can be easily quantified and tend to be constant, frequently being isochronous. - In accordance with an embodiment of the present invention, the inventive service
provisioning system architecture 100 utilizes industry standard compression technology to transmit audio and/or video content (e.g., Moving Picture Experts Group (MPEG), MP3 and the like). Accordingly, bandwidth demands on theWAN 110 from multimedia and telephony applications can be defined. The availability of enhanced WAN performance, e.g., a higher WAN QOS guarantee, may reduce the cost ofclient devices 400 due to lower memory and data buffering requirements. For example, the approximate bandwidth requirements for various multimedia applications on theWAN 110 include: 160 Mbps for uncompressed analog National Television Standards Committee (NTSC) video and audio, 2 to 7 Mbps for compressed DVD-quality video, 384 Kbps to 1 Mbps for VCR-quality video using the latest coder/decoder (codec), 1.5 Mbps for raw (e.g., pulse width modulation (PWM) encoded) CD-quality audio and 128 Kbps for MP3-compressed music. In contrast, the bandwidth requirement can be as little as 8 Kbps for simple telephony grade compressed audio. - In accordance with an embodiment of the present invention, the inventive service
provisioning system architecture 100 can use various public and/or proprietary remote interactive protocols to ensure user authentication and privacy, preferably through end-to-end encryption. For example, the present system can utilize protocols such as remote desktop protocol (RDP), independent computing architecture (ICA®), hypertext transfer protocol (HTTP), stateless low-level interface machine (SLIM), appliance link protocol (ALP), etc., as the remote interactive protocol as long as the protocol provides user authentication and enables the user to securely connect and disconnect to/from the session.WAN 110 preferably comprises a virtual private network (VPN) service to segregate data traffic and to provide a high level of network performance. - Various digital services available from the service centers 300 can be accessed by the users using the
client devices 400. Theclient devices 400 can be located in corporate offices, homes, hotels, airplanes, cars, other in-transit or franchised commercial spaces and the like. The inventive serviceprovisioning system architecture 100 of the present invention contemplates users employing a variety of different client device implementations and a variety of different type of client devices to access the digital services available from and supported by service centers 300. These client device implementations can range from a hardware-intensive solution, such as a stateless device (for example, a video display terminal), to a software based solution wherein terminal emulation software is installed on a standard PC (i.e., a stateful device) to emulate aclient device 400. Theclient devices 400 can range from simple “walkman®-like” personal audio playback devices to full-function “PC-like” devices that are comparable to high-end workstations in both functionality and performance. Accordingly,client devices 400 may include but are not limited to kiosks, “dumb” terminals, personal digital assistants (PDAs), laptop computers, desktop PCs, network PCs, wireless handheld PCs, smart telephones, set top boxes (STB), TV sets, and the like. - In accordance with an embodiment of the present invention,
client devices 400 can comprise various input/output peripheral equipment, e.g., displays, keyboards, speakers, microphones, smart card readers, etc., each connected toWAN 110. Preferably,client device 400 implements a remote interactive protocol (or a subset of a remote interactive protocol, i.e., “light” or “mini” version of the protocol) to communicate with the NOC(s) 200 and service center(s) 300 on theWAN 110.Client devices 400 can each comprise a combination of the defined peripheral devices, such as one or more display devices (e.g., full-color, black/white, LCD, direct-mapped, frame-buffer device, etc.), input devices (e.g., mouse, keyboard, touch-screen, scanner, card reader, buttons, etc.), audio devices (e.g., speaker, microphone, etc.), video devices (e.g., camera, codec, clip/overlay region, etc.), and storage devices (e.g., universal serial bus (USB) devices such as printers, CDROMs, DVDs, hard disks, etc.). The specific instances and/or the number of each class of peripheral devices associated with aparticular client device 400 are enumerated at power up and reported to the NOC(s) 200 as part of the device authentication and connection setup process. In this manner, the service centers 300 can adapt their input/output (I/O) interfaces to support the capabilities of aspecific client device 400 configuration that is currently being used to support a number of different types ofclient devices 400. For example, in the case of bus-connected peripherals such as USB devices, all “plug” events (i.e., connect/disconnect events) are signaled or reported to NOC(s) 200 via the remote interactive protocol so that appropriate action can be taken at the service center(s) 300 to communicate with theclient devices 400. Such actions may include, for example, transmitting appropriate rendering commands toclient device 400. The signaling is also necessary because device drivers associated with the attached bus-based peripherals reside and execute on the service centers 300 and not onclient devices 400. In accordance with an embodiment of the present invention, theclient device 400 encapsulates or wraps the native protocol of the attached peripheral device (i.e., native USB protocol) within an appropriate remote interactive protocol and passes the native commands between the attached peripheral andcorresponding service center 300, i.e., the one currently in communication with and providing service to theclient device 400. In accordance with an embodiment of the present invention, the remote interactive protocol overlays or operates “on top” of the existing native protocol to thereby enable any device to connect and communicate with the serviceprovisioning system architecture 100. The actual policy defining the operation of the attached peripheral device is set by thecorresponding service center 300. For example, theresponsible service center 300 determines how to interact with, i.e., “what to do” with the attached peripherals and how to respond to various events such as hot plug/unplug, device-specific exceptions, etc. - In accordance with an embodiment of the present invention, a
proxy device 410 can be utilized to enable anon-compliant client device 420 to connect to theWAN 110 and communicate with the service centers 300 and theNOC 200.Non-compliant client devices 420 may represent devices that do not currently itself support the remote interactive protocol of the serviceprovisioning system architecture 100. To provide appropriate interface, theproxy device 410 appears to theWAN 110 as aclient device 400 and acts as a protocol converter or “tunnel device” for thenon-compliant client device 420. For example, instead of installing the emulating software on a “dumb” terminal, the “dumb” terminal can be connected to aproxy device 410 which is connected to theWAN 110, thereby enabling the “dumb” terminal to communicate with theNOCs 200 and the service centers 300 via theproxy device 410 andWAN 110. - For example, the
proxy device 410 can be used to connect a non-complaint thin client to theWAN 110 by converting the thin client's native protocol to its analog in the remote interactive protocol. Accordingly, from the service provisioning system architecture's point of view, the non-compliant thin client is just anotherclient device 400 connected to theWAN 110. Whereas, from the thin client's point of view, it is simply connected to a standard thin client server. Therefore, the serviceprovisioning system architecture 100 can connect and communicate with existing network, device or system with no or only minimal modification to the hardware and/or software infrastructure of the existing network, device or system. Accordingly, the existing network, device or system's functions, operations and infrastructure have not changed, but its capabilities have been enhanced and extended by connecting to the serviceprovisioning system architecture 100. By connecting to the serviceprovisioning system architecture 100, a corporation, an organization or an individual can now provide a world-wide remote access to the services available on its existing network, device or system without compromising security or investing in new hardware/software infrastructure, such as new client-server system, firewalls, etc. - In service
provisioning system architecture 100, the “real” computing resources and the data associated with the services reside in the service centers 300. It is appreciated that aservice center 300 can be a legacy enterprise data center outfitted with one or more connectors orconnection service modules 310, or a special site set up specifically to support a given service, such as video conference, Internet protocol (IP) telephony, voice messaging, cable television, digital music, digital movie, e-commerce, etc. The serviceprovisioning system architecture 100 enables the service provider to offer its services by establishing aservice center 300 which connects its system to theWAN 110 via aconnector 310. The connector orconnection service module 310 encapsulates or wraps the existing native protocol of thecorresponding service center 300 within an appropriate remote interactive protocol. This enables theservice center 300 to transmit its native commands toclient devices 400. Also, connector orconnection service module 310 of theservice center 300 unwraps or disassembles the remote interactive protocol messages or packets containing the native commands of theclient devices 400 destined forservice center 300. In accordance with an embodiment of the present invention, all services offered by the service centers 300 are delivered to theclient devices 400 at the direction of, and under the continuous control of, the NOC(s) 200, described hereinbelow. - In accordance with an embodiment of the present invention, service
provisioning system architecture 100 enables a service provider to convert a data center into or establish aservice center 300 with no or only minimal changes to its existing hardware and software infrastructure. For example, a corporation can seamlessly convert its legacy enterprise infrastructure into aservice center 300 and connect theservice center 300 toWAN 110 via aconnector 310 to provide its employees a secure remote access to a portion or all of the services available on its legacy enterprise infrastructure. The remote interactive protocol of the serviceprovisioning system architecture 100 operates “on top” of the native protocol of the legacy enterprise system to provide a secure remote access to authorized employees. For Unix-based servers, remote access to applications can be provided by either “xhost'ing” the applications or running a special “virtual framebuffer” driver in the server's X11 server software. For Microsoft Windows®-based servers, remote access to applications can be provided by enabling the windows terminal server function and using Microsoft's RDP protocol. Both of these methods provide remote access to applications that run on the servers within theservice center 300. In either case, theservice center 200 has one or moreconnection service modules 310 that are connected to the LAN 320 (or the enterprise's Intranet) on one side and to theWAN 110 on the other side. Alternatively, the connector orconnection service module 310 can be connected to theWAN 110 via a firewall device (not shown). The connection service module orconnector 310 maintains a secure connection to one or more NOCs 200, and awaits instructions to securely connect one of its offered services to aclient device 400 specified by one of theNOCs 200. Accordingly, everything that was previously available directly from the data center (e.g., user applications, e-mail clients, voice processing, internet connections, etc.) is now remotely accessible by a remote user, preferably using a smart card (described hereinbelow) from anywhere, yet, the data never exits the perimeter of theservice center 300. Hence, there is no need for a laptop or proprietary personal digital assistants (PDAs), while traveling, although they can still be used. With the serviceprovisioning system architecture 100, businesses and corporations no longer need to purchase and maintain desktop or laptops, provide technical and software support at the individual client device location, thereby saving substantial cost, time and overhead while providing an unprecedented level of security and performance. - In accordance with an embodiment of the present invention,
connection service module 310 comprises software and hardware components, such as a set of one or more low cost, horizontally scalable servers 315 that connect each digital service to theWAN 110. For example, the digital service can represent computers or servers running a specific operating system (i.e., Windows®, Macintosh™, Linux™, Unix™, Solaris™, etc.), digital television broadcasts, IP telephony and the like.Connection service module 310 act as the local user interface for each service, interpret the display/sound and user command set for each service and convert the command set to and from the remote interactive protocol format. Once a session is established between a client device and aservice center 300,connection service module 310 uses theclient device 400 to receive and display the human perceptible output of a subscribed or requested digital service and transmit basic, atomic inputs to the subscribed or requested digital service.Connection service module 310 or servers 315 collect the video or display image (i.e., pixels), sound and I/O data sets of a digital service and generates a stateless session with theclient device 400. Servers 315 are “appliance-like” in nature, requiring minimal maintenance and performing only a single function. That is, the servers 315 only manage device connections between applications or services running on theservers 330 within theservice center 300 and theclient devices 400 requesting such service. - The network operations center (NOC) 200 is the gateway to all of the services offered by
various service centers 200 connected to theWAN 110. TheNOC 200 authenticates all connection requests received from theclient devices 400 and securely transfers the connection to theappropriate service center 300 to deliver the requested services to theclient devices 400. Accordingly, the service provisioning system architecture can supportmultiple NOCs 200 to support a large number of client devices. In accordance with an embodiment of the present invention, the number ofNOCs 200 is not only vertically scalable, but the functions within a single NOC are also horizontally scalable (number of hardware/software components within theNOC 200 can be increased to expand the NOC's capabilities). - In accordance with an embodiment of the present invention, the
NOC 200 comprises one or moreauthentication service modules 210, a Meta-Desktop™ service module 220, auser database 230 and aclient database 240. Theauthentication service module 210 responds to authentication requests from theclient devices 400 and executes the authentication process of the remote interactive protocol to setup and maintain valid authenticated connections between theclient devices 400 and theNOC 200. Theauthentication service module 210 stores and maintains valid client devices, user IDs and their associated public keys in theuser database 230 and theclient database 240. Eachclient device 400 can be associated with aparticular NOC 200. Alternatively, eachclient device 400 can be associated with aprimary NOC 200 and asecondary NOC 200 in case theprimary NOC 200 is unavailable. Turning now toFIG. 3 , there is illustrated an authentication process in accordance with an embodiment of the present invention. Theclient device 400 can either transmit its authentication request directly to the assigned NOC 200 (i.e., www.xds.net, www.xds.cojp, www.xds.de, etc.) or broadcast its authentication requests on theWAN 110 to be received and processed by the assignedNOC 200 instep 1000. Preferably, theclient device 400 uses the public key associated with the assignedNOC 200 to encrypt the authentication request before transmitting or broadcasting its authentication request to the assignedNOC 200 instep 1000. - Each
NOC 200 is assigned a unique private key. Using the NOC's private key, theauthentication service module 210 decrypts the authentication requests or messages received from theclient devices 400 instep 1010. Theauthentication service module 210 transmits or broadcasts an encrypted response to aparticular client device 400 by encrypting the response using the public key that is associated with thatclient device 400 or a user on thatclient device 400 instep 1020. Preferably, the inventive serviceprovisioning system architecture 100 employs symmetric public key exchange wherein theauthentication service module 210 has the public key associated with a user or theclient device 400 and theclient device 400 has the public key associated with theauthentication service module 210. That is, theclient device 400 encrypts its authentication requests using the public key that is associated with the assignedNOC 200 and decrypts the response or messages received from the assignedNOC 200 using its or user's private key. This symmetric authentication procedure ensures thatvalid NOC 200 is in communication with avalid client device 400. - Once the authentication request and response have been successfully exchanged between the requesting
client device 400 and theauthentication service module 210, the requestingclient device 400 and theauthentication service module 210 share a unique value (preferably, a value that is difficult to determine or guess) that can be used as a session key or initial session key instep 1030. In accordance with an embodiment of the present invention, eachclient device 400 includes asmart card reader 430. Each smart card uniquely identifies a user and stores user information, such as user ID, user's private key, NOC's public key and the like. A user inserts his smart card into thesmart card reader 430 of theclient device 400 to initiate a session between theclient device 400 and aNOC 200. The smart card generates an authentication request based on the client ID of theclient device 400 and encrypts its authentication request using its stored public key and decrypts the response or messages received from theNOC 200 using its stored private key. Once the authentication request and response have been successfully exchanged, the smart card and theauthentication service module 210 now share a session key or initial session key to establish a session with each other. The use of the smart card enables aNOC 200 and a thin or “dumb” client device 400 (i.e., a low cost client device lacking encryption and decryption capabilities) to authenticate each other to establish a session. - Once the session key and the authentication of the requesting
client 400 has been established, theauthentication service module 210 passes off or provides the client ID associated with the requestingclient device 400 to the Meta-Desktop service module 220 instep 1040. The Meta-Desktop service module 220 establishes a device connection with the requestingclient device 400 and displays a customized Meta-Desktop on the requestingdevice 400 instep 1050. - In accordance with an embodiment of the present invention, the Meta-
Desktop module 220 comprises one or more Meta-Desktop servers 225. The Meta-Desktop service module 220 searches theclient database 240 for a client profile based on the client ID supplied by a remote user's smart card and reads or retrieves the client profile to determine the client device type, the location of the client device (e.g., geographic location and/or network location such as IP address), the attached peripheral devices and the like. Based on the client profile information, the Meta-Desktop module 220 generates a Meta-desktop session using an appropriate Meta-desktop server 225 (e.g., one having spare capacity) and establishes a secure device connection with the requestingclient device 400 to display the client-specific customized Meta-Desktop on the requestingclient device 400. As a security measure, the Meta-Desktop service module 220 preferably initiates the device connection to theclient device 400 to ensure that the Meta-Desktop service module 220 is in communication with a valid and authenticatedclient device 400. - The Meta-Desktop is a top-level selection interface that is used to launch the user into a specific service connection, i.e., connecting the
client device 400 to aspecific service center 300 to receive a particular digital service. In accordance with an aspect of the present invention, since the Meta-Desktop is the first screen that is displayed to the user by theclient device 400, the Meta-Desktop offers an opportunity to provideadvertising 450, branding and other service-related functions along with user-customizable features as shown inFIG. 2A . The Meta-Desktop preferably includesicons 440 representing various services available to a specific authenticated user on a specificauthenticated client device 400 as shown inFIGS. 2A-2D . For example, even though a user is subscribed to the Internet telephony service, he may not be able to access the telephony service if theclient device 400 is not equipped with a microphone. In accordance with an embodiment of the present invention, based on the client profile information and information received from theclient device 400, the Meta-Desktop service module 220 can customize or tailor the Meta-Desktop content for a specific client device, a specific user, a specific location of the user, a specific time, etc. Preferably, the Meta-Desktop module 220 transmits, pushes or broadcasts dynamically changing and constantly updated displays to theclient devices 400. - Although the service
provisioning system architecture 100 has been described herein as providing the Meta-Desktop service, it is appreciated that the Meta-Desktop service is merely one of many services that can provided by theNOC 200. Accordingly, as with the Meta-Desktop service,authentication service module 210 can authenticate, connect and manage any digital service to theclient device 400 via a secure device connection. For example, oneauthentication module 210 can manage digital service A, such as the Meta-Desktop service, and anotherauthentication module 210 can manage digital service B. - When a user selects a particular service from the Meta-Desktop displayed on the client device 400 (e.g., clicking on an
icon 440 associated with that particular service) instep 1060, the serving or assignedNOC 200 that is securely connected to theclient device 400 determines theservice center 300 that is associated with the selected service. The servingNOC 200 uses its secure connection to theconnection service module 310 of the desiredservice center 300 to initiate a new device connection (also referred to herein as the render connection) between aserver 330 and the requestingclient device 400 instep 1070. The servingNOC 200 manages the session between theserver 330 of theconnection module 310 and the requestingclient device 400 and maintains a record of the session (i.e., current status or state of the session). That is, the servingNOC 200 provides the client profile information of the requestingclient device 400 to theconnection service module 310 and instructs theconnection service module 310 to establish a session with the requestingclient device 400 by initiating a device or render connection between theserver 330 providing the requested service and the requestingclient device 400 over theWAN 110. This approach provides enhanced security by ensuring that theconnection service module 310 initiates all outgoing connections to theclient devices 400, and no incoming connections to theservice center 300 are permitted. That is, noclient devices 400 can call into or initiate connections to theservice center 300. Also, theNOC 200 terminates or drops its device connection to theclient device 400 that was providing the Meta-Desktop. Theconnection service module 310 translates the input/output commands from the application service into the remote interactive protocol format and manages the connection to theclient device 400. That is, theconnection service module 310 converts to the format (resolution, color depth, keystrokes, mouse coordinates etc.) appropriate for each givenclient device 400 for any of the digital services available on theservice center 300. It is appreciated that no translation is required by theconnection service module 310 if the application supports native remote interactive protocol, e.g. via the X11 virtual device driver software. - After the
NOC 200 initiates the establishment of a session between aparticular service center 300 and theclient device 400, the requestingclient device 400 transmits user inputs to theappropriate service center 300 with over theWAN 110 instep 1080. Upon receipt, theservice center 300 processes the inputs and/or performs the computations to generate output/results instep 1090. Theservice center 300 transmits the rendering commands to theclient device 400 instep 1100. - In accordance with an embodiment of the present invention, each
NOC 200 is operable to manage multiple sessions with a variety ofclient devices 400.NOC 200 dynamically updates the display format of each Meta-Desktop based on the type ofclient device 400 that is currently being used by the user to access the digital service from the serviceprovisioning system architecture 100. - Service
provisioning system architecture 100 enhances security by maintaining a secure (e.g., TCP-based) connection between theclient device 400 and one of theNOCs 200. The lifetime of the authentication performed on initial user token insertion, i.e., inserting the smart card into theclient device 400 to access the digital service, corresponds to the lifetime of the connection that is established between theclient device 400 and theNOC 200. As long as this connection is maintained, theNOC 200 sends a “keep-alive” message to theconnection service module 310 of theservice center 300. Preferably, as an additional security precaution, theconnection service module 310 terminates the device connection to theclient device 400 if theconnection service module 310 fails to receive the “keep-alive” message within a predetermined period of time. It is appreciated that the “keep-alive” function is part of the remote interactive protocol. - As part of the authentication handshake or process, the
authentication service module 210 performs a public key transaction to ensure the authenticity of both individual users and thespecific client device 400. However, a secure distribution of the keys is a problem in a public key system, thereby a secure system is necessary to ensure that keys are securely distributed and safeguarded. In accordance with an embodiment of the present invention, the serviceprovisioning system architecture 100 utilizes a token-based security system that employs smart card technology for distributing keys and generating session keys. For example, a valid user can use his smart card or integrated circuit card to logon to his session via theclient device 400 and access the various Meta-Desktop or digital services. In accordance with an aspect of the present invention, the smart card/token stores user's private key, user credentials (e.g., a client/user ID), the public key of aNOC 200, a uniform resource identifier or locator (URI or URL) that can be used to locate an appropriate NOC (e.g., the string “xtp://<uid>.xds.com/”)-, and the like. Preferably, the smart card includes a source of appropriate pseudo-random numbers, so the serviceprovisioning system architecture 100 does not have to rely on theclient devices 400 having these capabilities. As discussed herein, theclient devices 400 may span a wide range of device capabilities from a simple I/O device to a fully-functional PC. - In accordance with an embodiment of the present invention, the smart card/token can be used to authenticate both the
client device 400 and the user. Preferably, smart card is a type used by the global system for mobile communication-subscriber identity module (GSM-SIM). For additional security, in accordance with an aspect of the present invention,authentication service module 210 requires the user to enter a PIN or password to unlock the smart card, similar to the conventional automatic teller machine (ATM) card. This helps prevent the smart card from being used an unauthorized user. - For software-based
client device 400 such as a web browser (i.e., one without a smart card reader), the inventive serviceprovisioning system architecture 100 may utilize some other authentication/validation method, such as using secure sockets layer (SSL) for privacy and a fingerprint reader, a password or challenge/response system for authentication. - A digital service such as a word processor application, web browser, video service, telephony connection, etc., can be connected to the
WAN 110 through the connector(s) or connection service module(s) 310. Once a session has been established betweenservice center 300 and theclient device 400,connection service module 310 ofservice center 300 activates the requested digital service and converts the incoming digital data representation (e.g., a Windows desktop, display/mouse and keystrokes) into a data representation compatible with the remote interactive desktop protocol format and encapsulates it with the user session ID. That is, theconnection service module 310 may generate bit-mapped pixel images of the service output, such as generating virtual image of the desktop, an application, etc. Theconnection service module 310 also reports its state and availability to theNOC 200. However, if the user or user session does not request a digital service, theNOC 200 or the Meta-Desktop service module 220 merely maintains the session alive and idle, as shown inFIG. 2A . This enablesNOC 200 to provide substantially immediate response to a user request for a digital service and to fully maintain the state of the service session at all times. - Turning now to
FIG. 4 , there is illustrated a process for transferring control of aclient device 400 to anotherNOC 200 in accordance with an embodiment of the present invention. Upon a user request for digital service (e.g., insertion of the smart card in a client device 400) instep 2000,authentication service module 210 of theNOC 200 determines the geographic and/or network location of the requesting client device 400 (e.g., IP address) and establishes whether the distance between theclient device 400 and theservice center 300 associated with the digital service (i.e., the serving service center 300) is within the direct service area of the service center, e.g., few thousand miles instep 2010. Theauthentication service module 210 searches theclient database 240 for client profile information which contains information relating to the client device type, attached peripheral devices, location, etc. The size of the direct service area depends on the round-trip delay or response time, which should be preferably below the user's threshold of perception. Ifauthentication service module 210 determines that the requestingclient device 400 is within the direct service area of the servingservice center 300, theauthentication service module 210 authenticates the user and theclient device 400, and provides the client ID associated with the requesting client associated with the requestingclient device 400 to the Meta-Desktop service module 220 of theNOC 200 instep 2020. The Meta-Desktop service module 220 establishes a device connection with requestingclient device 400, customizes the Meta-Desktop based on the client profile information of the requestingclient device 400, and displays the customized Meta-Desktop on the requestingclient device 400 instep 2030. When the user selects a desired service from the Meta-Desktop displayed on the requestingclient device 400 instep 2040, theNOC 200 determines and instructs thecorresponding service center 300 to establish a device connection or session with the requestingclient device 400 instep 2050. - If the
client device 400 is outside the direct service area of theservice center 300, in accordance with an embodiment of the present invention, thehome NOC 200 encapsulates the user session and transfers and re-establishes the user session to anotherNOC 200 located closer to the client device 400 (i.e., remote NOC 200) instep 2060. That is, the original user session with thehome NOC 200 is “frozen” or suspended. In accordance with an aspect of the invention, a series of dedicated servers and software (i.e., session caching servers) encapsulates and transfers the user session to provide global hot desking (i.e., synchronizing the state of user session among various NOCs 200). Upon a user's return to his home service area, thehome NOC 200 restores/updates and synchronizes the user session in his home service area (i.e., stores the state of user session on theuser database 230 of the home NOC 200) instep 2070. - The
NOC 200 hosts and continuously maintains the user session, thereby enabling the user to freely switch between different types ofclient devices 400 and/or locations in real time, while maintaining the user session on theNOC 200 and/or theconnection service module 210. The user can continue with the session from the point that session was last accessed. Accordingly, ifconnection service module 210 does not receive the “keep-alive” message from NOC within a predetermined period of time, theconnection service module 210 terminates the render or device connection to theclient device 400. Similarly, if the user logs off or removes the token or smart card from theclient device 400,NOC 200 continuously maintains the user session, but terminates the authentication connection to theclient device 400 and instructs theconnection service module 210 to terminate its render or device connection to theclient device 400. A user can re-enter his user session merely by logging back in. If using a smart card or token, this is done by re-entering the token into the same ordifferent client device 400. Thus, the logging on and logging off can be completed to switch betweenclient devices 400. Thus, a user connected to oneclient device 400 and showing a presentation could log-off from it and log-on to anotherclient device 400 by removing a token from thefirst client device 400 and inserting into thesecond client device 400. Other than a pause in the time needed to switch between the client devices the state of the presentation is maintained and the user can then move about while continuing to show the presentation. When there is a lag time between the time that a user logs off and logs back onto a session, the session would be cached and stored on theconnection service module 310 or theNOC 200 while theNOC 200 re-establishes the authenticated and properly configured connection with the new client device. Hence, there is no need for a laptop or proprietary personal digital assistants (PDAs), while traveling, although they can still be used. With the serviceprovisioning system architecture 100, user only needs to carry his smart card or token to remotely access his corporate network from anywhere. - The
connection service module 310 receives incoming data from service providers orservers 330 and parses the information for transmission to theclient devices 400. The present invention utilizes the basic user interface of eachclient device 400 rather than transcoding information based on the features and functionalities of eachclient device 400 to display the representation of the data on theclient device 400. Transcoding is a process of converting a media file or object from one format to another. For example, transcoding is used to convert video formats and to fit hypertext markup language (HTML) files and graphic files to the constraints of mobile device and other web-enabled products which usually have smaller screen sizes, lower memory, and slower bandwidth rates. The client session and computing overhead to process and manage each user session resides with theNOC 200. - The
connection service module 310 transfers (i.e., uploads and downloads) data to eachclient device 400. In accordance with an embodiment of the present invention, theconnection service module 310 is a normalized virtual media buffer operable to transfer data using a range of protocols, such as ALP, RDP, IP and the like. Preferably,connection service module 310 transfers data using the remote interactive protocol optimized to provide a high level of performance with encrypted delivery of streaming data representations, such as streaming video and audio. Those skilled in the art will appreciate that information relating to streaming audio or video can be transmitted using the User Datagram Protocol (UDP) and/or a proprietary tunneling protocol architecture, as these formats tolerate some data loss while reducing data latency. Each session's graphical user interface (GUI) and visual information can be driven by each service driver having it's own rendering engine or windowing engine, such as Microsoft Windows® or the Java™ virtual machine. - By virtue of the present service provisioning system architecture,
NOC 200 can establish a secure communication path between theconnection service module 300 and theclient device 400 to provide unparalleled levels of security to both the service providers and the users. In addition, the present invention enables all sessions to be available to the user without any data traveling outside theservice center 300, thus providing secure and continuous access to the data from anywhere, including unsecured remote locations. - In view of the foregoing description, numerous modifications and alternative embodiments of the invention will be apparent to those skilled in the art. Accordingly, this description is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the best mode of carrying out the invention. Details of the structure may be varied substantially without departing from the spirit of the invention, and the exclusive use of all modifications, which come within the scope of the appended claim, is reserved.
Claims (17)
1. A network operating center (NOC) for assisting in connecting a client device and one of a plurality of servers over a network, each of the plurality of servers providing at least one digital service over the network, the NOC comprising:
a client database for storing client profile information of client devices and/or users that have an account with the NOC, the client profile information having at least a client identification (ID) identifying respective client devices and/or users and subscriber information indicative of services available in association with the client ID;
an authentication service adapted to receive client IDs from the client devices connected to the NOC over the network, the authentication service capable of accessing the client database to obtain stored client IDs to assist in authenticating the client;
a service selection service configured to present, on an authenticated client device, a display of available services based, at least in part, on the subscriber information, and to receive indication of a selected service from the user; and
a connection service configured to contact one of the plurality of servers over the network that provides the selected service to facilitate access to the selected service over the network.
2. The NOC of claim 1 , wherein the service selection service receives client information provided by the client device, and wherein the service selection service customizes the display based on the subscriber information and/or client information.
3. The NOC of claim 2 , wherein the service selection service customizes the display based, at least in part, on an identify of a user operating the client device.
4. The NOC of claim 2 , wherein the service selection service customizes the display based, at least in part, on a specific client device operated by the user.
5. The NOC of claim 4 , wherein the service selection service selects a display format based on the type of the specific client device.
6. The NOC of claim 2 , wherein the service selection service customizes the display based, at least in part, on a location of the user.
7. The NOC of claim 2 , wherein the service selection service customizes the display based, at least in part, on a time at which the client device connected to the NOC.
8. The NOC of claim 1 , wherein the connection service provides a network address of the authenticated client device to the one of the plurality of servers providing the selected service to facilitate establishing the bi-directional connection.
9. A system for securely providing access to digital services from one of a plurality of servers to one of a plurality of client devices over a network, wherein each of the digital services is provided, at least in part, by generating data in a native format to be articulated to a user via a respective client device, the system comprising:
a network operating center (NOC) for authenticating the plurality of client devices, and for brokering a bi-directional connection between authenticated client devices requesting a digital service and a server providing the service;
at least one first connector coupled to each of the plurality of servers, each of the at least one connector adapted to transform the data in the native format to a set of rendering commands capable of instructing the client device connected to the server how do render data on the client device such that the data in the native format is not transferred over the bi-directional connection or stored by the client device.
10. The system of claim 9 , wherein the rendering commands include pixel information to be displayed on the client device.
11. The system of claim 9 , wherein the data in the native format includes text data and the rendering commands include pixel information representing the text data to be displayed on the client device.
12. The system of claim 9 , wherein the at least one connector receives user inputs from the client device and converts the user inputs into instructions on how to manipulate the data in the native format.
13. The system of claim 9 , wherein the data is in a native format of a software application located on the server, but not located on the client device, and wherein the at least one connector converts the data into rendering commands such that the client device can view the data without requiring the software application.
14. The system of claim 9 , wherein the rendering commands are formatted according to an interactive format, the system further comprising at least one second connector coupled to each of the client devices, the at least one second connector adapted to convert user commands input on the client device to the interactive format.
15. The system of claim 14 , wherein the at least one first connector is adapted to convert data from the client device in the interactive format to modifications of the data in the native format.
16. The system of claim 15 , wherein the at least one second connector is part of the respective client device.
17. The system of claim 16 , wherein the at least one second connector is located remotely from the respective client device, and operates as a proxy for the respective client device.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/986,119 US20080071860A1 (en) | 2002-05-17 | 2007-11-20 | System and method for provisioning universal stateless digital and computing services |
US12/841,259 US20110093940A1 (en) | 2002-05-17 | 2010-07-22 | System and method for provisioning universal stateless digital and computing services |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US38153202P | 2002-05-17 | 2002-05-17 | |
US10/328,660 US7363363B2 (en) | 2002-05-17 | 2002-12-23 | System and method for provisioning universal stateless digital and computing services |
US11/986,119 US20080071860A1 (en) | 2002-05-17 | 2007-11-20 | System and method for provisioning universal stateless digital and computing services |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/328,660 Continuation US7363363B2 (en) | 2002-05-17 | 2002-12-23 | System and method for provisioning universal stateless digital and computing services |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/841,259 Continuation US20110093940A1 (en) | 2002-05-17 | 2010-07-22 | System and method for provisioning universal stateless digital and computing services |
Publications (1)
Publication Number | Publication Date |
---|---|
US20080071860A1 true US20080071860A1 (en) | 2008-03-20 |
Family
ID=29423311
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/328,660 Expired - Fee Related US7363363B2 (en) | 2002-05-17 | 2002-12-23 | System and method for provisioning universal stateless digital and computing services |
US11/986,119 Abandoned US20080071860A1 (en) | 2002-05-17 | 2007-11-20 | System and method for provisioning universal stateless digital and computing services |
US11/986,118 Expired - Fee Related US7783701B2 (en) | 2002-05-17 | 2007-11-20 | System and method for provisioning universal stateless digital and computing services |
US12/841,259 Abandoned US20110093940A1 (en) | 2002-05-17 | 2010-07-22 | System and method for provisioning universal stateless digital and computing services |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/328,660 Expired - Fee Related US7363363B2 (en) | 2002-05-17 | 2002-12-23 | System and method for provisioning universal stateless digital and computing services |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/986,118 Expired - Fee Related US7783701B2 (en) | 2002-05-17 | 2007-11-20 | System and method for provisioning universal stateless digital and computing services |
US12/841,259 Abandoned US20110093940A1 (en) | 2002-05-17 | 2010-07-22 | System and method for provisioning universal stateless digital and computing services |
Country Status (10)
Country | Link |
---|---|
US (4) | US7363363B2 (en) |
EP (1) | EP1509849A4 (en) |
JP (1) | JP4257967B2 (en) |
KR (1) | KR20050027091A (en) |
CN (1) | CN100407186C (en) |
AU (1) | AU2003233408A1 (en) |
CA (1) | CA2485426A1 (en) |
IL (1) | IL164554A (en) |
SG (1) | SG187266A1 (en) |
WO (1) | WO2003100642A1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080092217A1 (en) * | 2006-09-29 | 2008-04-17 | Akihisa Nagami | Environment migration system, terminal apparatus, information processing apparatus, management server, and portable storage medium |
US8856907B1 (en) | 2012-05-25 | 2014-10-07 | hopTo Inc. | System for and methods of providing single sign-on (SSO) capability in an application publishing and/or document sharing environment |
US8863232B1 (en) | 2011-02-04 | 2014-10-14 | hopTo Inc. | System for and methods of controlling user access to applications and/or programs of a computer |
US20150100622A1 (en) * | 2013-10-04 | 2015-04-09 | Comcast Cable Communications, Llc | Network Device Mediation |
US9239812B1 (en) * | 2012-08-08 | 2016-01-19 | hopTo Inc. | System for and method of providing a universal I/O command translation framework in an application publishing environment |
US9398001B1 (en) | 2012-05-25 | 2016-07-19 | hopTo Inc. | System for and method of providing single sign-on (SSO) capability in an application publishing environment |
US9419848B1 (en) | 2012-05-25 | 2016-08-16 | hopTo Inc. | System for and method of providing a document sharing service in combination with remote access to document applications |
Families Citing this family (172)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8973017B2 (en) * | 1999-09-08 | 2015-03-03 | Kenneth F. Krutsch | Productivity application management |
US8910241B2 (en) | 2002-04-25 | 2014-12-09 | Citrix Systems, Inc. | Computer security system |
US8387099B2 (en) * | 2002-12-10 | 2013-02-26 | Ol2, Inc. | System for acceleration of web page delivery |
US20040185855A1 (en) * | 2002-12-31 | 2004-09-23 | Storm Brian D. | Method and apparatus for continuing a call |
US20040181601A1 (en) * | 2003-03-14 | 2004-09-16 | Palsamy Sakthikumar | Peripheral device sharing |
US7526555B2 (en) * | 2003-03-25 | 2009-04-28 | Toshiba Corporation | Smart card printing |
KR100432367B1 (en) * | 2003-04-30 | 2004-05-20 | 푸른정보기술(주) | managing and control system for network and local printers |
US7194756B2 (en) * | 2003-06-20 | 2007-03-20 | N2 Broadband, Inc. | Systems and methods for provisioning a host device for enhanced services in a cable system |
US7757261B2 (en) * | 2003-06-20 | 2010-07-13 | N2 Broadband, Inc. | Systems and methods for providing flexible provisioning architectures for a host in a cable system |
US20040268420A1 (en) * | 2003-06-20 | 2004-12-30 | N2 Broadband, Inc. | Systems and methods for activating a host in a cable system |
US7958505B2 (en) * | 2003-06-20 | 2011-06-07 | Ericsson Television, Inc | Systems and methods for distributing software for a host device in a cable system |
US7627868B2 (en) * | 2003-06-20 | 2009-12-01 | N2 Broadband, Inc. | Systems and methods for distributing software for a host device in a cable system |
US8290603B1 (en) | 2004-06-05 | 2012-10-16 | Sonos, Inc. | User interfaces for controlling and manipulating groupings in a multi-zone media system |
US11650784B2 (en) | 2003-07-28 | 2023-05-16 | Sonos, Inc. | Adjusting volume levels |
US11106425B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
EP1650671B1 (en) | 2003-07-28 | 2016-05-11 | Sony Corporation | Information processing device and method, recording medium, and program |
US11106424B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
US11294618B2 (en) | 2003-07-28 | 2022-04-05 | Sonos, Inc. | Media player system |
US8234395B2 (en) | 2003-07-28 | 2012-07-31 | Sonos, Inc. | System and method for synchronizing operations among a plurality of independently clocked digital data processing devices |
US20050091309A1 (en) * | 2003-09-29 | 2005-04-28 | Peter Bookman | Mobility device management server |
US20050071439A1 (en) * | 2003-09-29 | 2005-03-31 | Peter Bookman | Mobility device platform |
WO2005036411A1 (en) * | 2003-09-29 | 2005-04-21 | Realm Systems, Inc. | Mobility device platform |
US20050091308A1 (en) * | 2003-09-29 | 2005-04-28 | Peter Bookman | Mobility device |
US20050080909A1 (en) * | 2003-10-10 | 2005-04-14 | Anatoliy Panasyuk | Methods and apparatus for scalable secure remote desktop access |
US7197712B2 (en) * | 2003-11-18 | 2007-03-27 | Essex Radez Llc | Server visualization and control |
US7475125B2 (en) * | 2003-11-24 | 2009-01-06 | Microsoft Corporation | Seamless discovery of workstation-installed remote applications from an extranet |
US7720906B2 (en) * | 2003-11-24 | 2010-05-18 | Microsoft Corporation | Web service for remote application discovery |
US7590713B2 (en) * | 2003-11-24 | 2009-09-15 | Microsoft Corporation | Presenting a merged view of remote application shortcuts from multiple providers |
US20050132264A1 (en) * | 2003-12-15 | 2005-06-16 | Joshi Ajit P. | System and method for intelligent transcoding |
US7516457B2 (en) * | 2004-01-30 | 2009-04-07 | International Business Machines Corporation | Componentized automatic provisioning and management of computing environments for computing utilities |
US7702767B2 (en) * | 2004-03-09 | 2010-04-20 | Jp Morgan Chase Bank | User connectivity process management system |
US20050273657A1 (en) * | 2004-04-01 | 2005-12-08 | Hiroshi Ichiki | Information processing apparatus and method, and recording medium and program for controlling the same |
US9977561B2 (en) | 2004-04-01 | 2018-05-22 | Sonos, Inc. | Systems, methods, apparatus, and articles of manufacture to provide guest access |
CA2562912A1 (en) * | 2004-04-12 | 2005-10-27 | Xds, Inc. | System and method for automatically initiating and dynamically establishing secure internet connections between a fire-walled server and a fire-walled client |
US20060253894A1 (en) * | 2004-04-30 | 2006-11-09 | Peter Bookman | Mobility device platform |
US8868698B2 (en) | 2004-06-05 | 2014-10-21 | Sonos, Inc. | Establishing a secure wireless network with minimum human intervention |
US8326951B1 (en) | 2004-06-05 | 2012-12-04 | Sonos, Inc. | Establishing a secure wireless network with minimum human intervention |
US20060026268A1 (en) * | 2004-06-28 | 2006-02-02 | Sanda Frank S | Systems and methods for enhancing and optimizing a user's experience on an electronic device |
US7725716B2 (en) * | 2004-06-28 | 2010-05-25 | Japan Communications, Inc. | Methods and systems for encrypting, transmitting, and storing electronic information and files |
WO2006012058A1 (en) * | 2004-06-28 | 2006-02-02 | Japan Communications, Inc. | Systems and methods for mutual authentication of network |
BRPI0506135A (en) * | 2004-07-21 | 2006-10-24 | Sony Corp | communication system, content processing apparatus, communication method thereof, and computer program for making a computer function as a content processing apparatus |
US20060047829A1 (en) * | 2004-09-02 | 2006-03-02 | Arup Acharya | Differentiated connectivity in a pay-per-use public data access system |
FR2875924B1 (en) * | 2004-09-27 | 2007-03-02 | Georges Bacha | MULTISERVICE TERMINAL, TERMINAL AND METHOD OF CONTENT TRANSFER. |
US8359390B2 (en) * | 2004-09-29 | 2013-01-22 | Fujitsu Limited | Method and system for provisioning services on a communication network |
US20060075103A1 (en) * | 2004-10-05 | 2006-04-06 | International Business Machines Corporation | Systems, methods, and media for providing access to clients on a network |
WO2006053958A1 (en) * | 2004-11-17 | 2006-05-26 | David Fauthoux | Portable personal mass storage medium and computer system with secure access to a user space via a network |
US7877112B2 (en) * | 2004-11-19 | 2011-01-25 | Nextel Communications Inc. | SIM card data transfer system and methods |
US7843938B1 (en) | 2005-02-25 | 2010-11-30 | Citrix Systems, Inc. | QoS optimization with compression |
US7356539B2 (en) * | 2005-04-04 | 2008-04-08 | Research In Motion Limited | Policy proxy |
BRPI0611914A2 (en) * | 2005-06-23 | 2010-10-05 | Xds Inc | method and apparatus for mobile network address change |
US9864628B2 (en) * | 2005-08-23 | 2018-01-09 | Blackberry Limited | Method and system for transferring an application state from a first electronic device to a second electronic device |
US20070050471A1 (en) * | 2005-08-31 | 2007-03-01 | Microsoft Corporation | Portable Remoting Component With A Scaleable Feature Set |
JP4979912B2 (en) | 2005-08-31 | 2012-07-18 | フェリカネットワークス株式会社 | Information processing system, client, server, program, information processing method |
US8781532B2 (en) * | 2005-09-19 | 2014-07-15 | Google Inc. | Customized data retrieval applications for mobile devices providing interpretation of markup language data |
US8528096B2 (en) * | 2005-10-07 | 2013-09-03 | Stmicroelectronics, Inc. | Secure universal serial bus (USB) storage device and method |
US7689205B2 (en) * | 2005-12-23 | 2010-03-30 | Morgan Stanley | Systems and methods for configuration of mobile computing devices |
US20070174429A1 (en) | 2006-01-24 | 2007-07-26 | Citrix Systems, Inc. | Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment |
WO2007098068A2 (en) * | 2006-02-17 | 2007-08-30 | The Directv Group, Inc. | Amalgamation of user data for geographical trending |
AR059551A1 (en) * | 2006-02-17 | 2008-04-09 | Directv Group Inc | REFLECTION OF LIVE DATA IN THE GUIDANCE DATA IN A TELEVISION SYSTEM |
WO2008011211A2 (en) * | 2006-05-01 | 2008-01-24 | Maria Gaos | System and method operative to implement a secure, self-contained network |
WO2007131063A2 (en) * | 2006-05-02 | 2007-11-15 | Kathy Mcewen | System and method of providing bandwidth on demand |
GB2439572B (en) * | 2006-06-29 | 2011-03-09 | Hewlett Packard Development Co | Remote connection between intermediary device and computing device via central authority software |
US8566389B2 (en) * | 2006-07-10 | 2013-10-22 | Samsung Electronics Co., Ltd. | Thin network protocol |
WO2008012829A2 (en) * | 2006-07-26 | 2008-01-31 | Alok Singh | Desktop utility delivery model |
US8495181B2 (en) * | 2006-08-03 | 2013-07-23 | Citrix Systems, Inc | Systems and methods for application based interception SSI/VPN traffic |
US8869262B2 (en) * | 2006-08-03 | 2014-10-21 | Citrix Systems, Inc. | Systems and methods for application based interception of SSL/VPN traffic |
US7843912B2 (en) * | 2006-08-03 | 2010-11-30 | Citrix Systems, Inc. | Systems and methods of fine grained interception of network communications on a virtual private network |
US20090049122A1 (en) * | 2006-08-14 | 2009-02-19 | Benjamin Wayne | System and method for providing a video media toolbar |
US20080201412A1 (en) * | 2006-08-14 | 2008-08-21 | Benjamin Wayne | System and method for providing video media on a website |
US8788080B1 (en) | 2006-09-12 | 2014-07-22 | Sonos, Inc. | Multi-channel pairing in a media system |
US9202509B2 (en) | 2006-09-12 | 2015-12-01 | Sonos, Inc. | Controlling and grouping in a multi-zone media system |
US8483853B1 (en) | 2006-09-12 | 2013-07-09 | Sonos, Inc. | Controlling and manipulating groupings in a multi-zone media system |
US8424077B2 (en) * | 2006-12-18 | 2013-04-16 | Irdeto Canada Corporation | Simplified management of authentication credentials for unattended applications |
JP2010515957A (en) * | 2006-12-21 | 2010-05-13 | シムトーン・コーポレイション | Service chain method and apparatus |
FR2912272A1 (en) * | 2007-02-05 | 2008-08-08 | Montferrier Patrick De | Combined Internet and telephone access communication terminal i.e. Internet protocol multimedia subsystem type terminal, has handset with Internet identification referred to switch and paired identification Internet of control structure |
EP2126713A2 (en) | 2007-02-19 | 2009-12-02 | Ondeego, Inc. | Methods and system to create applications and distribute applications to a remote device |
US8201218B2 (en) * | 2007-02-28 | 2012-06-12 | Microsoft Corporation | Strategies for securely applying connection policies via a gateway |
US8909296B2 (en) * | 2007-05-14 | 2014-12-09 | Kopin Corporation | Mobile wireless display software platform for controlling other systems and devices |
US7890854B2 (en) * | 2007-05-31 | 2011-02-15 | Realnetworks, Inc. | Web media asset identification system and method |
US7990947B2 (en) * | 2007-06-12 | 2011-08-02 | Robert W. Twitchell, Jr. | Network watermark |
US8527757B2 (en) * | 2007-06-22 | 2013-09-03 | Gemalto Sa | Method of preventing web browser extensions from hijacking user information |
US20090006537A1 (en) * | 2007-06-29 | 2009-01-01 | Microsoft Corporation | Virtual Desktop Integration with Terminal Services |
WO2009004415A1 (en) * | 2007-07-02 | 2009-01-08 | Siddhartha Srivastava | Integrated internet multimedia and computing access interactive communication device |
US8583831B2 (en) * | 2007-10-05 | 2013-11-12 | Samsung Electronics Co., Ltd. | Thin client discovery |
EP2223228A4 (en) * | 2007-10-23 | 2011-06-22 | Viaclix Inc | Multimedia administration, advertising, content&services system |
US8516539B2 (en) | 2007-11-09 | 2013-08-20 | Citrix Systems, Inc | System and method for inferring access policies from access event records |
US8990910B2 (en) | 2007-11-13 | 2015-03-24 | Citrix Systems, Inc. | System and method using globally unique identities |
KR100882507B1 (en) * | 2007-11-14 | 2009-02-06 | 한국전자통신연구원 | Digital cable broadcasting receiver including security module and method for authenticating the same |
US8949434B2 (en) * | 2007-12-17 | 2015-02-03 | Microsoft Corporation | Automatically provisioning a WWAN device |
US8977737B2 (en) * | 2007-12-24 | 2015-03-10 | Alcatel Lucent | Detecting legacy bridges in an audio video bridging network |
US20090172165A1 (en) * | 2007-12-27 | 2009-07-02 | Kabushiki Kaisha Toshiba | Information Processing Apparatus and Information Processing System |
US8010676B1 (en) | 2008-01-03 | 2011-08-30 | Desktonc, Inc. | Virtual computing services deployment network |
EP2081361B1 (en) * | 2008-01-21 | 2014-03-26 | Alcatel Lucent | Converged information systems |
US8505038B2 (en) * | 2008-01-28 | 2013-08-06 | Blue Coat Systems, Inc. | Method and system for enhancing MS exchange (MAPI) end user experiences in a split proxy environment |
US8683062B2 (en) * | 2008-02-28 | 2014-03-25 | Microsoft Corporation | Centralized publishing of network resources |
US8161160B2 (en) * | 2008-02-28 | 2012-04-17 | Microsoft Corporation | XML-based web feed for web access of remote resources |
US20090234953A1 (en) * | 2008-03-11 | 2009-09-17 | Palm, Inc. | Apparatus and methods for integration of third party virtual private network solutions |
US9240945B2 (en) | 2008-03-19 | 2016-01-19 | Citrix Systems, Inc. | Access, priority and bandwidth management based on application identity |
CN102016975A (en) | 2008-03-28 | 2011-04-13 | 寇平公司 | Handheld wireless display device having high-resolution display suitable for use as a mobile internet device |
US20090259757A1 (en) * | 2008-04-15 | 2009-10-15 | Microsoft Corporation | Securely Pushing Connection Settings to a Terminal Server Using Tickets |
US8756660B2 (en) * | 2008-04-17 | 2014-06-17 | Microsoft Corporation | Enabling two-factor authentication for terminal services |
US8943575B2 (en) | 2008-04-30 | 2015-01-27 | Citrix Systems, Inc. | Method and system for policy simulation |
US20090292806A1 (en) * | 2008-05-22 | 2009-11-26 | Microsoft Corporation | Management of Remotely Hosted Services |
US8612862B2 (en) | 2008-06-27 | 2013-12-17 | Microsoft Corporation | Integrated client for access to remote resources |
KR100962704B1 (en) * | 2008-07-02 | 2010-06-11 | 유상규 | A terminal unit using a peripheral device of the other terminal by control of one terminal and an interface method thereof |
US20100011314A1 (en) * | 2008-07-09 | 2010-01-14 | Harold Lee Peterson | System, method and computer-readable medium for providing a sidebar functionality as an aspect of a gadget |
US20100088360A1 (en) * | 2008-10-03 | 2010-04-08 | Joe Jaudon | Methods for dynamically updating virtual desktops or virtual applications |
US20100088397A1 (en) * | 2008-10-03 | 2010-04-08 | Joe Jaudon | Systems for dynamically updating virtual desktops or virtual applications |
US8990573B2 (en) | 2008-11-10 | 2015-03-24 | Citrix Systems, Inc. | System and method for using variable security tag location in network communications |
US20100124211A1 (en) * | 2008-11-17 | 2010-05-20 | Qualcomm Incorporated | Reducing an occurrence of a voip call on hold from being dropped in ev-do systems |
US8959232B2 (en) * | 2008-12-30 | 2015-02-17 | At&T Mobility Ii Llc | IMS and MMS interworking |
US8180902B1 (en) | 2009-03-05 | 2012-05-15 | Riverbed Technology, Inc. | Establishing network connections between transparent network devices |
US8181060B1 (en) | 2009-03-05 | 2012-05-15 | Riverbad Technology, Inc. | Preventing data corruption with transparent network connections |
US7984160B2 (en) * | 2009-03-05 | 2011-07-19 | Riverbed Technology, Inc. | Establishing a split-terminated communication connection through a stateful firewall, with network transparency |
US20100235386A1 (en) * | 2009-03-13 | 2010-09-16 | Cox Communications, Inc. | Multi-user file system for multi-room digital video recording |
US8392373B1 (en) * | 2009-03-26 | 2013-03-05 | Symantec Corporation | Systems and methods for retaining an executable environment during a data archive process |
US9367512B2 (en) * | 2009-04-22 | 2016-06-14 | Aventura Hq, Inc. | Systems and methods for dynamically updating virtual desktops or virtual applications in a standard computing environment |
US8234332B2 (en) * | 2009-04-22 | 2012-07-31 | Aventura Hq, Inc. | Systems and methods for updating computer memory and file locations within virtual computing environments |
US8601532B2 (en) * | 2009-09-30 | 2013-12-03 | Imation Corp. | Method and system for provisioning portable desktops |
US8555376B2 (en) * | 2009-09-30 | 2013-10-08 | Imation Corp. | Method and system for supporting portable desktop with enhanced functionality |
US8266350B2 (en) * | 2009-09-30 | 2012-09-11 | Imation Corp. | Method and system for supporting portable desktop |
US8516236B2 (en) | 2009-09-30 | 2013-08-20 | Imation Corp. | Portable desktop device and method of host computer system hardware recognition and configuration |
US20110082938A1 (en) * | 2009-10-07 | 2011-04-07 | Joe Jaudon | Systems and methods for dynamically updating a user interface within a virtual computing environment |
JP2013511078A (en) * | 2009-11-13 | 2013-03-28 | イメーション コーポレイション | Device and method for connection verification |
US8311032B2 (en) * | 2009-12-03 | 2012-11-13 | International Business Machines Corporation | Dynamically provisioning virtual machines |
US8352953B2 (en) * | 2009-12-03 | 2013-01-08 | International Business Machines Corporation | Dynamically provisioning virtual machines |
US8560552B2 (en) * | 2010-01-08 | 2013-10-15 | Sycamore Networks, Inc. | Method for lossless data reduction of redundant patterns |
US8514697B2 (en) * | 2010-01-08 | 2013-08-20 | Sycamore Networks, Inc. | Mobile broadband packet switched traffic optimization |
US9325625B2 (en) * | 2010-01-08 | 2016-04-26 | Citrix Systems, Inc. | Mobile broadband packet switched traffic optimization |
US8887129B1 (en) * | 2010-01-25 | 2014-11-11 | Sprint Communications Company L.P. | Detecting non-touch applications |
EP2383955B1 (en) | 2010-04-29 | 2019-10-30 | BlackBerry Limited | Assignment and distribution of access credentials to mobile communication devices |
US8346920B2 (en) * | 2010-07-15 | 2013-01-01 | Srr Patent Holdings, Llc | Managing network resource requests |
US8595806B1 (en) * | 2010-09-21 | 2013-11-26 | Amazon Technologies, Inc. | Techniques for providing remote computing services |
US8418185B2 (en) | 2010-10-19 | 2013-04-09 | International Business Machines Corporation | Memory maximization in a high input/output virtual machine environment |
US9032146B2 (en) | 2010-11-30 | 2015-05-12 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Dynamic use of raid levels responsive to workload requirements |
US8699499B2 (en) | 2010-12-08 | 2014-04-15 | At&T Intellectual Property I, L.P. | Methods and apparatus to provision cloud computing network elements |
US11265652B2 (en) | 2011-01-25 | 2022-03-01 | Sonos, Inc. | Playback device pairing |
US11429343B2 (en) | 2011-01-25 | 2022-08-30 | Sonos, Inc. | Stereo playback configuration and control |
US20120259918A1 (en) * | 2011-04-07 | 2012-10-11 | International Business Machines Corporation | Business process management system with improved communication and collaboration |
US8593659B2 (en) * | 2011-06-28 | 2013-11-26 | Konica Minolta Laboratory U.S.A., Inc. | System and method for third party authentication of web-based print-on-demand requests |
EP2769528A1 (en) * | 2011-10-20 | 2014-08-27 | Proxistore S.A. | Communication system for the display of advertisements |
US20130124714A1 (en) * | 2011-11-11 | 2013-05-16 | Vmware, Inc. | Visualization of combined performance metrics |
US9632693B2 (en) * | 2012-05-29 | 2017-04-25 | Hewlett-Packard Development Company, L.P. | Translation of touch input into local input based on a translation profile for an application |
CA2875898A1 (en) | 2012-06-08 | 2013-12-12 | Thales Canada Inc. | Integrated combat resource management system |
CN102750190B (en) * | 2012-06-21 | 2016-02-24 | 腾讯科技(深圳)有限公司 | A kind of method that terminal leak is processed and device |
US20150040008A1 (en) * | 2013-08-02 | 2015-02-05 | Gamer Parents Inc. | Interactive overlay for video applications |
US8990778B1 (en) | 2012-09-14 | 2015-03-24 | Amazon Technologies, Inc. | Shadow test replay service |
US10135823B2 (en) * | 2013-01-07 | 2018-11-20 | Dell Products L.P. | Input redirection with a cloud client device |
US9854066B1 (en) * | 2013-02-05 | 2017-12-26 | Amdocs Software Systems Limited | System, method, and computer program for customizing a response to a request |
US10182128B1 (en) | 2013-02-07 | 2019-01-15 | Amazon Technologies, Inc. | Optimization of production systems |
US10075384B2 (en) | 2013-03-15 | 2018-09-11 | Advanced Elemental Technologies, Inc. | Purposeful computing |
US9378065B2 (en) | 2013-03-15 | 2016-06-28 | Advanced Elemental Technologies, Inc. | Purposeful computing |
WO2014151061A2 (en) * | 2013-03-15 | 2014-09-25 | Authentic8, Inc. | Secure web container for a secure online user environment |
US9721086B2 (en) | 2013-03-15 | 2017-08-01 | Advanced Elemental Technologies, Inc. | Methods and systems for secure and reliable identity-based computing |
US9319476B2 (en) * | 2013-05-28 | 2016-04-19 | Verizon Patent And Licensing Inc. | Resilient TCP splicing for proxy services |
US9836388B1 (en) | 2013-09-26 | 2017-12-05 | Amazon Technologies, Inc. | Software testing environment that includes a duplicating proxy service |
KR102247410B1 (en) * | 2014-02-07 | 2021-05-04 | 오라클 인터내셔날 코포레이션 | Mobile cloud service architecture |
US11474767B1 (en) * | 2014-05-28 | 2022-10-18 | Amazon Technologies, Inc. | Print from web services platform to local printer |
US10667304B2 (en) | 2014-08-22 | 2020-05-26 | Nokia Solutions And Networks Oy | Low latency service connection setup in new service area |
US10389697B1 (en) * | 2014-08-27 | 2019-08-20 | Amazon Technologies, Inc. | Software container activation and throttling |
WO2016134346A1 (en) | 2015-02-20 | 2016-08-25 | Authentic8, Inc. | Secure analysis application for accessing web resources |
US10027700B2 (en) | 2015-02-20 | 2018-07-17 | Authentic8, Inc. | Secure analysis application for accessing web resources via URL forwarding |
US10542031B2 (en) | 2015-02-20 | 2020-01-21 | Authentic8, Inc. | Secure application for accessing web resources |
US11032309B2 (en) | 2015-02-20 | 2021-06-08 | Authentic8, Inc. | Secure application for accessing web resources |
US11356411B2 (en) | 2015-02-20 | 2022-06-07 | Authentic8, Inc. | Secure analysis application for accessing web resources |
US10993147B1 (en) * | 2015-02-25 | 2021-04-27 | Satcom Direct, Inc. | Out-of-band bandwidth RSVP manager |
US10248376B2 (en) | 2015-06-11 | 2019-04-02 | Sonos, Inc. | Multiple groupings in a playback system |
US9838393B2 (en) | 2015-08-03 | 2017-12-05 | Bank Of America Corporation | Encapsulating commands within a control wrapper for split entry or approval |
US9825963B2 (en) * | 2015-08-03 | 2017-11-21 | Bank Of America Corporation | Encapsulating commands within a control wrapper for multiple level review |
US10712997B2 (en) | 2016-10-17 | 2020-07-14 | Sonos, Inc. | Room association based on name |
US10361997B2 (en) | 2016-12-29 | 2019-07-23 | Riverbed Technology, Inc. | Auto discovery between proxies in an IPv6 network |
US11502839B1 (en) | 2021-05-11 | 2022-11-15 | Citicorp Credit Services, Inc. (Usa) | End-to-end encryption for sessionless communications |
Citations (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5621660A (en) * | 1995-04-18 | 1997-04-15 | Sun Microsystems, Inc. | Software-based encoder for a software-implemented end-to-end scalable video delivery system |
US5623605A (en) * | 1994-08-29 | 1997-04-22 | Lucent Technologies Inc. | Methods and systems for interprocess communication and inter-network data transfer |
US5802178A (en) * | 1996-07-30 | 1998-09-01 | Itt Industries, Inc. | Stand alone device for providing security within computer networks |
US5896499A (en) * | 1997-02-21 | 1999-04-20 | International Business Machines Corporation | Embedded security processor |
US5918051A (en) * | 1995-07-19 | 1999-06-29 | Ricoh Company, Ltd. | Object-oriented communication system with support for multiple remote machine types |
US6038301A (en) * | 1997-12-31 | 2000-03-14 | Alcatel Usa Sourcing, L.P. | Method and system for engineering a service in an advanced intelligent network |
US6044403A (en) * | 1997-12-31 | 2000-03-28 | At&T Corp | Network server platform for internet, JAVA server and video application server |
US6085247A (en) * | 1998-06-08 | 2000-07-04 | Microsoft Corporation | Server operating system for supporting multiple client-server sessions and dynamic reconnection of users to previous sessions using different computers |
US6104392A (en) * | 1997-11-13 | 2000-08-15 | The Santa Cruz Operation, Inc. | Method of displaying an application on a variety of client devices in a client/server network |
US6154843A (en) * | 1997-03-21 | 2000-11-28 | Microsoft Corporation | Secure remote access computing system |
US6167257A (en) * | 1996-03-07 | 2000-12-26 | Nokia Telecommunications Oy | Method for remotely changing the telecommunication settings of a subscriber station |
US6178438B1 (en) * | 1997-12-18 | 2001-01-23 | Alcatel Usa Sourcing, L.P. | Service management system for an advanced intelligent network |
US6182123B1 (en) * | 1988-07-15 | 2001-01-30 | Ibm Corp. | Interactive computer network and method of operation |
US6202156B1 (en) * | 1997-09-12 | 2001-03-13 | Sun Microsystems, Inc. | Remote access-controlled communication |
US6209031B1 (en) * | 1998-07-17 | 2001-03-27 | International Business Machines Corporation | Configuring computer network operations based upon a sequence of interactive user entries into a network server computer with a one time entry of data commonly required by multiple clients |
US6216157B1 (en) * | 1997-11-14 | 2001-04-10 | Yahoo! Inc. | Method and apparatus for a client-server system with heterogeneous clients |
US6223289B1 (en) * | 1998-04-20 | 2001-04-24 | Sun Microsystems, Inc. | Method and apparatus for session management and user authentication |
US6230296B1 (en) * | 1998-04-20 | 2001-05-08 | Sun Microsystems, Inc. | Method and apparatus for providing error correction |
US6233577B1 (en) * | 1998-02-17 | 2001-05-15 | Phone.Com, Inc. | Centralized certificate management system for two-way interactive communication devices in data networks |
US6237036B1 (en) * | 1998-02-27 | 2001-05-22 | Fujitsu Limited | Method and device for generating access-control lists |
US20010009014A1 (en) * | 1999-04-06 | 2001-07-19 | Savage James A. | Facilitating real-time, multi-point communications over the internet |
US6269157B1 (en) * | 1995-11-06 | 2001-07-31 | Summit Telecom Systems, Inc. | Bidding for telecommunications traffic with request for service |
US20010042202A1 (en) * | 2000-04-14 | 2001-11-15 | Horvath Charles J. | Dynamically extendible firewall |
US20010047406A1 (en) * | 2000-04-13 | 2001-11-29 | Netilla Networks Inc. | Apparatus and accompanying methods for providing, through a centralized server site, an integrated virtual office environment, remotely accessible via a network-connected web browser, with remote network monitoring and management capabilities |
US20010052001A1 (en) * | 1997-08-08 | 2001-12-13 | Michael R. Stern | Digital department system |
US6349337B1 (en) * | 1997-11-14 | 2002-02-19 | Microsoft Corporation | Maintaining a first session on a first computing device and subsequently connecting to the first session via different computing devices and adapting the first session to conform to the different computing devices system configurations |
US6362836B1 (en) * | 1998-04-06 | 2002-03-26 | The Santa Cruz Operation, Inc. | Universal application server for providing applications on a variety of client devices in a client/server network |
US6366914B1 (en) * | 1997-08-08 | 2002-04-02 | Qorvis Media Group, Inc. | Audiovisual content distribution system |
US6373929B1 (en) * | 1995-11-06 | 2002-04-16 | Summit Telecom, Inc. | Bidding for telecommunications traffic |
US20020046300A1 (en) * | 2000-10-17 | 2002-04-18 | Hanko James G. | Associating multiple display units in a grouped server environment |
US20020049803A1 (en) * | 2000-08-24 | 2002-04-25 | Jagadish Bandhole | Dynamic computing environment using remotely allocable resources |
US6385666B1 (en) * | 1997-12-15 | 2002-05-07 | Clearcube Technology, Inc. | Computer system having remotely located I/O devices where signals are encoded at the computer system through two encoders and decoded at I/O devices through two decoders |
US6393605B1 (en) * | 1998-11-18 | 2002-05-21 | Siebel Systems, Inc. | Apparatus and system for efficient delivery and deployment of an application |
US20020065949A1 (en) * | 2000-06-14 | 2002-05-30 | Dennis Heaton | Virtual network computing |
US6425005B1 (en) * | 1997-10-06 | 2002-07-23 | Mci Worldcom, Inc. | Method and apparatus for managing local resources at service nodes in an intelligent network |
US6438141B1 (en) * | 1998-04-20 | 2002-08-20 | Sun Microsystems, Inc. | Method and management of communications over media of finite bandwidth |
US20020114281A1 (en) * | 2001-02-22 | 2002-08-22 | Telefonaktiebolaget Lm Ericsson | Method and apparatus for performance improvement of multi-service networks |
US20020129266A1 (en) * | 2001-03-08 | 2002-09-12 | Bender Michael S. | System for identification of smart cards |
US20020133330A1 (en) * | 2001-03-13 | 2002-09-19 | Microsoft Corporation | Provisioning computing services via an on-line networked computing environment |
US20020133529A1 (en) * | 2001-01-16 | 2002-09-19 | Schmidt Brian Keith | Method and apparatus for representing and encapsulating active computing environments |
US20020138629A1 (en) * | 2001-03-22 | 2002-09-26 | Schmidt Brian K. | Method and apparatus for migration of open network connections |
US20020183059A1 (en) * | 2002-06-08 | 2002-12-05 | Noreen Gary Keith | Interactive system and method for use with broadcast media |
US6505248B1 (en) * | 1999-03-24 | 2003-01-07 | Gte Data Services Incorporated | Method and system for monitoring and dynamically reporting a status of a remote server |
US20030009568A1 (en) * | 2001-06-26 | 2003-01-09 | Eastman Kodak Company | Method and system for managing images over a communication network |
US6510216B1 (en) * | 1998-03-23 | 2003-01-21 | Mci Communications Corporation | Intelligent network provisioning system and method |
US20030028653A1 (en) * | 2001-08-06 | 2003-02-06 | New John C. | Method and system for providing access to computer resources |
US20030061301A1 (en) * | 2001-09-25 | 2003-03-27 | Frank Chethik | Music on demand system and method |
US20030120747A1 (en) * | 2001-12-20 | 2003-06-26 | Samsung Electronics Co., Ltd. | Thin client network system and data transmitting method therefor |
US6591306B1 (en) * | 1999-04-01 | 2003-07-08 | Nec Corporation | IP network access for portable devices |
US6643701B1 (en) * | 1999-11-17 | 2003-11-04 | Sun Microsystems, Inc. | Method and apparatus for providing secure communication with a relay in a network |
US6711610B1 (en) * | 1999-09-10 | 2004-03-23 | International Business Machines Corporation | System and method for establishing secure internet communication between a remote computer and a host computer via an intermediate internet computer |
US6789110B1 (en) * | 1999-10-22 | 2004-09-07 | Nomadix, Inc. | Information and control console for use with a network gateway interface |
US6874088B1 (en) * | 1999-10-22 | 2005-03-29 | Mission Critical Linux, Llc | Secure remote servicing of a computer system over a computer network |
US6917586B1 (en) * | 1997-10-01 | 2005-07-12 | Nortel Networks Limited | Communication system architecture and operating methods thereof |
US6928479B1 (en) * | 2000-05-24 | 2005-08-09 | 01 Communique Laboratory Inc. | System computer product and method for providing a private communication portal |
US6934706B1 (en) * | 2002-03-22 | 2005-08-23 | International Business Machines Corporation | Centralized mapping of security credentials for database access operations |
US6954792B2 (en) * | 2001-06-29 | 2005-10-11 | Sun Microsystems, Inc. | Pluggable authentication and access control for a messaging system |
US6993651B2 (en) * | 1999-12-08 | 2006-01-31 | Hewlett-Packard Development Company, L.P. | Security protocol |
US7003668B2 (en) * | 2000-11-03 | 2006-02-21 | Fusionone, Inc. | Secure authentication of users via intermediate parties |
US7010608B2 (en) * | 2001-09-28 | 2006-03-07 | Intel Corporation | System and method for remotely accessing a home server while preserving end-to-end security |
US7035828B2 (en) * | 2000-10-25 | 2006-04-25 | Topmoxie, Inc. | Method and system for modifying and transmitting data between a portable computer and a network |
US7036010B2 (en) * | 1999-12-08 | 2006-04-25 | Hewlett-Packard Development Company, L.P. | Method and apparatus for a secure communications session with a remote system via an access-controlling intermediate system |
US7092369B2 (en) * | 1995-11-17 | 2006-08-15 | Symbol Technologies, Inc. | Communications network with wireless gateways for mobile terminal access |
US7103770B2 (en) * | 2000-01-27 | 2006-09-05 | Web Data Solutions, Inc. | Point-to-point data streaming using a mediator node for administration and security |
US7117267B2 (en) * | 2001-06-28 | 2006-10-03 | Sun Microsystems, Inc. | System and method for providing tunnel connections between entities in a messaging system |
US7130888B1 (en) * | 1996-02-16 | 2006-10-31 | G&H Nevada-Tek | Method and apparatus for controlling a computer over a TCP/IP protocol network |
US7143093B1 (en) * | 1998-12-17 | 2006-11-28 | Webmethods, Inc. | Enterprise computer system |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5673322A (en) * | 1996-03-22 | 1997-09-30 | Bell Communications Research, Inc. | System and method for providing protocol translation and filtering to access the world wide web from wireless or low-bandwidth networks |
US5918019A (en) * | 1996-07-29 | 1999-06-29 | Cisco Technology, Inc. | Virtual dial-up protocol for network communication |
US5801679A (en) * | 1996-11-26 | 1998-09-01 | Novell, Inc. | Method and system for determining a cursor location with respect to a plurality of character locations |
US6055575A (en) * | 1997-01-28 | 2000-04-25 | Ascend Communications, Inc. | Virtual private network system and method |
US6205469B1 (en) * | 1997-05-27 | 2001-03-20 | Yahoo! Inc. | Method for client-server communications through a minimal interface |
JPH1127283A (en) | 1997-07-04 | 1999-01-29 | Hitachi Ltd | Communication network convergence controller |
US6460084B1 (en) * | 1997-08-28 | 2002-10-01 | Cisco Technology, Inc. | Forced network portal |
US6631402B1 (en) * | 1997-09-26 | 2003-10-07 | Worldcom, Inc. | Integrated proxy interface for web based report requester tool set |
GB2334646B (en) | 1998-02-19 | 2003-02-19 | Leighton Hanna King | Dial on demand internet web site |
US7346689B1 (en) | 1998-04-20 | 2008-03-18 | Sun Microsystems, Inc. | Computer architecture having a stateless human interface device and methods of use |
US6484174B1 (en) | 1998-04-20 | 2002-11-19 | Sun Microsystems, Inc. | Method and apparatus for session management and user authentication |
US6678741B1 (en) | 1999-04-09 | 2004-01-13 | Sun Microsystems, Inc. | Method and apparatus for synchronizing firmware |
EP1045585A1 (en) | 1999-04-13 | 2000-10-18 | CANAL+ Société Anonyme | Method of and apparatus for providing secure communication of digital data between devices |
EP1049307A1 (en) * | 1999-04-29 | 2000-11-02 | International Business Machines Corporation | Method and system for dispatching client sessions within a cluster of servers connected to the World Wide Web |
US6912578B1 (en) | 2000-02-25 | 2005-06-28 | Sun Microsystems, Inc. | Method and apparatus for improving utilization of a resource on a shared client |
US6728769B1 (en) * | 2000-05-04 | 2004-04-27 | Sun Microsystems, Inc. | Method and apparatus for providing a highly interactive transaction environment in a distributed network |
AUPQ736200A0 (en) * | 2000-05-08 | 2000-06-01 | Canon Kabushiki Kaisha | Information appliance cost subsidy |
JP4629263B2 (en) | 2000-05-16 | 2011-02-09 | 富士通株式会社 | Portal server and information processing program |
WO2001095107A2 (en) * | 2000-06-09 | 2001-12-13 | The Trustees Of Columbia University In The City Of New York | Distributed computer system using a graphical user interface toolkit |
JP4025489B2 (en) | 2000-06-16 | 2007-12-19 | 日本電気通信システム株式会社 | Portal site providing terminal device |
US7085805B1 (en) | 2000-07-07 | 2006-08-01 | Sun Microsystems, Inc. | Remote device management in grouped server environment |
JP4557386B2 (en) * | 2000-07-10 | 2010-10-06 | キヤノン株式会社 | Manufacturing method for recording head substrate |
JP3805743B2 (en) | 2000-08-16 | 2006-08-09 | ノキア コーポレイション | System and method for providing services over different networks |
US20020032735A1 (en) * | 2000-08-25 | 2002-03-14 | Daniel Burnstein | Apparatus, means and methods for automatic community formation for phones and computer networks |
US6822663B2 (en) * | 2000-09-12 | 2004-11-23 | Adaptview, Inc. | Transform rule generator for web-based markup languages |
GB2385966A (en) | 2000-09-29 | 2003-09-03 | Sun Microsystems Inc | Reusing decoded multimedia data for multiple users |
US6732106B2 (en) * | 2000-12-08 | 2004-05-04 | Matsushita Electric Industrial Co., Ltd. | Digital data distribution system |
US7596791B2 (en) * | 2000-12-19 | 2009-09-29 | Emc Corporation | Methods and techniques for delivering rich Java applications over thin-wire connections with high performance and scalability |
US6912582B2 (en) * | 2001-03-30 | 2005-06-28 | Microsoft Corporation | Service routing and web integration in a distributed multi-site user authentication system |
US7085807B2 (en) * | 2001-06-04 | 2006-08-01 | Hewlett-Packard Development Company, L.P. | System and method for providing links to available services over a local network by a thin portal service configured to access imaging data stored in a personal imaging repository |
-
2002
- 2002-12-23 US US10/328,660 patent/US7363363B2/en not_active Expired - Fee Related
-
2003
- 2003-03-19 CN CN038110520A patent/CN100407186C/en not_active Expired - Fee Related
- 2003-03-19 KR KR1020047018608A patent/KR20050027091A/en active IP Right Grant
- 2003-03-19 WO PCT/US2003/008352 patent/WO2003100642A1/en active Application Filing
- 2003-03-19 AU AU2003233408A patent/AU2003233408A1/en not_active Abandoned
- 2003-03-19 JP JP2004508026A patent/JP4257967B2/en not_active Expired - Fee Related
- 2003-03-19 SG SG2008077463A patent/SG187266A1/en unknown
- 2003-03-19 CA CA002485426A patent/CA2485426A1/en not_active Abandoned
- 2003-03-19 EP EP03728255A patent/EP1509849A4/en not_active Withdrawn
-
2004
- 2004-10-13 IL IL164554A patent/IL164554A/en not_active IP Right Cessation
-
2007
- 2007-11-20 US US11/986,119 patent/US20080071860A1/en not_active Abandoned
- 2007-11-20 US US11/986,118 patent/US7783701B2/en not_active Expired - Fee Related
-
2010
- 2010-07-22 US US12/841,259 patent/US20110093940A1/en not_active Abandoned
Patent Citations (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182123B1 (en) * | 1988-07-15 | 2001-01-30 | Ibm Corp. | Interactive computer network and method of operation |
US5623605A (en) * | 1994-08-29 | 1997-04-22 | Lucent Technologies Inc. | Methods and systems for interprocess communication and inter-network data transfer |
US5621660A (en) * | 1995-04-18 | 1997-04-15 | Sun Microsystems, Inc. | Software-based encoder for a software-implemented end-to-end scalable video delivery system |
US5768535A (en) * | 1995-04-18 | 1998-06-16 | Sun Microsystems, Inc. | Software-based encoder for a software-implemented end-to-end scalable video delivery system |
US6438617B1 (en) * | 1995-07-19 | 2002-08-20 | Ricoh Company, Ltd. | Object-oriented communication system with support for multiple remote machine types |
US5918051A (en) * | 1995-07-19 | 1999-06-29 | Ricoh Company, Ltd. | Object-oriented communication system with support for multiple remote machine types |
US6269157B1 (en) * | 1995-11-06 | 2001-07-31 | Summit Telecom Systems, Inc. | Bidding for telecommunications traffic with request for service |
US6373929B1 (en) * | 1995-11-06 | 2002-04-16 | Summit Telecom, Inc. | Bidding for telecommunications traffic |
US7092369B2 (en) * | 1995-11-17 | 2006-08-15 | Symbol Technologies, Inc. | Communications network with wireless gateways for mobile terminal access |
US7130888B1 (en) * | 1996-02-16 | 2006-10-31 | G&H Nevada-Tek | Method and apparatus for controlling a computer over a TCP/IP protocol network |
US6167257A (en) * | 1996-03-07 | 2000-12-26 | Nokia Telecommunications Oy | Method for remotely changing the telecommunication settings of a subscriber station |
US5802178A (en) * | 1996-07-30 | 1998-09-01 | Itt Industries, Inc. | Stand alone device for providing security within computer networks |
US5896499A (en) * | 1997-02-21 | 1999-04-20 | International Business Machines Corporation | Embedded security processor |
US6154843A (en) * | 1997-03-21 | 2000-11-28 | Microsoft Corporation | Secure remote access computing system |
US20010052001A1 (en) * | 1997-08-08 | 2001-12-13 | Michael R. Stern | Digital department system |
US6366914B1 (en) * | 1997-08-08 | 2002-04-02 | Qorvis Media Group, Inc. | Audiovisual content distribution system |
US6202156B1 (en) * | 1997-09-12 | 2001-03-13 | Sun Microsystems, Inc. | Remote access-controlled communication |
US6917586B1 (en) * | 1997-10-01 | 2005-07-12 | Nortel Networks Limited | Communication system architecture and operating methods thereof |
US6425005B1 (en) * | 1997-10-06 | 2002-07-23 | Mci Worldcom, Inc. | Method and apparatus for managing local resources at service nodes in an intelligent network |
US6104392A (en) * | 1997-11-13 | 2000-08-15 | The Santa Cruz Operation, Inc. | Method of displaying an application on a variety of client devices in a client/server network |
US6216157B1 (en) * | 1997-11-14 | 2001-04-10 | Yahoo! Inc. | Method and apparatus for a client-server system with heterogeneous clients |
US6349337B1 (en) * | 1997-11-14 | 2002-02-19 | Microsoft Corporation | Maintaining a first session on a first computing device and subsequently connecting to the first session via different computing devices and adapting the first session to conform to the different computing devices system configurations |
US6385666B1 (en) * | 1997-12-15 | 2002-05-07 | Clearcube Technology, Inc. | Computer system having remotely located I/O devices where signals are encoded at the computer system through two encoders and decoded at I/O devices through two decoders |
US6178438B1 (en) * | 1997-12-18 | 2001-01-23 | Alcatel Usa Sourcing, L.P. | Service management system for an advanced intelligent network |
US6044403A (en) * | 1997-12-31 | 2000-03-28 | At&T Corp | Network server platform for internet, JAVA server and video application server |
US6038301A (en) * | 1997-12-31 | 2000-03-14 | Alcatel Usa Sourcing, L.P. | Method and system for engineering a service in an advanced intelligent network |
US6233577B1 (en) * | 1998-02-17 | 2001-05-15 | Phone.Com, Inc. | Centralized certificate management system for two-way interactive communication devices in data networks |
US6237036B1 (en) * | 1998-02-27 | 2001-05-22 | Fujitsu Limited | Method and device for generating access-control lists |
US6510216B1 (en) * | 1998-03-23 | 2003-01-21 | Mci Communications Corporation | Intelligent network provisioning system and method |
US6362836B1 (en) * | 1998-04-06 | 2002-03-26 | The Santa Cruz Operation, Inc. | Universal application server for providing applications on a variety of client devices in a client/server network |
US6223289B1 (en) * | 1998-04-20 | 2001-04-24 | Sun Microsystems, Inc. | Method and apparatus for session management and user authentication |
US6438141B1 (en) * | 1998-04-20 | 2002-08-20 | Sun Microsystems, Inc. | Method and management of communications over media of finite bandwidth |
US6230296B1 (en) * | 1998-04-20 | 2001-05-08 | Sun Microsystems, Inc. | Method and apparatus for providing error correction |
US6085247A (en) * | 1998-06-08 | 2000-07-04 | Microsoft Corporation | Server operating system for supporting multiple client-server sessions and dynamic reconnection of users to previous sessions using different computers |
US6209031B1 (en) * | 1998-07-17 | 2001-03-27 | International Business Machines Corporation | Configuring computer network operations based upon a sequence of interactive user entries into a network server computer with a one time entry of data commonly required by multiple clients |
US6393605B1 (en) * | 1998-11-18 | 2002-05-21 | Siebel Systems, Inc. | Apparatus and system for efficient delivery and deployment of an application |
US7143093B1 (en) * | 1998-12-17 | 2006-11-28 | Webmethods, Inc. | Enterprise computer system |
US6505248B1 (en) * | 1999-03-24 | 2003-01-07 | Gte Data Services Incorporated | Method and system for monitoring and dynamically reporting a status of a remote server |
US6591306B1 (en) * | 1999-04-01 | 2003-07-08 | Nec Corporation | IP network access for portable devices |
US20010009014A1 (en) * | 1999-04-06 | 2001-07-19 | Savage James A. | Facilitating real-time, multi-point communications over the internet |
US6711610B1 (en) * | 1999-09-10 | 2004-03-23 | International Business Machines Corporation | System and method for establishing secure internet communication between a remote computer and a host computer via an intermediate internet computer |
US6874088B1 (en) * | 1999-10-22 | 2005-03-29 | Mission Critical Linux, Llc | Secure remote servicing of a computer system over a computer network |
US6789110B1 (en) * | 1999-10-22 | 2004-09-07 | Nomadix, Inc. | Information and control console for use with a network gateway interface |
US6643701B1 (en) * | 1999-11-17 | 2003-11-04 | Sun Microsystems, Inc. | Method and apparatus for providing secure communication with a relay in a network |
US6993651B2 (en) * | 1999-12-08 | 2006-01-31 | Hewlett-Packard Development Company, L.P. | Security protocol |
US7036010B2 (en) * | 1999-12-08 | 2006-04-25 | Hewlett-Packard Development Company, L.P. | Method and apparatus for a secure communications session with a remote system via an access-controlling intermediate system |
US7103770B2 (en) * | 2000-01-27 | 2006-09-05 | Web Data Solutions, Inc. | Point-to-point data streaming using a mediator node for administration and security |
US20010047406A1 (en) * | 2000-04-13 | 2001-11-29 | Netilla Networks Inc. | Apparatus and accompanying methods for providing, through a centralized server site, an integrated virtual office environment, remotely accessible via a network-connected web browser, with remote network monitoring and management capabilities |
US20020032725A1 (en) * | 2000-04-13 | 2002-03-14 | Netilla Networks Inc. | Apparatus and accompanying methods for providing, through a centralized server site, an integrated virtual office environment, remotely accessible via a network-connected web browser, with remote network monitoring and management capabilities |
US20010042202A1 (en) * | 2000-04-14 | 2001-11-15 | Horvath Charles J. | Dynamically extendible firewall |
US6928479B1 (en) * | 2000-05-24 | 2005-08-09 | 01 Communique Laboratory Inc. | System computer product and method for providing a private communication portal |
US20020065949A1 (en) * | 2000-06-14 | 2002-05-30 | Dennis Heaton | Virtual network computing |
US20020049803A1 (en) * | 2000-08-24 | 2002-04-25 | Jagadish Bandhole | Dynamic computing environment using remotely allocable resources |
US20020046300A1 (en) * | 2000-10-17 | 2002-04-18 | Hanko James G. | Associating multiple display units in a grouped server environment |
US7035828B2 (en) * | 2000-10-25 | 2006-04-25 | Topmoxie, Inc. | Method and system for modifying and transmitting data between a portable computer and a network |
US7003668B2 (en) * | 2000-11-03 | 2006-02-21 | Fusionone, Inc. | Secure authentication of users via intermediate parties |
US20020133529A1 (en) * | 2001-01-16 | 2002-09-19 | Schmidt Brian Keith | Method and apparatus for representing and encapsulating active computing environments |
US20020114281A1 (en) * | 2001-02-22 | 2002-08-22 | Telefonaktiebolaget Lm Ericsson | Method and apparatus for performance improvement of multi-service networks |
US20020129266A1 (en) * | 2001-03-08 | 2002-09-12 | Bender Michael S. | System for identification of smart cards |
US20020133330A1 (en) * | 2001-03-13 | 2002-09-19 | Microsoft Corporation | Provisioning computing services via an on-line networked computing environment |
US20020138629A1 (en) * | 2001-03-22 | 2002-09-26 | Schmidt Brian K. | Method and apparatus for migration of open network connections |
US20030009568A1 (en) * | 2001-06-26 | 2003-01-09 | Eastman Kodak Company | Method and system for managing images over a communication network |
US7117267B2 (en) * | 2001-06-28 | 2006-10-03 | Sun Microsystems, Inc. | System and method for providing tunnel connections between entities in a messaging system |
US6954792B2 (en) * | 2001-06-29 | 2005-10-11 | Sun Microsystems, Inc. | Pluggable authentication and access control for a messaging system |
US20030028653A1 (en) * | 2001-08-06 | 2003-02-06 | New John C. | Method and system for providing access to computer resources |
US20030061301A1 (en) * | 2001-09-25 | 2003-03-27 | Frank Chethik | Music on demand system and method |
US7010608B2 (en) * | 2001-09-28 | 2006-03-07 | Intel Corporation | System and method for remotely accessing a home server while preserving end-to-end security |
US20030120747A1 (en) * | 2001-12-20 | 2003-06-26 | Samsung Electronics Co., Ltd. | Thin client network system and data transmitting method therefor |
US6934706B1 (en) * | 2002-03-22 | 2005-08-23 | International Business Machines Corporation | Centralized mapping of security credentials for database access operations |
US20020183059A1 (en) * | 2002-06-08 | 2002-12-05 | Noreen Gary Keith | Interactive system and method for use with broadcast media |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080092217A1 (en) * | 2006-09-29 | 2008-04-17 | Akihisa Nagami | Environment migration system, terminal apparatus, information processing apparatus, management server, and portable storage medium |
US8863232B1 (en) | 2011-02-04 | 2014-10-14 | hopTo Inc. | System for and methods of controlling user access to applications and/or programs of a computer |
US9165160B1 (en) | 2011-02-04 | 2015-10-20 | hopTo Inc. | System for and methods of controlling user access and/or visibility to directories and files of a computer |
US9465955B1 (en) | 2011-02-04 | 2016-10-11 | hopTo Inc. | System for and methods of controlling user access to applications and/or programs of a computer |
US8856907B1 (en) | 2012-05-25 | 2014-10-07 | hopTo Inc. | System for and methods of providing single sign-on (SSO) capability in an application publishing and/or document sharing environment |
US9398001B1 (en) | 2012-05-25 | 2016-07-19 | hopTo Inc. | System for and method of providing single sign-on (SSO) capability in an application publishing environment |
US9401909B2 (en) | 2012-05-25 | 2016-07-26 | hopTo Inc. | System for and method of providing single sign-on (SSO) capability in an application publishing environment |
US9419848B1 (en) | 2012-05-25 | 2016-08-16 | hopTo Inc. | System for and method of providing a document sharing service in combination with remote access to document applications |
US9239812B1 (en) * | 2012-08-08 | 2016-01-19 | hopTo Inc. | System for and method of providing a universal I/O command translation framework in an application publishing environment |
US20150100622A1 (en) * | 2013-10-04 | 2015-04-09 | Comcast Cable Communications, Llc | Network Device Mediation |
Also Published As
Publication number | Publication date |
---|---|
EP1509849A4 (en) | 2010-10-20 |
EP1509849A1 (en) | 2005-03-02 |
CA2485426A1 (en) | 2003-12-04 |
US20030217166A1 (en) | 2003-11-20 |
WO2003100642A1 (en) | 2003-12-04 |
JP2005526336A (en) | 2005-09-02 |
US7363363B2 (en) | 2008-04-22 |
IL164554A (en) | 2010-11-30 |
US20110093940A1 (en) | 2011-04-21 |
US7783701B2 (en) | 2010-08-24 |
AU2003233408A1 (en) | 2003-12-12 |
KR20050027091A (en) | 2005-03-17 |
JP4257967B2 (en) | 2009-04-30 |
IL164554A0 (en) | 2005-12-18 |
CN1653441A (en) | 2005-08-10 |
US20080072298A1 (en) | 2008-03-20 |
CN100407186C (en) | 2008-07-30 |
SG187266A1 (en) | 2013-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7783701B2 (en) | System and method for provisioning universal stateless digital and computing services | |
US8275892B2 (en) | Low-level remote sharing of local devices in a remote access session across a computer network | |
AU2004218616B2 (en) | Systems and methods for projecting content from computing devices | |
EP1547357B1 (en) | Digital content delivery and viewing system and method | |
US6907530B2 (en) | Secure internet applications with mobile code | |
JP4965747B2 (en) | Distributing secure dynamic credentials over the network | |
EP2172852B1 (en) | System and method for globally and securely accessing unified information in a computer network | |
JP2010515957A (en) | Service chain method and apparatus | |
US20010037461A1 (en) | Point-to-point data streaming using a mediator node for administration and security | |
US20050091302A1 (en) | Systems and methods for projecting content from computing devices | |
US20100095027A1 (en) | Secure communication port redirector | |
US9577982B2 (en) | Method and apparatus for extending remote network visibility of the push functionality | |
US7020700B1 (en) | Client side socks server for an internet client | |
Roman et al. | Integrating PDAs into distributed systems: 2k and PalmORB | |
ZA200408546B (en) | System and method for provisioning universal stateless digital and comuting services | |
CN1960280B (en) | Method and system for updating system of network device | |
CN116346848A (en) | Electric power operation and maintenance system based on image projection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |