System and method for dynamic selection of database...

Electrical computers and digital processing systems: multicomput – Computer-to-computer data modifying

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S203000, C709S217000

Reexamination Certificate

active

06782431

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to local and wide area computer networks, and more particularly to database access by heterogenous computer clients
etwork appliances and other pervasive computing devices via the World Wide Web.
2. Description of the Related Art
The World Wide Web (hereinafter “Web”) is a portion of the Internet that includes computer sites, referred to as “Web sites”, which contain information. Typically, a Web site is a collection of software pages in a computer, referred to as a Web server computer, with the software pages being coded in mark-up language code (e.g., Hypertext Markup Language (HTML)). Client computers throughout the world can access the Web sites to retrieve the information contained in the Web pages.
As the Web has developed, Web sites have begun to offer more than just data access to information encoded in mark up languages on Web pages. More specifically, many Web sites contain databases that can be accessed by a database application program, to return information sought by client computers. As an example, the Web site of an airline company might incorporate a database of flight schedules and an associated database application program for searching the database, to permit a client computer to search for and select available flights from a flight database, and then to purchase tickets online, via the Web site.
One conventional way of undertaking a query (search/update) of a Web database is for a client computer to send the request to the Web server, which invokes an interface program using, e.g., a common gateway interface (CGI), FastCGI, or Web server application programming interface (API). In turn, the interface program accesses the database application program that is on the Web server to execute the query. The results are formatted in mark up language by the interface program and then returned via the Web server to the client computer as a Web page. Thus, in this method all database search and processing logic is executed by the Web server.
It happens that it is sometimes advantageous that a client computer execute database search logic, particularly when, e.g., the Web server is busy, to increase the speed with which the Web server can address multiple client computers. Accordingly, in an alternate scheme search logic is sent from a Web server to a client computer in response to a search request from the client, and the client computer then uses the search logic to issue a search query using a query API or equivalent, e.g., Java Database Connectivity (JDBC) code. The query is sent to a JDBC server that is at the Web site but that is separate and distinct from the Web server. Then, the JDBC server interfaces with the database application program to retrieve data that subsequently is unprocessed or only partially processed at the Web site, with the unprocessed or partially processed data being sent back through the chain to the search logic at the client computer for complete processing to, e.g., format and render the Web page using client computer processing resources.
As recognized by the present invention, the above-described scheme for permitting database processing at a client computer suffers several drawbacks. First, the communication between the client computer and the JDBC server (which, it will be recalled, is separate from the Web server) must be effected through access ports other than the port used to access the Web server. Because of this, client computers that are behind software-implemented security “firewalls” such as are provided to, e.g., corporate intranets, might not be permitted to undertake the method at all absent sophisticated and expensive firewall alterations, because many firewalls limit client computer access to only the port (conventionally, the port numbered 80) that is used to communicate with a Web server.
Moreover, owing to the fact that different paths must be used to communicate with the Web server and the JDBC server, the above-described scheme cannot be dynamically changed, but must be hard-wired into the Web site. In other words, the decision as to what site—the Web site or the client site—executes the database processing logic is made a priori and cannot be dynamically changed. This is undesirable because, as recognized herein, many types of network computing appliances with varying degrees of processor power access the Web, with some client appliances being capable of executing database processing logic and other client appliances not being so capable. For example, relatively powerful personal computers might access a Web site, but so might less powerful appliance processors, such as processors contained in cellular telephones or palm-top computers, or even processors in computer-controlled refrigerators and other labor-saving devices. Consequently, the above scheme is not easily scalable for use with a large number of client computers and it moreover is not possible in the case of some relatively low-capability network appliances.
Fortunately, the present invention recognizes that it is possible to overcome the above-noted problems efficiently and effectively.
SUMMARY OF THE INVENTION
The invention is a general purpose computer programmed according to the inventive steps herein to dynamically determine whether to permit a web server to completely execute and process a dynamic web access, such as a query, in a request from a client computer, or to permit the client computer to at least partially process the request based on information provided by the web server computer, to thereby relieve processing load on the web server computer. The invention can also be embodied as an article of manufacture—a machine component—that is used by a digital processing apparatus and which tangibly embodies a program of instructions that are executable by the digital processing apparatus to undertake the present invention. This invention is realized in a critical machine component that causes a digital processing apparatus to perform the inventive method steps herein.
In accordance with the present invention, a computer system includes a client computer having a processing capability and communicating one or more data requests to a web server of a web site, with the web server having access to server data. Logic means are provided for selectively causing server data to be processed at the client computer or at the server computer site, based at least in part on the processing capability of the client computer. As intended by the present invention, the processing of the server data, when undertaken by the client computer, renders a formatted data structure, e.g., a web page or an XML document.
In one preferred embodiment, logic means transmit, to the client computer, code or other logic means for processing the server data when the client computer is to render the server data into an application data format or into a web page in markup language, such as HTML or XML. Also, in the preferred embodiment logic means are provided at the server computer for determining the processing capability of the client computer, based on at least one data request. Moreover, the client computer communicates with the server computer via a first communication port, and the means for processing is transmitted to the client computer via the first communication port, to avoid firewall impediments to the present logic.
If desired, logic means can be provided for causing the server data to be processed at the server computer site when a processing load on the server computer is below a threshold. Also, logic means can be provided for causing the server data to be processed at the server computer site when a data request from the client computer indicates that the server computer is to process server data to render a formatted data structure, regardless of the processing capability of the client computer.
In another aspect, a computer program device includes a computer program storage device readable by a digital processing apparatus, and a program means on the program storage d

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System and method for dynamic selection of database... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System and method for dynamic selection of database..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for dynamic selection of database... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3305564

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.