Method of maximizing servicing capability of large numbers...

Electrical computers and digital data processing systems: input/ – Input/output data processing – Input/output access regulation

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S041000, C709S241000, C709S241000, C707S793000, C707S793000, C707S793000

Reexamination Certificate

active

06647441

ABSTRACT:

The present invention generally relates to computer software and more particularly to an improved method of efficiently servicing large numbers of simultaneous IO descriptors that are mapped to IO devices or services such as network interfaces or interprocess communication.
Software modules that must service large numbers of IO descriptors
1
at once traditionally query each descriptor and then process the descriptor if there are actions that can be performed. (In this regard, descriptors can be read from or written to and such actions are referred to as activity herein.) This approach is optimal if there is maximum activity (or close to maximum) on all descriptors or if not, descriptor queries are very fast. Servicing large numbers of descriptors efficiently becomes more challenging however if there is maximum activity on relatively few and querying a descriptor for activity takes a relatively significant period of time and resources.
A descriptor is generally defined as an integer, string or other small data value, which refers to one of several objects allocated to a program by the operating system, usually the kernel.
Traditionally, prior implementations have not had these concerns since PCs and workstations are extremely fast and have adequate resources. However, two things have recently changed, i.e., the Internet has made much larger numbers of independent IO (input/output) points much more likely and network connectivity is becoming a much larger part of the embedded systems environment. As a result, implementations must now address these developments in the form of utilizing an algorithm module that maximizes efficiency and portability.
More specifically, an efficient algorithm must attempt to query the descriptors that are likely to have activity more often than those that do not. This insures that expensive queries that are made will more often result in descriptor activity being encountered. It also means that time and resources that might otherwise be used to discover no activity on potentially large numbers of descriptors be made available for the processing of busy descriptors. It must also recognize when descriptors change in their activity level relatively quickly, i.e., if a particular descriptor begins to have increased activity, it must be queried more often and if activity decreases, it must be queried less often. This dynamic adjustment must be performed continually to maintain maximum efficiency regardless of changing conditions. The algorithm also must eventually (within a reasonable period of time) query all descriptors, regardless of activity to insure that there is no starvation (lack of servicing) among descriptors. Lastly, it must have relatively minimal overhead and use standard, well known system interfaces, which facilitate portability, rather than specialized ones.
OBJECTS OF THE INVENTION
Accordingly, it is a primary object of the present invention to provide a method and algorithm module for servicing large numbers of IO descriptors which may include a large network environment that may include the Internet, which method and algorithm module achieves optimum efficiency and superior portability.
More particularly, it is an object of the present invention to provide an improved method and algorithm module which queries those descriptors that are most likely to have activity, but which also reliably queries all descriptors over time, and which dynamically adjusts the frequency of queries to optimize efficiency as conditions change, which results in faster movement of data through the system.
Yet another object of the present invention is to provide such an improved method and algorithm that can be used without significantly increasing overhead and without using specialized system interfaces.
Still another object of the present invention is to provide such an improved method and algorithm that can be easily installed and thereafter function as the interface between a software application and the standard IO interface facility known as select in a manner which does not require specialized help from the system environment or any conscious effort.
Other objects and advantages will be apparent from the following discussion in connection with the attached drawings.
SUMMARY OF THE INVENTION
The present invention comprises an efficient and portable method and algorithm module for servicing large numbers of IO descriptors which may interface to a large network environment or to a large number of IO devices and services. The method and algorithm module queries those descriptors that are most likely to have activity, but also reliably queries all descriptors over time, and dynamically adjusts the relative frequency of queries of each descriptor to maintain maximum efficiency as conditions change.
To satisfy portability requirements, the algorithm module becomes the interface between the application code processing the IO and the standard select facility and associated macros. This module allows an application to manage several IO points efficiently without specialized help from the system environment and without requiring any modification of methodology.


REFERENCES:
patent: 5165021 (1992-11-01), Wu et al.
patent: 5428526 (1995-06-01), Flood et al.
patent: 5469571 (1995-11-01), Bunnell
patent: 5488724 (1996-01-01), Firoozmand
patent: 6108683 (2000-08-01), Kamada et al.
patent: 6202107 (2001-03-01), Collier
patent: 6295553 (2001-09-01), Gilbertson et al.
patent: 6298410 (2001-10-01), Jayakumar et al.
patent: 6393503 (2002-05-01), Fishler et al.
patent: 6408277 (2002-06-01), Nelken
patent: 6412048 (2002-06-01), Chauvel et al.
patent: 6457097 (2002-09-01), Tamura
patent: 6515681 (2003-02-01), Knight
patent: 6545999 (2003-04-01), Sugita

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

Method of maximizing servicing capability of large numbers... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method of maximizing servicing capability of large numbers..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method of maximizing servicing capability of large numbers... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3150133

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