Optimizing Host Application Presentation Space Recognition Events Through Boundary Matching
Original Publication Date: 2000-Dec-01
Included in the Prior Art Database: 2003-Jun-18
Efficient Legacy Host Application Screen Recognition Through Boundary Monitoring This disclosure describes a method and apparatus for improving the efficiency of legacy host application screen recognition. Refer to the Host Application Presentation Space Recognition Producing Asynchronous Events disclosure (not in patent database, too old?), which essentially describes an API apparatus that generates recognition events when a screen matching a description provided by the user appears in the apparatus' presentation space. If a screen is matched, the user's program code is called and he may handle it anyway he chooses (scrape text, send keys, etc.). The system stores all the user's screen descriptions internally in a vector object and just iterates through the vector for every screen sent from the host. This iterative description comparison process presents a problem for managing very large amounts of screen descriptions and was the spark for the current disclosure. Say for instance there is a user like Ford Motor Company, Inc. that has used legacy host systems for decades and has built a huge host application base with thousands of screens. The Ford developer wants to code descriptions for every screen and give them to the screen recognition apparatus, thus adding thousands of descriptions that need to be compared. Currently, the recognition apparatus will loop through every item in the vector of descriptions until it sees a match. If a frequently occurring screen was added at number 500 there will be a lot of comparison failures before the screen is hit: poor performance. The current disclosure solves this problem by intelligently monitoring screens as they are sent from the host. The screen recognition system described by the current disclosure contains intelligence for monitoring "boundary" screens for a screen appearing from a host that matches a given description. For example, if Screen2 succeeds Screen1 in a host application, before Screen2 appears from the host, the system noted that Screen1 was the previous screen. When Screen2 appears and is matched, Screen1 is added to Screen2 as a boundary screen. This continually occurs throughout the lifetime of the system and boundary screens are accumulated for each description.