Constraint language parser which rejects invalid filter...

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S143000, C707S793000, C707S793000, C707S793000

Reexamination Certificate

active

06397383

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates generally to computer networks, and more particularly in notification services for such computer networks.
BACKGROUND OF THE INVENTION
Sometimes, users of a computer network wishes to receive certain types of information from their network. For example, a stockbroker may wish to be notified of the price of a particular stock when the price changes. One way for the network to provide this type of service is to use the Notification Service of COMPONENT BROKER, a Common Object Request Broker Architecture (CORBA)-based service developed by INTERNATIONAL BUSINESS MACHINES CORPORATION, which is an extension of Object Management Group (OMG) services. CORBA is a standard for distributed objects in a computer network and provides the mechanisms by which objects transparently make requests and receive responses. The OMG is a consortium of software vendors and end users. Many OMG member companies are developing commercial products that support these standards and/or are developing software that use this standard. Component Broker and CORBA are well known in the art and will not be discussed in detail here.
FIG. 1
illustrates a conventional computer network which may offer the Notification Service of Component Broker. The computer network
100
comprises a server
102
and a plurality of workstations
104
. The server
102
contains the Component Broker software
106
. Software applications
108
, residing on the server
102
and/or the workstations
104
, operate with the Component Broker
106
. A user at a workstation
104
may inform the Component Broker
106
that he/she wishes to be notified when a certain event occurs, such as the change in price stock. The Component Broker
106
monitors events from the application
108
. When an event occurs which matches the user's wish, the Component Broker
106
sends a message to the user with information concerning the event.
However, users typically do not wish to be inundated with all available information concerning a topic. For example, the stock broker may wish only to be notified when a particular company's stock price changes to below $100 per share and does not wish to be notified otherwise. The Component Broker
106
accommodates the user by allowing him/her to enter constraints in their requests for notification, using a constraint language. The constraints entered by the user is referred to as the “constraint string”. For example, the stock broker may enter the following constraint string:
($company==‘IBM’) AND ($stockprice<100.00).
“$company” and “$stockprice” are variables, with “$company” referring to the name of the stock, and “$stockprice” referring to the stock's current price. “==”, “AND”, and “<” are operators. “IBM” is a character string which is surrounded by single quotes. The user's constraint string thus informs the Component Broker
106
that the user wishes to be notified of all events concerning IBM stock below a current price of $100. The constraint language of the Component Broker
106
is well known in the art and will not be discussed in further detail here.
When the user inputs a constraint string, the Component Broker
106
checks for syntax errors. Examples of errors include:
mismatched grouping operators: $a*($b+$c))
invalid mathematical operator: $a++1
invalid comparative functions: $a=1
unsupported Boolean connectives: ($a>1) xnor ($b>1)
“$” is missing for a variable: a>1
The conventional method of checking the constraint string for errors performs the checking when the Component Broker
106
first receives the constraint string from the user. If an error is found, then the constraint string is rejected immediately. If no errors are found, the Component Broker
106
accepts it as a valid constraint string and proceeds to process the notification request by monitoring events from the application
108
. However, the error checking occurs on a case by case basis, i.e., the Component Broker
106
checks for known and predictable types of errors. Unfortunately, a constraint string could be invalid in an infinitive number of ways. To detect every possible error in the constraint string is almost an impossible task since it is almost impossible to anticipate or predict all of the possible errors a user may make. Thus, errors are not always detected. If a constraint string with an error is not detected, the Component Broker accepts the constraint string as a valid constraint string, and the error is not detected until the Component broker
106
attempts to process the constraint string during run time. Only when the Component Broker
106
attempts to match an event with the constraint string, and cannot due to the error, will the Component Broker
106
detect the error. By the time the error is detected, a significant time period could have already passed from the time the constraint string was entered by the user. This time period could be hours, days, weeks, or even months. This wastes valuable time, and the requesting user will fail to receive the requested notifications.
Accordingly, what is needed is a system and method for providing a parser for a constraint language in a computer network. The parser should detect all invalid constraints and should be easy to implement. The present invention addresses such a need.
SUMMARY OF THE INVENTION
The present invention provides a system and method for parsing a constraint language in a computer network. The method includes receiving a constraint string; parsing the constraint string, comprising replacement of valid operators, variables, and values with special characters; and determining if the parsed constraint string indicates the existence of errors in the constraint string. The parser of the present invention is based upon an analysis of the constraint language from which patterns of the language are identified. The easily implemented parser of the present invention is developed based on these patterns. Because the method of the present invention replaces members of a finite set of valid operators, variables, and values, instead of attempting to identify an infinite number of possible errors, it is able to detect all invalid constraints.


REFERENCES:
patent: 5276880 (1994-01-01), Platoff et al.
patent: 5475588 (1995-12-01), Schabes et al.
patent: 5627914 (1997-05-01), Pagallo
patent: 6182067 (2001-01-01), Presnell et al.
DIALOG Corporation, “Searching DIALOG: The Basics”, Knight-Ridder Information Inc., pp. i-iv, 1.1-1.8, 2.1-2.10, 3.1-3.6, 4.1-4.4, A.1-A.6, l.1, 1997.*
Klarlund et al., “Formal design constraints”, ACM, pp. 370-383, Oct. 1996.*
McKenzie et al., “Error repair in shift-reduce parsers”, ACM, pp. 672-689, Jul. 1995.*
Some et al., “Parsing minimization when extracting information from code in the presence of conditional compilation”, IEEE, pp. 118-125, Jun. 1998.

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

Constraint language parser which rejects invalid filter... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Constraint language parser which rejects invalid filter..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Constraint language parser which rejects invalid filter... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2879414

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