WO2002013022A1 - Client-server system - Google Patents

Client-server system Download PDF

Info

Publication number
WO2002013022A1
WO2002013022A1 PCT/US2001/024578 US0124578W WO0213022A1 WO 2002013022 A1 WO2002013022 A1 WO 2002013022A1 US 0124578 W US0124578 W US 0124578W WO 0213022 A1 WO0213022 A1 WO 0213022A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
server
client
program
access
Prior art date
Application number
PCT/US2001/024578
Other languages
French (fr)
Other versions
WO2002013022A9 (en
Inventor
Rick Johnston
Laurence Wright
Cynthia S. Bell
Haynie J. Stringer
Original Assignee
Baker Hughes Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Baker Hughes Incorporated filed Critical Baker Hughes Incorporated
Priority to GB0207783A priority Critical patent/GB2392259B/en
Publication of WO2002013022A1 publication Critical patent/WO2002013022A1/en
Publication of WO2002013022A9 publication Critical patent/WO2002013022A9/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation

Definitions

  • the instant invention relates in general to a client-server .system design and programming. More specifically, the instant invention is a system and method to use a client-server system to distribute the benefits oflarge, proprietary data sets via open wide area networks.
  • the client-server system has expandedito a global enterprise through the use of a Transmission Control Protocal/Internet Protocol (TCP/IP) protocol-based system, popularly called "the Internet.”
  • TCP/IP Transmission Control Protocal/Internet Protocol
  • the Internet connects many different types of computers, belonging to many different types of users, each of whom is using the computers for different purposes.
  • the great diversity of the Internet has led to a variety of facilities designed for use with the Internet to permit user access to various resources.
  • the Gopher model permitted data access over the Internet using a certain type of Gopher interface at the client side.
  • the Gopher model found primary use in accessing tree-structured data.
  • I Another facility is the File Transfer Protocol (FTP) facility, popularly used to transfer files from server to client and back.
  • FTP File Transfer Protocol
  • domain names One key facility of the Internet is the provision for domain names. Under the TCP/IP protocol, each computer on the network is assigned a numerical network address consisting of four numbers separated by periods. Each number may range from zero to 255. However, addresses such as 216.70.140.77 can be very difficult fto remember. Domain names address this problem by permitting an association between an alphanumeric name (such as "bakerhughes.com") with a TCP/IP numerical address. Accordingly, to access a company, one need only i type into a computer the company's easily-remembered alphanumeric name.
  • the World Wide Web is a client-server facility based originally in the HyperText Markup Language (HTML). Servers maintain files of HTML code at various address locations throughout the Internet.
  • HTML HyperText Markup Language
  • a user at a client machine may access and run the HTML code through the use of a browser, such as Netscape Navigator or Microsoft Internet Explorer. When the user points the browser to an address, the browser downloads the web page there and displays it upon the screen.
  • An important feature of the HTML language is that of the hyperlink, or "link”.
  • a programmer using HTML may program a certain page to be displayed on the client computer.
  • a programmer may embed "links" to other pages, so that when the user at the client computer activates a link (typically by clicking with a pointing device, such as a mouse), a new page from a different address is displayed. ;
  • the Web provides an interface simple enough for the user that particular computer knowledge is not required. Users need not type any domain names or Internet addresses in order to access the information they seek. Rather, users, may navigate via linds toi search and view information.
  • the World Widel Web facility has advanced with the creation of more advanced programming languages that permit the writing of more advanced programs for execution within the browser interface. Examples of these languages include Java, JScript, and JavaScript. These languages permit the creation of "applets", or mini-applications, which are transmitted to, compiled on, and executed by the client machine. By using applets, users have the ability to access more complex programs via a Web interface. As a result, more power is conveyed to the Internet user, i
  • Thin client technology operates on the principle of creating a client-server relationship between two machines so that only the input and output information from the server is transmitted to the client machine.
  • an application executed on the server can be run "remotely" from the client without the application being transmitted to the client machine! Only the application's screen output at the server is transmitted to the client for display on the client machine.
  • keyboard and other input at the client machine is transmitted to the server and input into the program executing on the server.
  • the Internet is comprised of thousands of servers interconnected for cbmmunications purposesj Information sent over the Internet is broken into chunks called "packets" by the source computer. Packets are forwarded from the source computer to an intermediate server. From there, the packets may be forwarded to any number of intermediate servers before re&ching the intended destination computer. At the destination computer, the packets are re-assembled.
  • the number of intermediate servers, and the connections between them, are not a constant in the Internet. Accordingly, a packet sent to one computer may only pass through four or five servers, while a packet sent to another computer may pass through twenty or more servers. At each server, packets may be delayed by poor communications connections, priority given to other packets, an overload of packets, hardware or software failures, or any number of other reasons. As a result, Internet communications do not occur at a fixed or calculable speed. Real-time communications are problematic and maybe slowed, interrupted or their quality degraded. The problems encountered with real-time communications are frequently exponentially related to the amount of data passing from a server machine to the client machine and back. As the Internet acquires more and more users, these speed problems also compound.
  • each packet of information passes through several server computers en route to its final destination, each leg in the journey provides an opportunity for compromise.
  • Any of the server owners may install "sniffer" programs to examine incoming packets, looking for and copying specific types of information being transmitted via their server.
  • a rogue programmer, frequently called a "hacker” who surreptitiously gains access to a server may also install a sniffer, or a number of other programs designed to interrupt or divert the information transmitted.
  • Some software venders offer software that a customer may download after entering credit card information via a Web pa"ge. In these cases, a description of the program can be provided to permit a user the ability to make an informal purchase decision.
  • What is needed in the art is a more efficient method of communicating information regarding extremely large data sets to customers of those data sets, so that those customers can obtain availability and specification information regarding the data set and ultimately make a purchase decision using that information.
  • the instant invention addresses the needs of the art in that it provides a more efficient and secure system and method of communicating information regarding extremely large data; sets to customers of those data sets.
  • the invention may also provide for the purchase and automatic delivery of portions of those data sets.
  • the instant invention combines thin client technology with on-line ordering technology and large data set management programs, such as Geographic Information Systems (GIS).
  • GIS Geographic Information Systems
  • the resulting novel system provides security and manageability to system users.
  • the resulting system does not require the degree of customized programming required in applet systems.
  • the resulting invention also provides to customers the ability to view extremely large data sets in a sophisticated environment without the necessity of the wasted time associated with downloading laige applets and data files.
  • Fig. 1 is a system hardware diagram of a full system embodying the instant invention
  • Fig. 2 is a detail system hardware diagram of a data processing system contemplated under the instant invention
  • Fig. 3 is a system software diagram of a full system embodying the instant invention.
  • Fig.4a is a depiction of large data set access under the prior art.
  • Fig.4b is a depiction of large data set access under the instant invention.
  • the instant invention is a system and method for communicating information regarding an extremely large data set over a wide area network, such as the Internet.
  • a system conforming to the instant invention is demonstrated with reference ' to Fig. 1.
  • Fig. 1 depicts an extremely large data set stored on at least one storage medium 110.
  • the storage medium may be a CD-ROM, a hard drive, a hard drive array, or any other number of storage systems well known within the art. While any of these storage media will function under the present invention, those skilled in the art will recognize that hard drive arrays permit flexibility, expandability, and can provide a degree of fault tolerance, depending upon the array selected. For example, a Redundant Array of Inexpensive Disks (RAID) Level 5 array will provide fault tolerance and data striping to enhance array performance.
  • RAID Redundant Array of Inexpensive Disks
  • the instant invention does not depend upon the format of the data stored on the storage medium. As depicted in Fig. 1, the data may be stored in an Oracle format. Those skilled in the art will appreciate that data may be stored in dBase, I comma or tab-delimited, text, Access, or any other number of database formats, including customized database formats, and maintain the same operation and benefits of the instant invention.
  • the invention contemplates at least one database server 112, 114.
  • Each database server is a data processing system configured to access the data stored on the storage medium 110.
  • the database servers 112, 114 may be of any of several types well-known in the art, but are depicted as Oracle servers in conformance with the data format shown for the data stored on the storage medium 110.
  • One or more of the database servers 112, 114 may also serve as a Web server 114 to provide HTML or applet-coded Web pages to customers to supplement the present invention.
  • the Web server 114 functions mainly as a storage device, providing copies of stored HTML or applet code upon request from a client machine. It will be appricated that, although a dual-function server 114 is diagramed, a separate Web server could be utilized to achieve a greater performance, sacrificing a cost benefit. In the alternative, the Web server 114 may be omitted.
  • a Web server 114 may be supplemented with a Common Gateway Interface (CGI) server 130.
  • CGI server is also a data processing system which functions to process any data submitted by end users via a Web page served by the Web server 114. Through the use of the CGI server, the system may providp dynamic interaction with the end user.
  • the CGI server may also, in one embodiment, serve a dual-purpose role, providing additional functionality as a mail server for the system.
  • the database servers, any web servers, and any CGI server 112, 114, 130 are joined in a local areal network (LAN) over a hub 116 so as to provide data communications between them and the other components of the system;
  • LAN local areal network
  • Such a LAN system will generally provide for relatively high-speed communications between the database servers, anyi web servers, and any CGI server 112, 114, 130.
  • the protocol of the LAN isystem can be one of any ;of the well-known networking protocols (e.g.
  • TCP/IP Internetwork Packet eXchange (IPX), Sequenced Packet exchange (SPX), etc.
  • IPX Internetwork Packet eXchange
  • SPX Sequenced Packet exchange
  • the Web server 114, the CGI server 130 and the hub 116 must support TCP/IP protocol transmissions in order for cli nts to be able to access and interact with Web pages stored on the Web server.
  • the network is also equipped with at least one thin client server 118.
  • the thin client server 118 is a data processing system which is in data communications with the hub 116.
  • the thin client server 118 provides the function of running a data access application, such as a GIS program, or other extremely data-intensive application.
  • the data access applicatipn operates as it normally i would in a stand-alone oi LAN system; it accesses the data stored on the storage medium 110 through the database server 112. After retrieving the necessary data, it performs: calculations on that data.
  • the data access application will display the data or the results of its calculations in a particular format. Depending upon user command, the data or calculations may appear in graphical or textual form. The display may. appear on the monitor of the thin client server 118.
  • the thin client server 118 provides the additional functionality of the thin client interface for the data access application. It is important to note that the addition of a thin client interface need not require re-programming of the data access application.
  • Several commercially-available products, such as Citrix function to intercept' keyboard and display interrupts, redirecting that information ithrough a thin client interface.
  • the thin client server 118 provides a thin client interface which is accessible by an end user.
  • the thin client interface may communicate using any number of protocols, but will generally operate on: the TCP/IP protocol. Whatever protocol is offered through the thin client interface provided by the thin client server 118 must be supported
  • Access to the thin client servers 118 is provided to the end user :at a client machine 128 through the Internet 126.
  • the system may include a switch 120 to Ifilter packets and differeitiate between internal LAN- bound packets and Internet-bound packets.
  • a firewall 122 may be provided to restrict access to the internal network to> certain Transmission Control Protocol (TCP) ports and provide other access limitations for incoming and outgoing packets.
  • TCP Transmission Control Protocol
  • a router 124 may be used to route packets ifrom the firewall 122 to the Internet 126.
  • a client machine 128 is a data processing system which may access the Internet 126 via any number of methods, well-known to the art, including dial-up or dedicated connections, ISDN, Tl, 'DSL, or other data connections. Those skilled in the art will appreciate that upload and download paths for the client machine 128 need not be identical. For example, the client machine 128 may upload via dial-up 56K line, while downloading via satillite connection.
  • the client machine 128 is equipped with Web browser software and supports a TCP/IP connection to enable Web access to the end user.
  • FIG. 2 illustrates a hardware configuration of a data processing system 213.
  • the data processing system 213 includes a central processing unit (CPU) 210, such as a conventional microprocessor, and a number of other units interconnected via a system bus 212.
  • the data processing system 213 includes a random access memory (RAM) 214 and a read only memory (ROM) 216.
  • RAM random access memory
  • ROM read only memory
  • I/O adapter 218 for connecting peripheral devices such as hard storage units 220, (e.g. hard disk drives), and removable storage units 240, (e.g.
  • the CPU 210 may include other circuitry not shown herein, which will include circuitry found within a microprocessor (e.g. execution unit, bus interface unit, arithmetic logic unit (ALU), etc.). The CPU 210 may also reside on a single integrated circuit (IC).
  • IC integrated circuit
  • Fig.2 depicts the representative hardware environment depicted in Fig.2 not only to execute the system described, but also to execute client-side and server-side applications in client-server environments.
  • the software component of the instant invention is described with reference to Fig.3.
  • Fig.3 depicts the thin client server 338, the client 336, and the data server 340.
  • a data access program 312 such as a GIS software.
  • a data manipulation program such as Expeditor 310.
  • Both the data access program 312 and the data manipulatiqn program 310 are in data communication with the data server 340, specifically with the istored data 320 on the data server 340.
  • the data communication between the data server 340 and the thin client server 338 is provided via direct fast LAN connections 332, ⁇ 330.
  • the connection 330 between the data access program 312 and the stored data 320 is high speed, as is the connection 332 between the data manipulation program 310 and the stored data 320.
  • the function of the data access program 312 is to permit a user to view the stored data 320, or portions thereof, in a variety of different formats and with a variety of different filters.
  • the data access program 312 may include security features to permit a user to only view portions of the stored data 320, or only view the stored data 320 in certain formats (such as graphically, as opposed to a text format, or , at certain resolutions).
  • the function of the data manipulation program 310 is to locate requested blocks of stored data 320 and duplicate them to certain specifications.
  • the specifications for duplicated data may specify not only the coverage of such data, but may also include resolution and associated data specifications.
  • the data manipulation program 310 has the ability also to duplicate the data to a variety of computer data formats, such as dBase, Oracle, text, and the like. Additionally, the data manipulation program 310 may be able to download selected and specified data to a number of different media, including tape or cartridge, removable hard drive, or diskette, or may download the: resultant data directly to a destination via high-speed direct connection.
  • data manipulation program 310 is depicted as a program distinct and separated from the data access program 312, those skilled in the art will appreciate that the functions of the two programs 310, 312 'could be accomplished within a single program in an alternate embodiment.
  • the data manipulation program 310 and the data access program 312 may be subsystems to a main program or simply different functions of a singular program.
  • communications between the programs 310, 312 may be accomplished by means of parameter passing or shared variable or data storage.
  • the data access program 312 provides display output to a thin client server program 318, such as Citrix or similar thin client server package.
  • the thin client server program 318 communicates the display output over a relatively slow connection 326, such as the Internet, to a thin client program 316 on the client 336.
  • the thin client program duplicates the display output into a window within the Web browser program 314 on the client 336.
  • the thin client program 316 When the user at the client 336 generates input into the Web browser program 314, that input is conveyed to the thin client program 316 and in turn communicated over the slow data connection 326 to the thin client server program 318.
  • the thin client server program 318 in turn simulates the input to the data access program 312.
  • the transmission over the slow data connection 3.26 may be encrypted to add additional security to the system.
  • the data access program 312 may send a designated hidden code to the Web browser program 314 through the thin client server program 318 and the thin client program 316.
  • the hidden code would include a determined location on the data server 340 which the Web browser program 314 should display.
  • the Web browser program 314 would then access the stored data 320 on the data server 340 directly at the specified location via a separate communications link 328.
  • the thin client 316 monitors the input from the client 336 to determine when return to the thin client model is appropriate.
  • limited acicess to the stored data 320 may be provided in an efficient and secure manner.
  • a user at the client 336 can view, at specified resolutions, the stored data 320 and can obtain information such as the availability and quality of the data within the stored data 320.
  • the amount and format of the data to which the user has access is controlled by the data access program 312. As neither the data access program 312 nor the stored data 320 ⁇ are passed to the client 336 in any form, security and efficiency is enhanced. First, less bandwidth is required on the communication link 326 because it transmits only the display and input data between the client 336 and the thin client server 338.
  • security is improved because the data access program 312 cannot be decompiled or otherwise analyzed as to its operation and interaction with the stored data 320, because it is never actually executed by the client 336.
  • the communications between the clie it 336 and the thin client server 338 may be encrypted for enhanced security.
  • access to the data : manipulation program 3;10 can be provided at the client 336 and the Web browser program 314 through the same thin client server program 318 and thin client program 316.
  • Such access provides the user at the client 336 the abilityito directly specify portions of the stored data 320 to be duplicated, as well as its parameters (format, resolution,! etc.).
  • the data manipulation program 310 may be able to provide for automatic delivery of the duplicated data as well.
  • the data access program 312 and data manipulation program 310 are coupled with an on-line sale facility (not shown) embodied in la Web server and CGI system.
  • an on-line sale facility not shown
  • the user would be able to determine the availability of data for purchase, select such data for purchase, execute the purchase, and direct delivery of the data without any human intervention on the selling side.
  • real-time "chat" or video teleconference communications' facilities may supplement the system to incorporate the ability to negotiate for blocks of data on-line in a single forum.
  • the client 412 communicated over a large bandwidth connection 414 to the server 410.
  • the server 410 provided applet programming and a data set to the client 412.
  • the applet programming and the data set would simply be transferred to the (tlient 412 more slowly, forcing the end user to wait for access to the application.
  • the access: to the large data set is provided by only sending screen display data and keyboard input data between the client 418 and the server 416. Because; especially with very large data sets, the amount of data transferred between the client 418 and the server 416 is greatly reduced, response time to the client 418 is improved, encryption is more feasible and a smaller bandwidth connlection 420 may be used.
  • the instant invention has the additional added advantage of equalizing the upload of data with the download of data over a bi-directional connection.
  • the ratio of uploaded data to downloaded data was very low. Accordingly,: uploading bandwidth was underutilized and wasted. Under the instant invention, the ratio is much higher, approaching 1:1, providing a more efficient use of bi-directional connections.
  • the instant invention presents an ideal system for the distribution of extremely large data sets over a wide area network.
  • extremely large data sets may include seismic data, drilling well data, real estate data, astronomic data, telemetry data, particulate analysis data, and the like.
  • any data set which is large in size or which requires extensive interpretation in order to make a meaningful presentation to the user is an ideal candidate foil the instant invention.

Abstract

The instant invention combines thin-client technology (118) and extremely large data set (110) management programs, such as Geographic Information Systems (GIS). The data set management program accesses the data (110) may manipulate it and communicates only display data to the user (128). The invention may include on-line ordering facilities to provide an automated sole process for portions of the large data set (110) to the user (128). By only communicating via a thin-client the system (118) provides security and manageability to system users (128). The resulting invention also provides to customers (128) the ability to view extremely large data sets (110) in a sophisticated environment without the necessity of the waiting time associated with downloading large applets and data files.

Description

CLIENT-SERVER SYSTEM
TECHNICAL FIELD
The instant invention relates in general to a client-server .system design and programming. More specifically, the instant invention is a system and method to use a client-server system to distribute the benefits oflarge, proprietary data sets via open wide area networks.
BACKGROUND INFORMATION
The client-server system has expandedito a global enterprise through the use of a Transmission Control Protocal/Internet Protocol (TCP/IP) protocol-based system, popularly called "the Internet." The Internet connects many different types of computers, belonging to many different types of users, each of whom is using the computers for different purposes. The great diversity of the Internet has led to a variety of facilities designed for use with the Internet to permit user access to various resources. For example, the Gopher model permitted data access over the Internet using a certain type of Gopher interface at the client side. The Gopher model found primary use in accessing tree-structured data. I Another facility is the File Transfer Protocol (FTP) facility, popularly used to transfer files from server to client and back.
One key facility of the Internet is the provision for domain names. Under the TCP/IP protocol, each computer on the network is assigned a numerical network address consisting of four numbers separated by periods. Each number may range from zero to 255. However, addresses such as 216.70.140.77 can be very difficult fto remember. Domain names address this problem by permitting an association between an alphanumeric name (such as "bakerhughes.com") with a TCP/IP numerical address. Accordingly, to access a company, one need only i type into a computer the company's easily-remembered alphanumeric name.
Another very popular facility is a facility called the World Wide Wefy or "Web". The World Wide Web .is a client-server facility based originally in the HyperText Markup Language (HTML). Servers maintain files of HTML code at various address locations throughout the Internet. A user at a client machine may access and run the HTML code through the use of a browser, such as Netscape Navigator or Microsoft Internet Explorer. When the user points the browser to an address, the browser downloads the web page there and displays it upon the screen. An important feature of the HTML language is that of the hyperlink, or "link". A programmer using HTML may program a certain page to be displayed on the client computer. Within that page, a programmer may embed "links" to other pages, so that when the user at the client computer activates a link (typically by clicking with a pointing device, such as a mouse), a new page from a different address is displayed. ;
With the World Wide Web facility at users' disposal, the Internet has become a common mode of communication and data exchange. The Web provides an interface simple enough for the user that particular computer knowledge is not required. Users need not type any domain names or Internet addresses in order to access the information they seek. Rather, users, may navigate via linds toi search and view information.
The World Widel Web facility has advanced with the creation of more advanced programming languages that permit the writing of more advanced programs for execution within the browser interface. Examples of these languages include Java, JScript, and JavaScript. These languages permit the creation of "applets", or mini-applications, which are transmitted to, compiled on, and executed by the client machine. By using applets, users have the ability to access more complex programs via a Web interface. As a result, more power is conveyed to the Internet user, i
Another facility which has appeared on the Internet is called the1 "thin client." Thin client technology operates on the principle of creating a client-server relationship between two machines so that only the input and output information from the server is transmitted to the client machine. With a thin client, an application executed on the server can be run "remotely" from the client without the application being transmitted to the client machine! Only the application's screen output at the server is transmitted to the client for display on the client machine. At the same time, keyboard and other input at the client machine is transmitted to the server and input into the program executing on the server.
The result of the development of these facilities and the Internet has been an explosion in the demand for on-line access to different types of data. Unfortunately, the Internet has several shortcomings that detract from its ability to serve as a universal medium for data communications. The Internet is comprised of thousands of servers interconnected for cbmmunications purposesj Information sent over the Internet is broken into chunks called "packets" by the source computer. Packets are forwarded from the source computer to an intermediate server. From there, the packets may be forwarded to any number of intermediate servers before re&ching the intended destination computer. At the destination computer, the packets are re-assembled.
The number of intermediate servers, and the connections between them, are not a constant in the Internet. Accordingly, a packet sent to one computer may only pass through four or five servers, while a packet sent to another computer may pass through twenty or more servers. At each server, packets may be delayed by poor communications connections, priority given to other packets, an overload of packets, hardware or software failures, or any number of other reasons. As a result, Internet communications do not occur at a fixed or calculable speed. Real-time communications are problematic and maybe slowed, interrupted or their quality degraded. The problems encountered with real-time communications are frequently exponentially related to the amount of data passing from a server machine to the client machine and back. As the Internet acquires more and more users, these speed problems also compound.
In addition to the real-time speed problems, the Internet suffers froim security problems. Since each packet of information passes through several server computers en route to its final destination, each leg in the journey provides an opportunity for compromise. Any of the server owners may install "sniffer" programs to examine incoming packets, looking for and copying specific types of information being transmitted via their server. A rogue programmer, frequently called a "hacker", who surreptitiously gains access to a server may also install a sniffer, or a number of other programs designed to interrupt or divert the information transmitted.
Security problems may be addressed by the use of encryption technology, either manually or through a virtual private network (VPN) system. However, the application of encryption and decryption algorithms to data generally results in I additional performance degredations.
As customers become more and more sophisticated, obtaining the computer equipment and requisite; connections to be able to regularly access the Internet, those customers increasingly demand the ability to order products and services via the Internet. In the context of office supplies, computer equipment, and the like, these needs are easily met with purchasing Web sites describing the products and their prices. Those Web sites can accept credit card information in an encrypted format, and the limited nature of the encrypted information (e.g. credit card number and expiration date) does not greatly affect performance.
Some software venders offer software that a customer may download after entering credit card information via a Web pa"ge. In these cases, a description of the program can be provided to permit a user the ability to make an informal purchase decision.
With all of the advances in Internet technology, however, one particular client-server need remains unaddressed. No existing technology appropriately addresses the management and: sale of extremely large data sets, such as seismic data. Generally, customers of these eJ tremely large data sets purchase a subset of the data. The pricing of the data may vary based upon the resolution; the method of collection,: and the age of the data. However, selection and availability of the data remain very large issues; not every data set encompasses the range or criteria desired by the customer. Presently, several companies offer systems based on applet technology. These systems download a customized applet program and subsets or summary sets of the extremely large data sets to clients for viewing. By using the applet, customers may view the availability of the data and some information regarding its collection and other statistics.
One disadvantage to these systems is that a system must download all of its data to the client machine; at least in some summary format. Not only does such a download process increase the waiting time at the client machine, such downloadsi also make the system susceptible to compromise. Additionally, these applet systems must be custom programmed, adding to development time.
What is needed in the art is a more efficient method of communicating information regarding extremely large data sets to customers of those data sets, so that those customers can obtain availability and specification information regarding the data set and ultimately make a purchase decision using that information.
SUMMARY OF THE INVENTION
The instant invention addresses the needs of the art in that it provides a more efficient and secure system and method of communicating information regarding extremely large data; sets to customers of those data sets. In certain embodiments, the invention may also provide for the purchase and automatic delivery of portions of those data sets.
The instant invention combines thin client technology with on-line ordering technology and large data set management programs, such as Geographic Information Systems (GIS). The resulting novel system provides security and manageability to system users. In addition, the resulting system does not require the degree of customized programming required in applet systems. The resulting invention also provides to customers the ability to view extremely large data sets in a sophisticated environment without the necessity of the wasted time associated with downloading laige applets and data files.
The foregoing outlines broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject df the claims of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS ,
For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions, taken in conjunction with the accompanying drawings, in which:
Fig. 1 is a system hardware diagram of a full system embodying the instant invention;
Fig. 2 is a detail system hardware diagram of a data processing system contemplated under the instant invention;
Fig. 3 is a system software diagram of a full system embodying the instant invention;
Fig.4a is a depiction of large data set access under the prior art; and
Fig.4b is a depiction of large data set access under the instant invention.
DETAILED DESCRIPTION OF THE INVENTION
In the following description, numerous specific details are set. forth such as computer programming languages, database structures, computer operating systems, microprocessors, networks, bus systems, protocols, input/output (I/O) systems, etc., to provide a thorough understanding of the invention. However, it will be obvious to those skilled in the art that the present invention may be practiced without such specific details. In other instances, well-known protocols, data formats, computer equipment, and I/O systems have been shown in block diagram form in order to not obscure the present invention in unnecessary detail. For the most part, details concerning timing considerations, specific languages used, specific database structures used, specific data formats used, and the like have been omitted inasmuch as these details are not necessary to obtain a complete understanding of the present invention and are well within the skills of persons of ordinary skill in the art.
The instant invention is a system and method for communicating information regarding an extremely large data set over a wide area network, such as the Internet. A system conforming to the instant invention is demonstrated with reference' to Fig. 1. Fig. 1 depicts an extremely large data set stored on at least one storage medium 110. The storage medium may be a CD-ROM, a hard drive, a hard drive array, or any other number of storage systems well known within the art. While any of these storage media will function under the present invention, those skilled in the art will recognize that hard drive arrays permit flexibility, expandability, and can provide a degree of fault tolerance, depending upon the array selected. For example, a Redundant Array of Inexpensive Disks (RAID) Level 5 array will provide fault tolerance and data striping to enhance array performance. : The instant invention does not depend upon the format of the data stored on the storage medium. As depicted in Fig. 1, the data may be stored in an Oracle format. Those skilled in the art will appreciate that data may be stored in dBase, I comma or tab-delimited, text, Access, or any other number of database formats, including customized database formats, and maintain the same operation and benefits of the instant invention.
The invention contemplates at least one database server 112, 114. Each database server is a data processing system configured to access the data stored on the storage medium 110. The database servers 112, 114 may be of any of several types well-known in the art, but are depicted as Oracle servers in conformance with the data format shown for the data stored on the storage medium 110. One or more of the database servers 112, 114 may also serve as a Web server 114 to provide HTML or applet-coded Web pages to customers to supplement the present invention. The Web server 114 functions mainly as a storage device, providing copies of stored HTML or applet code upon request from a client machine. It will be appricated that, although a dual-function server 114 is diagramed, a separate Web server could be utilized to achieve a greater performance, sacrificing a cost benefit. In the alternative, the Web server 114 may be omitted.
If a Web server 114 is used, it may be supplemented with a Common Gateway Interface (CGI) server 130. The CGI server is also a data processing system which functions to process any data submitted by end users via a Web page served by the Web server 114. Through the use of the CGI server, the system may providp dynamic interaction with the end user. The CGI server may also, in one embodiment, serve a dual-purpose role, providing additional functionality as a mail server for the system.
The database servers, any web servers, and any CGI server 112, 114, 130 are joined in a local areal network (LAN) over a hub 116 so as to provide data communications between them and the other components of the system; Such a LAN system will generally provide for relatively high-speed communications between the database servers, anyi web servers, and any CGI server 112, 114, 130. It is noted that the protocol of the LAN isystem can be one of any ;of the well-known networking protocols (e.g. TCP/IP, Internetwork Packet eXchange (IPX), Sequenced Packet exchange (SPX), etc.), however the Web server 114, the CGI server 130 and the hub 116 must support TCP/IP protocol transmissions in order for cli nts to be able to access and interact with Web pages stored on the Web server.
The network is also equipped with at least one thin client server 118. The thin client server 118 is a data processing system which is in data communications with the hub 116. The thin client server 118 provides the function of running a data access application, such as a GIS program, or other extremely data-intensive application. The data access applicatipn operates as it normally i would in a stand-alone oi LAN system; it accesses the data stored on the storage medium 110 through the database server 112. After retrieving the necessary data, it performs: calculations on that data. In many cases, the data access application will display the data or the results of its calculations in a particular format. Depending upon user command, the data or calculations may appear in graphical or textual form. The display may. appear on the monitor of the thin client server 118.
The thin client server 118 provides the additional functionality of the thin client interface for the data access application. It is important to note that the addition of a thin client interface need not require re-programming of the data access application. Several commercially-available products, such as Citrix, function to intercept' keyboard and display interrupts, redirecting that information ithrough a thin client interface. Through the use of these thin client products, the thin client server 118 provides a thin client interface which is accessible by an end user.
The thin client interface may communicate using any number of protocols, but will generally operate on: the TCP/IP protocol. Whatever protocol is offered through the thin client interface provided by the thin client server 118 must be supported|by the hub 116. Those skilled in the art will appreciate that the protocol supported by the database servers 112 must also be a protocol supported by the thin client server 118, so that communications between the data access applicatiφn and the data servers 112, 114 may be established.
Access to the thin client servers 118 is provided to the end user :at a client machine 128 through the Internet 126. In order to provide access to the Internet 126 without the sacrifice of security on the LAN managed by the hub 116, the system may include a switch 120 to Ifilter packets and differeitiate between internal LAN- bound packets and Internet-bound packets. A firewall 122 may be provided to restrict access to the internal network to> certain Transmission Control Protocol (TCP) ports and provide other access limitations for incoming and outgoing packets. Finally, a router 124 may be used to route packets ifrom the firewall 122 to the Internet 126.
Those skilled in the art will appreciate that the functionality of the hub 116 and the switch 120 may be combined in a single box. Likewise, there are commercially-available routers 124 which incorporate firewall 122 programming, for a single-box solution. These and other types of multi-function peripherals could be used within the instant system, all falling within the scope of the instant invention.
A client machine 128 is a data processing system which may access the Internet 126 via any number of methods, well-known to the art, including dial-up or dedicated connections, ISDN, Tl, 'DSL, or other data connections. Those skilled in the art will appreciate that upload and download paths for the client machine 128 need not be identical. For example, the client machine 128 may upload via dial-up 56K line, while downloading via satillite connection. The client machine 128 is equipped with Web browser software and supports a TCP/IP connection to enable Web access to the end user.
A representative data processing system, suitable for use as a server or a client within the present invention, is depicted with, reference to Fig. 2. Fig. 2 illustrates a hardware configuration of a data processing system 213. The data processing system 213 includes a central processing unit (CPU) 210, such as a conventional microprocessor, and a number of other units interconnected via a system bus 212. The data processing system 213 includes a random access memory (RAM) 214 and a read only memory (ROM) 216. Also included are ah I/O adapter 218 for connecting peripheral devices such as hard storage units 220, (e.g. hard disk drives), and removable storage units 240, (e.g. diskettes, tapes, and the like),' to the bus 212, a user interface adapter 222 for connecting a keyboard 224, a mouse 226 and/or other user interface devices such as a touch screen device (not shown) to the bus 212, a communication adapter 234 for connecting the data processing system 213 to a data processing network 242, and a display adapter 236 for connecting the bus 212 to a display device 238, such as a monitor. The CPU 210 may include other circuitry not shown herein, which will include circuitry found within a microprocessor (e.g. execution unit, bus interface unit, arithmetic logic unit (ALU), etc.). The CPU 210 may also reside on a single integrated circuit (IC).
Those skilled in the art will appreciate that the representative hardware environment depicted in Fig.2 may be suitable not only to execute the system described, but also to execute client-side and server-side applications in client-server environments. The software component of the instant invention is described with reference to Fig.3. Fig.3 depicts the thin client server 338, the client 336, and the data server 340. Within the thin client server 338, there is a data access program 312, such as a GIS software. There may also be, in one embodiment, a data manipulation program, such as Expeditor 310. Both the data access program 312 and the data manipulatiqn program 310 are in data communication with the data server 340, specifically with the istored data 320 on the data server 340. The data communication between the data server 340 and the thin client server 338 is provided via direct fast LAN connections 332, ι330. As a result, the connection 330 between the data access program 312 and the stored data 320 is high speed, as is the connection 332 between the data manipulation program 310 and the stored data 320. I
The function of the data access program 312 is to permit a user to view the stored data 320, or portions thereof, in a variety of different formats and with a variety of different filters. The data access program 312 may include security features to permit a user to only view portions of the stored data 320, or only view the stored data 320 in certain formats (such as graphically, as opposed to a text format, or , at certain resolutions).
The function of the data manipulation program 310 is to locate requested blocks of stored data 320 and duplicate them to certain specifications. The specifications for duplicated data may specify not only the coverage of such data, but may also include resolution and associated data specifications. The data manipulation program 310 has the ability also to duplicate the data to a variety of computer data formats, such as dBase, Oracle, text, and the like. Additionally, the data manipulation program 310 may be able to download selected and specified data to a number of different media, including tape or cartridge, removable hard drive, or diskette, or may download the: resultant data directly to a destination via high-speed direct connection.
While the data manipulation program 310 is depicted as a program distinct and separated from the data access program 312, those skilled in the art will appreciate that the functions of the two programs 310, 312 'could be accomplished within a single program in an alternate embodiment. In such an alternative embodiment, the data manipulation program 310 and the data access program 312 may be subsystems to a main program or simply different functions of a singular program. In such a scenario, communications between the programs 310, 312 may be accomplished by means of parameter passing or shared variable or data storage.
The data access program 312 provides display output to a thin client server program 318, such as Citrix or similar thin client server package. The thin client server program 318 communicates the display output over a relatively slow connection 326, such as the Internet, to a thin client program 316 on the client 336. The thin client program duplicates the display output into a window within the Web browser program 314 on the client 336.
When the user at the client 336 generates input into the Web browser program 314, that input is conveyed to the thin client program 316 and in turn communicated over the slow data connection 326 to the thin client server program 318. The thin client server program 318 in turn simulates the input to the data access program 312. The transmission over the slow data connection 3.26 may be encrypted to add additional security to the system. Those of the art will appreciate that since the amount of data exchanged between the thin client program 316 and the thin client server program 318 is not substantial, such encrypted does not have the degenerating effect that would be associated with encrjφting an entire section of a data set. When it is more efficient for the Web browser program 314 to directly display certain portions of data (for example, data sheets describing the metes and bounds of data within the stored data 320), the data access program 312 may send a designated hidden code to the Web browser program 314 through the thin client server program 318 and the thin client program 316.: The hidden code would include a determined location on the data server 340 which the Web browser program 314 should display. The Web browser program 314 would then access the stored data 320 on the data server 340 directly at the specified location via a separate communications link 328. In the event that such a reference is made, the thin client 316 monitors the input from the client 336 to determine when return to the thin client model is appropriate.
By proper configuration of the data access program 312, limited acicess to the stored data 320 may be provided in an efficient and secure manner. A user at the client 336 can view, at specified resolutions, the stored data 320 and can obtain information such as the availability and quality of the data within the stored data 320. The amount and format of the data to which the user has access is controlled by the data access program 312. As neither the data access program 312 nor the stored data 320ι are passed to the client 336 in any form, security and efficiency is enhanced. First, less bandwidth is required on the communication link 326 because it transmits only the display and input data between the client 336 and the thin client server 338. Second, security is improved because the data access program 312 cannot be decompiled or otherwise analyzed as to its operation and interaction with the stored data 320, because it is never actually executed by the client 336. As noted, the communications between the clie it 336 and the thin client server 338 may be encrypted for enhanced security.
In a similar manner, access to the data : manipulation program 3;10 can be provided at the client 336 and the Web browser program 314 through the same thin client server program 318 and thin client program 316. Such access provides the user at the client 336 the abilityito directly specify portions of the stored data 320 to be duplicated, as well as its parameters (format, resolution,! etc.). In some embodiments, the data manipulation program 310 may be able to provide for automatic delivery of the duplicated data as well.
In one embodiment of the invented system and method, the data access program 312 and data manipulation program 310 are coupled with an on-line sale facility (not shown) embodied in la Web server and CGI system. In such a system, the user would be able to determine the availability of data for purchase, select such data for purchase, execute the purchase, and direct delivery of the data without any human intervention on the selling side. In an alternate embodiment, for use when data sets are not traded at fixed prices, real-time "chat" or video teleconference communications' facilities may supplement the system to incorporate the ability to negotiate for blocks of data on-line in a single forum.
The operation of the instant invention and its benefits are exhibited with reference to Figs. 4ai and 4b. Under the prior lart, the client 412 communicated over a large bandwidth connection 414 to the server 410. The server 410 provided applet programming and a data set to the client 412. In the event that a large bandwidth connection 414 was not available, the applet programming and the data set would simply be transferred to the (tlient 412 more slowly, forcing the end user to wait for access to the application.
Under the instant invention, the access: to the large data set is provided by only sending screen display data and keyboard input data between the client 418 and the server 416. Because; especially with very large data sets, the amount of data transferred between the client 418 and the server 416 is greatly reduced, response time to the client 418 is improved, encryption is more feasible and a smaller bandwidth connlection 420 may be used.
The instant invention has the additional added advantage of equalizing the upload of data with the download of data over a bi-directional connection. Under the prior art, the ratio of uploaded data to downloaded data was very low. Accordingly,: uploading bandwidth was underutilized and wasted. Under the instant invention, the ratio is much higher, approaching 1:1, providing a more efficient use of bi-directional connections.
Those skilled in the art will recognize that the instant invention presents an ideal system for the distribution of extremely large data sets over a wide area network. Examples of extremely large data sets may include seismic data, drilling well data, real estate data, astronomic data, telemetry data, particulate analysis data, and the like. In summary, any data set which is large in size or which requires extensive interpretation in order to make a meaningful presentation to the user is an ideal candidate foil the instant invention.
As to the manner: of operation and use of the present invention, the same is made apparent from the foregoing discussion. With respect to the above description, it is to be realized that although embodiments of specific material, representations,; databases, and languages are disclosed, those enabling embodiments are illustrative and the optimum relationships for the parts of the invention are to include variations in composition, form, protocol, function, and mamier of operation, which are deemed readily apparent to one; skilled in the art in view of this disclosure. All relevant relationships to those illustrated in the drawings and this specification are intended to be encompassed by the preέent invention.
Therefore, the foregoing is considered as illustrative of the principles of the invention and since numerous modifications will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation shown or described. All suitable modifications and equivalents may be resorted to, falling within the scope of the invention.
PCT/US2001/024578 2000-08-04 2001-08-06 Client-server system WO2002013022A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0207783A GB2392259B (en) 2000-08-04 2001-08-06 Client-server system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US22306800P 2000-08-04 2000-08-04
US60/223,068 2000-08-04

Publications (2)

Publication Number Publication Date
WO2002013022A1 true WO2002013022A1 (en) 2002-02-14
WO2002013022A9 WO2002013022A9 (en) 2003-11-20

Family

ID=22834881

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/024578 WO2002013022A1 (en) 2000-08-04 2001-08-06 Client-server system

Country Status (2)

Country Link
GB (1) GB2392259B (en)
WO (1) WO2002013022A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1780982A1 (en) * 2005-10-26 2007-05-02 Alcatel Lucent Communication system, terminal and server for communication services plus method to provide communication services

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5913029A (en) * 1997-02-07 1999-06-15 Portera Systems Distributed database system and method
US5920863A (en) * 1997-05-31 1999-07-06 International Business Machines Corporation System and method for supporting transactions for a thin client lacking a persistent store in a distributed object-oriented environment
US5987256A (en) * 1997-09-03 1999-11-16 Enreach Technology, Inc. System and process for object rendering on thin client platforms

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5913029A (en) * 1997-02-07 1999-06-15 Portera Systems Distributed database system and method
US5920863A (en) * 1997-05-31 1999-07-06 International Business Machines Corporation System and method for supporting transactions for a thin client lacking a persistent store in a distributed object-oriented environment
US5987256A (en) * 1997-09-03 1999-11-16 Enreach Technology, Inc. System and process for object rendering on thin client platforms

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1780982A1 (en) * 2005-10-26 2007-05-02 Alcatel Lucent Communication system, terminal and server for communication services plus method to provide communication services

Also Published As

Publication number Publication date
GB2392259B (en) 2004-06-30
GB2392259A (en) 2004-02-25
GB0207783D0 (en) 2002-05-15
WO2002013022A9 (en) 2003-11-20

Similar Documents

Publication Publication Date Title
US6757706B1 (en) Method and apparatus for providing responses for requests of off-line clients
US5826242A (en) Method of on-line shopping utilizing persistent client state in a hypertext transfer protocol based client-server system
EP0981885B1 (en) Apparatus and method for identifying clients accessing network sites
JP4971552B2 (en) Method, system and program for ordering goods in a global computer network environment
US6859910B2 (en) Methods and systems for transactional tunneling
US20050240558A1 (en) Virtual server operating on one or more client devices
US20080134018A1 (en) Component for Coordinating the Accessing and Rendering of an Application Media Package
KR20020038704A (en) Geographic data locator
US7827238B2 (en) Exchanging data using programmatic conversion to emulated HTML form data
JPH10162030A (en) Method and device for rendering hyperlink information
WO1997018515A1 (en) A method and apparatus for configurable value-added network (van) switching and object routing
AU2001293078A1 (en) Transaction management system
Kapyla et al. Towards an accessible web by applying push technology
WO2002013022A1 (en) Client-server system
US6915341B2 (en) System for sending messages to all users in a web hosting environment
Ge et al. E-commerce and computer science education
US20050060384A1 (en) Providing hyperlinks in web documents linkable to other alternative web documents in a world wide web network
EP1998529A2 (en) Secure access to one network from another network
Sairamesh et al. Wireless trading in B2B markets: concepts, architecture, and experiences
Mitchell Structured systems development for an Internet service provider using a modified systems development life cycle approach including analysis, design, and implementation
Collin Setting up a web server
US20040107206A1 (en) Automated retrieval of data from remote location and database synchronization
WO2000060490A2 (en) Architecture for and method of collecting survey data in a network environment
Java et al. ewc 5
Honey THIN COMPUTING

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): GB US

ENP Entry into the national phase

Ref document number: 0207783

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20010806

WWE Wipo information: entry into national phase

Ref document number: 0207783

Country of ref document: GB

COP Corrected version of pamphlet

Free format text: PAGES 20-30, CLAIMS, ADDED PAGES 20-30, REVENDICATIONS, AJOUTEES