Mechanism and method for representing event information in access system
FIELD: method and system for providing user interface information to client.
SUBSTANCE: in accordance to the invention, access system contains registration mechanism. Client environment for automatic processing of user interface receives registration information from the client and transmits user interface information after receipt. Server for automatic processing of user interface receives registration information from client environment for automatic processing of user interface and notifies processor of user interface about registration, and also receives user interface information from user interface processor. The server contains filtration device for filtering out information of no interest to client, and notification device for notifying the client about information which is of interest to the client.
EFFECT: ensured capacity for filtration and coordination of excessive and disorienting notifications.
2 cl, 11 dwg
The technical field
The present invention relates to the field of technology support, automated testing and other products designed to collect information from the user interface, and the interaction of these products with information on the user interface.
Technology assistance (TA) is designed to assist a user who has a need for support in the areas of training, information exchange and access to information contained in the software and present through software. These products have a need for information relevant to the computer interface. Similarly existing products automatic test command and utility UI also have a need for information about the user interface. Currently, these products do not have sufficient information source user interface (PI). These three types of products (clients) require any party to provide the following features: (1) to collect information about the user interface of the application program (application); (2) programmatically discover and query elements PI regardless of the technology used is to build my PI; (3) to generate input from the keyboard and pointer input, and (4) to understand what type of behavior or functionality is available at the moment. Currently there is no single technology that gives the product TA all these possibilities. In addition, modern products TP is not always compatible with all technologies, graphical operating systems (OS) and do not have the ability to filter and coordinate redundant or misleading notifications centralized way. Another disadvantage is that modern infrastructure for automatic processing and access do not have the capacity to increase and therefore require OS-level changes to add new functionality.
In addition, in order to present to gather information about the user interface of the application for product TA, you must write code that is specific to the application for information to the user. The process of writing this code, application-specific, time-consuming and continuous support. Modern infrastructure for automatic processing also is not able to filter and coordinate redundant or confusing event notification consistent way. Thus, the event consumers have independent education is to filter information.
Modern systems allow products TA to request notification of events at three levels of granularity (structuring) - (1) every event on the desktop; (2) a specific process (such as opening a word processor) or (3) flow in a particular process (working with multiple objects in the process). Currently, when a client receives an event, it receives a pointer (handle) window for a specific window in which the event occurred, and other bits of information to indicate where the event occurred. The customer may make a call to cross-process for the extraction of object PI that is associated with the event. With this object, the client can make additional calls to cross processes for requesting information about the object. If the client requires five pieces of information, the client can make five calls cross processes. The challenges of cross-processes are in excess degree slow, so the cost with regard to provide the efficiency of collecting information PI using modern infrastructure high availability. This type is known scenario is presented in Fig. The server application 12 triggers the event 6. The core 14 (OS) determines which clients should be notified, and sends a notification 18 about the event to the interested client 10. Kli is NT 10 16 makes a request from the server application 12 across the border 2 the process for obtaining an object, related to the notification 18 about the event. The server application 12 generates in response to the object 20 and the client 10 can start sending requests 16 management information PI, which initiated the event. The server application 12 generates in response the requested information 20 across the border 2 process to the client 10.
Another modern option allows you to download the client code as a dynamic link library (.DLL) within a process. This option has several disadvantages. First, it requires interaction from the system to download the client code in the process. Secondly, it entails the problem of protection, because as soon as the client code is loaded in the application process, it is difficult to limit the information it collects. Thirdly, that it was an effective method for a client, it must be loaded into every process in the system. The optimal way only trusted clients must be loaded into the process another application.
In addition, you need a system that gives the client the opportunity to determine which event notifications it is desirable to obtain. In known systems, the client may want to do a number of cross-process calls, and then analyze the information to determine if its interested in this event. A mechanism is needed that performs this filter is the situation of events in a more effective manner and which can be easily updated to support the new event system or application. In addition, you need a system that only uses reliable components to ease the requirements for protection.
Currently, when searching for information about the user interface, the product PT is required to access the tree diagrams that are inherent to the structure (shell) of a particular PI. Accordingly, it requires a lot of tree circuits to transfer information to a user interface for multiple skins PI. These different tree diagrams may contain information that is not of interest or is not visible to the user, such as objects hidden containers that control visible controls PI, driven by the end user. There is therefore a need in a single unified tree diagram, with only those nodes that are of interest to the user.
You need a solution that focuses on the needs of products TA, automated testing tools and command-line tools. This decision should be able to use all the technologies graphical OS and should provide access to all forms PI and components PI.
The present invention is directed to a method and computer program for providing to the rate information of the user interface. In one aspect of the invention the mechanism of events in the environment of client-server to support notify the client about changes in the user interface (PI). The event mechanism includes a registration mechanism that allows the client to register to receive the data of interest PI. The event mechanism also includes client automatically process PI for registered customers to receive event notifications and to forward these notifications to the client when they arise. The server automatically process PI optionally accepts notifications from the structure (shell) PI and includes a filtering mechanism to remove events that are not of interest to the client, and the notification mechanism to send to the client automatically process PI other notices of interest.
In another aspect the invention provides implemented using a computer method for collecting information on the relevant elements of PI. The method includes receiving a request from the client specific information user interface and query processor PI server uses automatic processing of PI, to determine whether the available requested information PI. This particular information PI is transmitted from the server automatically process PI to the client machine the cooling processing PI.
Additional advantages and new features of the invention are explained in the following description and will partly be obvious to a person skilled in the art from the following description or may be learned during practical use of the invention.
Brief description of drawings
The present invention is described in detail below with reference to the drawings, in which presents the following:
Figure 1 - block diagram of a computing environment system, which can be implemented in the present invention;
Figure 2 - block diagram of the interaction between the access system, the client environment and the server environment;
Figure 3 is a block diagram illustrating the components of the engine system;
Figure 4(A)-4(D) is an illustration of the logical tree diagrams from natural components;
5 is a block diagram showing the sequence of procedures to build a logical tree diagrams;
6 is a dialog box and its components, forming logic elements;
7 is a flowchart illustrating the procedures used in the revitalization of the event mechanism according to the invention, and
Fig - known system for event notification.
A detailed description of the invention
The example operating environment
Figure 1 presents an example of an appropriate environment 100 of a computer system, in colorology to be implemented in the invention. Environment computing system 100 is merely an example of a suitable computing environment and does not imply any restrictions on the scope or functionality of the system. Computing environment 100 should not be interpreted as having any dependency or requiring connection with any one component or combination of components shown in the illustrated example, the operating environment 100.
The invention can be described in the General context for executing the computer instructions, such as program modules, executed by the computer. In the General case, the software modules include standard routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. In addition, specialists in the art it should be clear that the invention can be implemented with other configurations of computer systems, including handheld devices, multiprocessor systems, programmable consumer electronic devices based on microprocessors, minicomputers, universal computers (mainframes), etc. of the Invention may also be implemented in distributed computing environments where tasks are performed by remote processing devices that are linked oposredstvovaniya networks. In a distributed computing environment, program modules may be located on both local and remote computer storage media including memory devices.
As shown in figure 1, are for example, the system 100 for implementing the invention includes a universal computing device in the form of a computer 110 that includes a processing unit 120, system memory 130, and a system bus 121 that interconnects various system components including the system memory associated with the processor unit 120.
The computer 110 typically contains a variety of storage media, readable by a computer. As an example, but not limitation, storage media, readable by a computer, may include computer memory and the transmission medium. The system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as a read-only memory (ROM) 131 and random access memory (RAM) 132. The system basic input/output system (BIOS) 133, containing the basic routines to transfer information between elements within computer 110, such as during start-up, typically stored in ROM 131. RAM 132 typically contains data and/or program modules that are immediately accessible to the processor 120 and/or the currently processed them. As a researcher who, as example, but not for limitation, figure 1 illustrates operating system 134, application programs (applications) 135, other program modules 136, and program data 137.
The computer 110 may also include other removable/permanent volatile/nonvolatile computer storage media. As an example, figure 1 illustrates the drive 141 on hard drives, which reads or writes to non-removable, nonvolatile magnetic media, a hard drive 151 on magnetic disks, which reads or writes to a removable, nonvolatile magnetic disk 152, and the drive 155 optical drive that reads from or writes to a removable nonvolatile optical disk 156, such as a ROM on the CD-ROM (CD-ROM) or other optical storage media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the example operating environment may include, but be limited to specified, tapes, magnetic tapes, flash memory card, digital multi drives, digital videomachine tape, solid state RAM, solid state ROM, etc. Drive 141 on hard drives in a typical case is connected with the system bus 121 via an interface of the non-removable memory, such as interface 140, and the drive 151 on magnitnykh drives and drive 155 on optical disks typically connected to the system bus 121 through interface, a removable memory, such as interface 150.
The drives and their associated computer storage media mentioned above and shown in figure 1, provide storage of machine-readable instructions, data structures, program modules and other data for the computer 110. In figure 1, for example, the drive 141 on the hard disk is shown as storing operating system 144, application programs 145, other program modules 146, and program data 147. Note that these components can be either the same as or different from operating system 134, application programs 135, other program modules 136, and program data 137. Operating system 144, application programs 145, other program modules 146, and program data 147 are marked by other reference positions, to illustrate the fact that they, at least, are other copies. The user can enter commands and information into the computer 110 through input devices such as a keyboard 162 and pointing device 161, commonly called a mouse, trackball (trackball or touch pad. Other input devices (not shown) may include a microphone, joystick, game pad, a satellite communications antenna, scanner, etc. These and other input devices are often connected to the processor unit 120 through interface user input, which is connected with the system bus, but may be connected by other interfaces and structures of the tire, such as a parallel port, game port or a universal serial bus (USB). A monitor 191 or the display device of another type is also connected to system bus 121 via an interface, such as a video interface 190. In addition to the monitor, computers may also have other peripheral output devices such as speakers 197, printer 196, which may be connected through the interface 195 peripheral output devices.
The computer 110 in the present invention can operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 180. The remote computer 180 may be a personal computer, and in a typical case, it includes many or all of the elements described above in connection with the computer 110, although figure 1 shows only the device 181 memory. Logical connection indicated in figure 1 include a local area network (LAN) 171 and a wide area network (WAN) 173, but may also include other networks.
When using in a network environment LAN computer 110 connected to the LAN 171 through a network interface or adapter 170. When used in a WAN environment WAN computer typically includes a modem 172 sludge is another tool for communication in the WAN 173, such as the Internet. The modem 172, which may be internal or external, may be connected with the system bus 121 via the interface 160 user input or other suitable mechanism. In a networked environment, program modules shown in the drawing in connection with the computer 110, or portions thereof may be stored in remote memory devices. As an example, but not limitation, figure 1 illustrates remote application programs 185 in the device 181 memory. Clearly that shows the network connections shown are for example only and may be used other means of establishing lines of communication between computers.
Although many other internal components of the computer 110 is not shown, the specialist in the art it should be clear that such components and their interconnection are well known. Accordingly, additional details concerning the internal construction of the computer 110 is not required to disclose in connection with the present invention.
The structure of the system access
As shown in figure 2, the system 200 access interacts with the client environment 300 and the server environment 400. The system 200 may be implemented in a computer environment 100 described above with reference to figure 1. The system 200 access includes interface 220 access the client side to facilitate interaction with the client 300, in which erfas 230 access server to facilitate interaction with the server side 400 and the core 201 of the access system. The system 200 access corresponding to the invention, provides a new application programming interfaces, interfaces and metaphors for programmatic access to the UI (PI). The system 200 access provides access to application programs and to any of the components they use.
The client environment 300 preferably includes a product of technology assistance (TA) or automated tool testing PI. Server side 400 may implement a variety of different technologies, as shown in figure 2. Server system 410 includes adapter 412 and the core 414, which may be in the PI of the first type. Server system 420 includes a component proxy 422 and controls 424, as it can take place in the PI of the second type, such as PI Win32, available in the products of the Microsoft operating system of Microsoft Corporation (Redmond, Washington). Server system 430 includes adapter 432 and OM (object management) 434, which may be in PI alternative of the third type.
As shown in figure 3, the event mechanism 210, which is included in the system 200 of access based on the client 202 automatic processing of PI and the server 204 automatically process PI to facilitate interaction with the client environment 300 and the server environment 400. The client 202 automatic processing of PI and the server 24 automatic processing of PI is described in more detail below with reference to the mechanism 210 of events according to the invention. The system 200 access corresponding to the invention, provides the client (product TA) 300 the opportunity to: (1) collect information about the user interface of the application program; (2) software detection and survey elements PI regardless of the technology used to build the PI; (3) generation of keyboard input and the coordinate of the pointer and (4) understanding of what type of behavior or functionality is available at the moment. The system 200 access allows application programs to provide access to themselves and to their components. The structure shown in figure 2 and 3, provides five main aspects of the system 200 of access, including the following: (1) logic tree circuit PI; (2) patterns of management bodies; (3) the mechanism of the event; (4) the interface of the application program input (not disclosed herein) and (5) properties.
Logic tree circuit 222 access PEE
An integral component of the system 200 is a logic tree circuit 222, an example of which is depicted in figure 4(D). Tree circuit 222 is included in the interface 220 access the client side.
Logic tree circuit 222 is a filtered view of the basic structural hierarchy of elements PI, but not a separate tree diagram, which should be implemented by management or the developer of the m application. Instead, it extracts a set of well-defined properties of interest and not of interest, which indicate whether the structural element to be shown in the logical tree diagram. The core 201 of the access system consumes this information to generate a filtered logic tree circuit 222 PI, which in turn seems to produce the TA or test scripts.
Logic tree circuit 222 is a tree of elements, each of which represents the governing body, a member for the governing body or structure grouping that can be a dialogue, the panel section of the window, the window or frame. The structure of the logic tree circuit 222 must submit the PI of the application as perceived by the user (even if the controls actually implemented using a different underlying structure). Tree schema must be stable in time. While the application provides to the user, the logic tree circuit 222 that represents this application, shall remain the same, even if the implementation details of the application behind the scenes has changed. Natural (inherent) elements that exist because of the structuring of the implementation, such as the shell window "ShDocView" in the products Microsoft OS should not be shown is taken in this tree diagram, because the user does not perceive them.
Logic tree circuit 222 is a single tree built from many fragments, which are able to unify many different processes so that they were one and the same for the client. Logic tree circuit 222 provides the ability to sample large amounts of data and provides the values for the properties list. By the time the user is usually asked to call the cross-process query values, the system 200 access will make their selections through the use of logic tree circuit 222.
In contrast to the one-step construction, as in known systems, logic tree circuit 222 is constructed from fragments that are used to build the source tree. As shown in figure 5, three basic procedures to build a logic tree circuit 222. In the procedure, 72 system 200 access determines the location of the natural elements of basic technologies and gets a natural wood elements, shown in figure 4(A). In the procedure 74 system 200 access combines natural elements to generate the initial tree 20, as shown in figure 4(B). Finally, the procedure 76 receive logic tree circuit 222 by hiding components not of interest, in the similar tree 20, as shown in figure 4(D).
Figure 4(A) illustrates two natural wood 10 and 14, which are constructed from natural elements underlying technologies, such as PI Win32 or any other available PI. Natural wood 10 includes an originating node 11 and the multitude of generated nodes (descendants) 12 having a different ratio with each other. Similarly natural wood 14 includes generating a (parent) node 15, which has many child nodes 16. Child nodes 16 can be described as related objects (objects of equal level with one parent) with respect to each other.
As shown in figure 4(B), natural trees 10 and 14 can be combined to generate the initial tree 20. The original tree 20 includes a parent node 21, which has two child nodes 22 and 30. Child node 22 has descendants 23-29, and the child node 30 has descendants 31-33. The original tree 20 is a combination of natural trees 10 and 14, the nodes of a natural tree form 10 nodes 22-29, and sites of natural wood 14 form the nodes 30-33.
Through the method, shown in General form in figure 4(C) and 4(D), the source tree 20 is converted into the logical tree 222. To move from the source tree 20 to the logical tree 222, the developer can enter hints (hints) in the source tree. Once abotic can label the nodes in the source tree 20 as "to hide themselves or hide themselves and the child nodes or hide the child nodes of this node", etc. The developer can also move nodes in a side branch or place the nodes child nodes. These hints and modifications in the source tree 20 are used to form logic tree circuit 222. For example, figure 4(C) the developer has marked nodes 24 to 26 and 33 of the source tree 20 as not of interest, as indicated by blocks 40 and 41. In a typical case, the nodes that contain items that will not be visible to the user are marked as not of interest. Nodes associated with the observed PI, in a typical case considered interest and will be included in the logic tree circuit 222 for use by the client 300 TP. As shown in figure 4(D), the nodes marked as not of interest are not included in the logic tree circuit 222.
The system 200 uses a logic tree circuit 222 to find information about events, system status, location of objects and information about the controls. Known systems have not had the opportunity to make a mark within their trees. Logic tree circuit 222 enables the navigation based on global settings (preferences) of the client 300 and is able to provide information regardless of the server application.
During operation, if the customer 300 need to get information to the user about some application, the client 300 searches for the button to click and watch the text on the button. The client 300 may cause the "find item" interface of the application program (IPP). The IPP will provide in response to a value that refers to the position in the logical tree diagram 222 interface 220 on the client side. Due to the logic tree circuit 222, the system 200 of the access network to the client 300 abstract view of the PI, regardless of the application. Abstract model includes structures, pointers, properties, events, and functionality that the list box, button or other component PI can expect to receive in accordance with each of them.
Logic tree circuit 222 is a single unifying the tree is a logical representation of PI and arranged in a form that includes only the items of interest to the client 300. Accordingly, instead of forcing the products of TP to filter the structural hierarchy of elements PI and assumptions in the model presented to the end user, logic tree circuit 222 is a hierarchy that closely reflects the structure presented to the end user. This greatly simplifies the task of product TA, consisting in the description of PI to the user and helps the user to interact with the application.<> Since this logic tree circuit 222 is a fundamental part of the system 200 access, all other components of the system 200 access are designed for operation of the logic tree circuit 222. For example, figure 6 shows a simple dialog box 60, which, it seems, has a very simple structure. However, from the point of view of the currently available access technology, the structure of this dialog box 60 is in an unexpected way is very difficult. It contains 264 object that TA can filter for opening those that make sense to the end user. System 200 access and support for the logic tree circuit 222 PI developer having this dialog box 60 may set a number of properties to view the following structure shown in Fig.6 for products 300 TP.
As shown in Fig.6, for dialogue run, the developer can specify as interest unsecured window graphics 62 and the option to print the name of the program, folder, document or Internet resource, and Windows will open it for You" 63. The developer can also specify as interest list box (combo unit) 64, including Notepad, word, calculator, etc. and click OK 65, cancel" 66 and "view" 67. It provides developers with a cost-echanism marking their hierarchy of elements and thereby generate a logical representation PI of their application programs through a system 200 access PI. Each of the featured properties may be represented by a node that has a specific relationship to every other node in the logical tree diagram 222. This logical view provides immediate benefits for testing and products for TA or clients 300.
Set the IPP allows the client 300 to get a tree diagram. The functionality includes the following: (1) the logical element from point to point, (2) the logical element of the event, and (3) the current (selected) the logical element. As stated above, the logical element represents a component of the PI, perhaps, the managing authority, part of the governing body or the container or logical grouping (dialog, window, frame). Controls can vary greatly in terms of their functionality. Accordingly, various interfaces are used to represent the functionality associated with a specific type of government. These specific controls interfaces derive from a common base interface, which represents the functionality that is common to all controls. Common core interface contains the following: (1) navigation methods in a logical tree diagram 222; (2) a General method of obtaining property values, and (3) access methods supported for specific controls interface is himself. When navigating through the logical tree diagram 222 each base technology PI application will provide its own method of navigation.
Although the logic tree circuit 222 is of ultimate interest to the user, the source tree 20 also serves some important functions. While the logic tree circuit 222 contains only the elements that may be relevant to the user, the source tree contains 20 items nodes, such as 22, which represent the structure of the implementation of the basic shell (IDE). For a fragment of PI Win32, for example, this tree must contain nodes that represent the HWND. In some respects the source tree 20 items there is a "halfway house" between the logic tree circuit 222 and native trees and natural elements of the base shell. The original tree 20 is used as a base for building a logic tree circuit 222 elements and it is here that the natural elements are first inserted into the system.
The original tree 20 elements can also be used for debugging and testing. It is useful for fault localization or to describe where you have a specific problem site. The functionality of the node in the underlying source element includes: methods of navigation through the source tree elements;the method of transition to the appropriate logical element (if it exists); contains the property "debug" for such element, for example, "HWND 0x483FE" for nodes HWND; and other methods "infrastructure behind the scenes. These other techniques allow testing and localization trial; the events and the properties to which the shell can easily provide (e.g., selected, and activated).
Tree 20 original elements contains nodes 22-33, which represent items from different processors visualization. The source tree of elements is used as the starting point for processors visualization to connect to the system 200 access and is constructed from a lightweight object adapter, which adapt the natural elements, such as the HWND of Win32 in a unified logic tree circuit 222. Because the tree 20 source elements is the Foundation on which to build a logic tree circuit 222, it can be used to verify that the logic tree circuit 222 is complete and connected, and can be used to scan unrecorded items. Tree 20 source elements can also be used for other tasks type of infrastructure, such as the provision of some basic identifier (ID) of the element and providing some of the properties of the element, the bottom of the base shell, such as "allocated", "activis the Rowan", "location".
Tree 20 source elements is not the primary source of information for products TA or clients 300, is not used for logical navigation and is not available to the end user. Tree 20 original elements also cannot be used for fixing the position of the element in the tree diagram so that it could return at some future point in time. A tree-like structure 222 logical elements performs all these functions.
Tree 20 source elements may typically be constructed mechanically from the original elements of the underlying virtualization technology (HWND, elements) without knowledge represent logical elements. So it can be used to search the source elements, which were not taken into account for the logical tree structure 222. Tree 20 source elements is a useful tool for debugging and diagnostics, because it allows you to record the location of the node based on the description, such a stack dump". In addition, known systems base their tree charts on specific code criteria and cause difficulties in the implementation using a variety of technologies. The proposed method uses a generic abstract type "source element", which can be implemented with, or at the time of the structure, any basic imaging technologies.
To obtain the source tree of elements call the root of the source element will give the item to the desktop, checked by determining that its parent node is zero and that all other sites have it as their ultimate predecessor. For other elements the method call to retrieve the original item from a particular point will be given in the response element using a valid screen coordinates. After receiving the source tree of elements it can be checked and confirmed by checking elements (parent, peer-to-peer one predecessor, subsidiary).
In the process of functioning of the client 300 can navigate the tree 20 original elements with the use of ratios, such as: an originating node, the following peer-to-peer descendant, preceding peer-to-peer child, first child, last child, etc. the Client 300 may then migrate from the source element to the corresponding logical element in the logical tree structure 222.
The event mechanism
When the client 300, it is desirable to maintain their awareness of the event, the client 300 has the opportunity to register via the client environment 202 automatic processing of PI, as shown in figure 3, to obtain information on the purpose. The client 300 determines the object information that he wants, where he wants the information has been received, and a list of properties that he wants to get in response. The client request is sent to the client (in the client environment) 202 automatic processing of PI. Server (server environment) 204 automatically process PI keeps track of the clients 300, which are in the standby mode, and knows how to return back to the client 202 automatic processing of PI. The client 202 automatic processing of the PI notifies the processor 206 PI information about the client request, so the processor 206 PI knows when to tell the server 204 automatic processing of PI about the event. Processor PI do not need to use a client notification, and instead may choose to always notify the server 204 automatic processing of PI about the event or to notify the server automatically process PI only if the client waits for some event. Notice useful if processor PI wishes to include a notification server automatically process PI only if there is a client waiting on an event. Processor PI should do this to avoid the deterioration of the performance of the PI and to avoid loading code modules, which it otherwise is not needed.
The processor 206 PI then informs the server 204 automatic processing PI event PI. The servo is 204 automatic processing issues in response to the requested logical element to the client 300, and sends the information to the client 300, including the properties of the event that requested by the client 300. The server 204 automatically process PI decides what information is within the client's request and generates a logical element only if the information is of interest. Forming a logic element includes pre-fetching server-side automatic processing of PI, the set of properties that the client has shown that he will use when processing events. For example, the server 204 automatically process PI can open the logical element for the combo box (combo unit). The scope will be a combined unit or its child elements. The client 300 may request according to the type of "child/parent" to determine the required field on the registration stage.
After the server 204 automatically process PI has determined what information is within the requested area, he builds the logical element. The client (the client environment) 202 automatically process PI maintains client 300 by accessing the target application, receiving the requested information from the server 204 automatic processing of PI and forward the objects in the proper location at the client 300.
The server 204 automatically process PI is created when the client 300 reg the exhibits to receive event notifications. As an example, the processor 206 PI executes the application program word processing Microsoft Word. The client 300 signed up for information about changing the name property. Client registration causes the creation of the server 204 automatic processing of PI. Client registration shall also notify the processor 206 PI to start the notification server 204 automatic processing of PI on the name property. The processor 206 PI does not receive information about areas of interest. The processor 206 PI invokes one of the PPIS for the server side. The processor 206 PI determines the following: (1) what property has changed, (2) new value of the property, and (3)possibly the old value. The server 204 automatic processing of PI is based on the events of interest to the client 300, and therefore knows the events, properties, clients and interests, so that he knows is interested if any of the client 300 in the logic element. If more than one client 300 have registered to receive information about events in a particular server 204 automatic processing of PI and the clients 300 registered for the same event and asked about the large sample properties for granted in response logic element when the server 204 automatically process PI sends the event back to 300 clients, each client 300 will receive a set zaproszen the th large sample properties, issued in response to the logical element.
For each waiting client 300, the server 204 automatic processing of the PI notifies the client 300, sending to the client a logical element associated with the event. The server 204 automatically process PI generates only one logical element. This represents an improvement compared to modern technology, according to which would require that each client 300 has requested its own copy of the object, which is the event source.
If the processor 206 PI does not use the notification client environment automatically process PI when clients register to receive event information, the processor 206 PI may request the server 204 automatic processing of PI, is there any waiting clients 300 access, and if there are no pending events, then the customer can avoid the work on creation of the information and forwarding it to the server 204 automatic processing of PI. For example, client 300 is a means of reading from the screen and it determines where it wants to receive information, the object changes the selection to receive events and specific list of properties of interest. The processor 206 PI is informed and knows that it should send the information to the event server 204 automatic processing of PI. After detection of changes in the separation of the Deposit, the processor 206 PI notifies the server 204 automatic processing of PI. The server 204 automatically process PI performs conversion in a well-known interface and sends the event object to the client 202 automatic processing of PI. The client 202 automatically process PI sends the object to the corresponding location of the client 300.
The above components provide an improvement over known systems by eliminating a Central repository in the kernel for events. Instead, the server 204 automatically process PI knows all 300 clients interested in receiving information about the context in which it is running. The exception storage engine also creates a more peer to peer interaction, because the server 204 automatically process PI performs the function previously performed in the kernel. The system 200 access according to the invention provides the client the opportunity to determine that it is desirable to see, so the filtering is done on the server side using server 204 automatic processing of PI.
Figure 7 presents a flowchart illustrating the procedure used in the method of recording events and notifications. At step 80, the client 300 requests event notifications. At step 82, the client 202 automatically process PI sends a request to the server 204 automatic processing of PI. At step 84, the client automatically is some processing of the PI notifies the processor 206, that it would notice. At step 86, the server 204 automatically process PI receives a notification from the processor 206 PI. At step 88, the server 204 automatic processing PI filters the received message. If the received information on the phase 90 was found of no interest to the user, the server 204 automatic processing PI discards information and continues to wait for a notification at step 92. Alternatively, if the information on the phase 90 was found of interest, the server 204 automatically process PI generates a logical element and sends it to the client 202 automatic processing of PI in step 94. At step 96, the client 202 automatic processing PI puts the information received in the proper place at the client 300.
The mechanism 210 event system 200 allows access to the client 300 to register to receive events notifications of property changes in PI, the changes in the tree diagram in the structure of management, multimedia events and related information. Without using these features, clients 300 must continuously poll all of the elements PI in the system to detect changes in the information structure or condition. The mechanism 210 event system 200 also allows the client 300 to take events out of the process, to request the grant in response to the collection of properties in the natural with the notification about the event and register to receive information about events on many elements.
The mechanism 210 of events is: interfaces, which uses the product of TP or test application for registration of events; interfaces that implements the product of TP over the objects used to receive event notifications; and interfaces that use the means of implementing the control to notify the processor of the events on the events of PI. The mechanism 210 event is used to allow the products of TP and test applications to receive events regardless of processors PI, used to render the PI, and also allows the products of TP and test applications to monitor application Windows of the upper level and make the selection without regard to the underlying technology.
Figure 2 shows how the 300 clients interact with the system 200 access. There is no global event management process. Instead, each client system 300 or access server 400 has its own context. The client application will only accept events for applications that support system 200 access. In order to start using the event system access application, the client 300 can do one of the following: (1) to Use the IPP AddTopLevelWindowListener" ("add listener process top-level window") for the detection of a new PI that appear on the desktop and in the mod is the developer of this event, registration of other events and using this tool receiving events from any process; (2) Use one of the PPIS Find ("find") to determine the location of interest PI and achieve specific fragment PI; (3) Use some other means to find places of PI, for example, to find the handle for the window or some point on the screen and using that handle or point to discover the logical element for use as a reference for waiting events, and (4) to Use the IPP AddFocusChangedListener" ("add listener process change selection (active window)") for track selection (activation) input and event registration on the PI, which is currently enabled.
The top-level window is a window that generates the object of which is the desktop. The use of the term "open" means that the new top-level window appeared for presentation to the user. The use of the term "closed" indicates that the top-level window is removed.
The interface 230 server side access system includes two PPIS for the notification system 200 access about events that are added and removed. The client automatically process PI invokes these PPIS, when clients register and unregister for information events. This is allows the processor 206 to obtain information about what events access requested in its context.
Where applicable, the events associated with the logical elements of the tree schema 222 logical elements of the application program. Where the logical elements are not applicable, the events associated with readable by the user string or other well-known object that represents the source of the event. The mechanism 210 events provides filtering based on user-entered preferences (global parameters) in the registration process for information events. Through the use of client preferences filtering server before creating the event-related data and forwarding them as cross-process client mechanism 210 of events inherent way improves out-of-process efficiency by reducing the number of calls cross processes. The mechanism 210 of events provides a method for determining properties of a logical element that are of interest for the event when you register for information events. This also reduces the number of calls cross processes. The mechanism 210 can be increased, without requiring changes to the host OS. Although the event mechanism can be implemented using managed code, unmanaged application program can access it through interoper the turn profits (interaction) according to COM (multicomponent model of interest).
There are two tasks that the client 300 TA performs for handling events: (1) registered to receive event information; (2) the processing of the event in the callback. An important requirement for any task is that you can use for both managed and unmanaged code. In one embodiment of the invention, the client 300 may proceed through the interfaces when registering to receive event information. The client 300 passes the objects that implement well-known interfaces, when you register, and the processor 206 PI calls these interfaces to notify the listening process. In cases where there is a source object in the tree diagram 222 logical elements, each of the callbacks receive the original item and the additional parameter.
Well-known interfaces implemented by the product of the TA are used as a way to serve in response to events. The following sections show some of the types of events looks like registration and as an event is received.
1. Event top-level Windows
The events of the Windows on the upper level include events that are related to menus and drop-down lists, combo box or any object that has the desktop as the parent object. In one of the embodiments of the present invention uses the method "add PR is clusively process top-level window to receive notifications about opening and closing the Windows of the upper level. Call add a listener to a top-level window" will give notice to the opening of new top-level Windows or close the top-level Windows on the current desktop. How to remove a listener for a top-level window" provides a mechanism to stop receiving notifications about the opening or closing of the top-level Windows on the desktop. This method uses a callback object to identify this listening process. Therefore, the object passed to the method "remove a listener for a top-level window"is the same as the last method to add a listener to a top-level window". The method of "top-level window is open" is called by the system 200 of access for each new top-level window that opens. Similarly, the method of "top-level window is closed" is called by the system 200 for each top-level window, which is closed. To receive these notifications, the client 300 calls a method to add a listener to a top-level window".
2. Event selection
The 300 clients often want to have a method for tracking selection (activation). The implementation of this in the Microsoft Windows operating system causes difficulties. For example, when the pull-down menus (for example, the File menu (file) in Microsoft Word), optional) the menu is highlighted (active) as as the user moves the cursor over each of them. When the menu is closed (i.e. the user presses ESC (exit), at the present time is sent event selection. Instead, a client interested in the selection changes should expect a series of events and figure out which of them represents the selection changes. In one of the embodiments for the notification listener on the change event selection method can be used to add a listener to change the selection. The client 300 may determine the set of properties that must be issued in response. This feature property definitions for issuing, in response to the logical element is a part of all PPIS register to receive event information. The client 300 may cause the method to remove a listener for selection change" to stop receiving notifications of changes to the selection. This method can use the callback object to identify this listening process, and in this case, the objects passed to the method "remove a listener to changes of the allocation will be the same as the past in the procedure "to add a listener to change the selection. The system 200 causes access method "selection changed", when the selection is changed. the parameter "event arguments highlight", used in the method of "selection changed"shows information related to the selection changes. If the last allocated logical element is available, then the item will be available in the parameter "event arguments used in the item "selection changed". There are cases when none of the elements PI is not allocated until then, unless something will lead to the selection in the explicit form of a certain element.
3. Change event properties
Change events run properties, when the properties of the logical elements of change. In a possible embodiment of the invention, the client 300 calls a method to add a listener for changes to properties" to receive notifications of property changes. Method "property changed" is called by the system 200 access when the property value has changed in a logical element within the tree diagram of the logical elements defined in the method to add a listener for changes to properties. The scope parameter specifies the items for which the event should be run. For example, the passage of the root of the logical screen element and the query descendants limits callbacks modify the properties for this window. If the scope parameter is set for all tree elements, the scope is ignored is : and any changes to specific properties, which appear on the desktop, is transmitted. The client 300 may cause the method to add a listener for changes to properties many times with different sets of properties and/or with different callback object. The notification provided by the system 200 access, indicates the following: the property has changed; new value of the property; the old value of the property, if available.
The client 300 may cause the method to remove a listener for changes to properties" to stop receiving notifications of property changes. This method can use a scope and a callback object to identify this listening process, and in this case, the objects passing it should be the same as the last method to add a listener for changes to properties.
4. Event template controls
Events run from template controls should be extensible, and therefore these events are identified by a GUID (globally unique identifier). Any GUID value is taken at check-in. For any new template of the control event, which he documents, must be a unique GUID. The products of the TA may require modification in order to be able to "listen" (track) event which I new patterns of governance. Listening also requires the ability to handle these events. For example, for directed testing may be desirable to limit these events to a specific application or control within the application. Templates authorities determine what is the source, and consumers of events will need to refer to this part of the documentation to know how to use the source item and the event argument object.
Method to add a listener for the event" will allow the client 300 to receive events for controls. The parameter "scope" can be used to specify what items to trigger events. For example, the passage of the root of the logical screen element and requirement of his descendants will limit the event data window. If desired all of the elements of the tree, all events will be sent to the Desk. Method to remove a listener for events can be used to stop receiving events for controls. This method can use the "scope"object "callback" and the event ID to identify the listening process. In this case, noise objects must be the same as the objects that pass into the method to add a listener the La event.
When the application has called the method "add a listener for events, the system 200 causes access method "event enabled if you are running specific for event management and event source is a logical element in the tree diagram of the logical elements defined in the method to add a listener for the event". If event management is running, there are often specific to the event information.
To stop receiving information of any event may be due to the method "delete all listening processes. This is the fastest way to clean up before the client application terminates. Removal method can be used optimally when the application ends.
5. Event changes the logical structure
Event changes the logical structure of a run, when you change the structure of the tree diagram of the logical elements. Method to add a listener for changes to the logical framework can be implemented to receive notifications about structural changes in the tree diagram of the logical elements. When the logical elements are added, removed or become invalid, the methods are invoked for a particular object callback. The parameter "scope" may limit the elements of the AC is above. Method to remove a listener for changes to the logical framework can be caused to stop receiving event information to change the tree diagram of the logical elements. This method can use the object "callback" and the element "scope" to identify this "listening process" and in this case, noise objects must be the same as those passed to the method "add a listener for the event.
Method child element, added" may be caused by system 200 access when a child element is added and the parent object is a logical element in the tree structure 222 logical elements in the method to add a listener for changes to the logical framework. Method child element deleted is called by the system 200 of access, when the child is removed, and the old parent object is a logical element in the tree diagram of the logical elements defined in the method to add a listener for changes to the logical framework.
Method added many child objects" is called by the access system, when a large number of child elements is added (for example, more than 20 child elements) for a short period of time. Method removed a lot of child items" is azyvaetsja access system, when a large number of children removed within a short period of time. Method child elements made invalid" is called by the system 200 of access, when a large number of child elements (for example, more than 20 child elements) as added and deleted within a short period of time.
6. Multimedia events
Another type of event is a multi-media event. Media may include audio, video, and animation. Methods will support multimedia events and inform the customer of the action, including "stopped", "paused", "fast forward", "rewind", "muted". Methods such as those described above, can be implemented to add and remove listeners for a multimedia event.
7. Simple sound events
Simple sound events can be processed separately from the multimedia event. Simple media events are simple sounds of short duration, which exist for transmission to the user of some event other than the actual sound. Simple sound events may include the following: a sound to be played when new mail comes; sound generated when the battery laptop computer has a low level; or a sound to be played when a message box is displayed with the item is octogrammus type an exclamation mark. Method to add a listener to the sound may be caused to receive notifications about simple playing sounds, and a method to remove a listener for sound" can be implemented to stop receiving notifications for simple sound events.
Method "sound enabled" is called by the system 200 access when a simple sound is played. To receive this notification, the application listener calls the method "add a listener for audio. Method "sound activated" retrieves the following information: the name of the sound; the sound source; the value of the alarm level, indicating the importance of sound to the user. Possible alarm levels include the following: "unknown", indicating that the importance is not known; "information"indicating that the information is; "warning", indicating a warning state; "the question", indicating that the user response is needed; "shouting"indicating that the event is not critical, but may be relevant; and "critical", indicating the occurrence of critical events.
8. The events of the soft (low-contrast) selection
Event soft selection appear on the desktop, but remain in the background. Some examples of events soft selection can be the following: box vsplyvayuschee, pointing: "new updates available data in the notification area; blinking icon in the task bar for the background of the application for which it is desirable to be selected; the printer icon appearing and disappearing from the notification area when printing starts and ends. These events can be observed as zakryvayushiesya to some extent other event categories (media may be associated with entertainment events, when soft selection). However, the event will be kategorizatta on the basis that it transmits to the user and not on the basis of how it performs this transfer.
Method to add a listener for soft selection" can be implemented to receive notifications about events that want to attract the user's attention without selection input. Method to remove a listener for a soft highlight the" stop notice. This method can use the object "callback" to identify this listening process and therefore the last object in it should be the same as passing "method to add a listener for soft selection.
The "soft selection included" may be caused by system 200 access when you receive an event soft selection. To receive this notification, the app is laid on the listening process, or the client 300 calls a method to add a listener for soft selection". The item "source", if available, can be used for more information about the event. An example item is "the source" could be the root logical element the tooltip window used one of the apps notifications in the system tray. The "soft selection included" issues in response to the following: the name of the event; the event source; alarm level indicating the importance to the user.
The following diagram illustrates the actions of the client 300 and the system 200 access when the client 300 uses IPP to add a listener to a top-level window" to listen for events from a particular process.
|Client||The access system and the target PI|
|Calls add a listener to a top-level window".||Client access system triggers a chain of tasks to monitor created and labelled with the Windows of the top-level application. New PI and the client system access client calls the method "open the top-level window is enabled.|
|From the open top-level window is enabled, it causes all other PPIS for registration of additional events in the window of the target PI.||The client system on the stupa sends the event ID in the target PI, so it can provide selectivity in the notification of the event. Client access system sends the event ID and information filtering system server access, so he can then filter the events. The target PI uses the IPP server access system to notify the server side access system about events of interest.|
|Handles events in the callback objects.||Server access system sends events back to the client access system. Server access system calls back the objects that the client application was taken during registration.|
|Causes the IPP method to delete the listening process" to stop receiving event information.||The system server access server transmits the access system and the target PI events that are no longer of interest. The target application stops the notification system server access on events.|
Appropriate methods of event notification used by the server 400 or the base processor PI to support the event access system listed above. The IPP server for automatic processing of the PI include methods that the server or the base processor PI can call to accomplish this. For example, has the SJ method "notify me of changes in the properties for the server, to be notified when you change a specific property for a logic element. Until the server 400 or the base processor PI is provided by the generation of relevant parameters and these methods are called notifications when PI is changed.
Methods added notification about events" and "deleted notice of the event are invoked by a client automatic processing of the PI to notify the server 400, when clients request events. This allows the server 400 does not pass event system 200 access when they are not of interest. Servers can use these notifications to ensure dependencies performance because there are clients using events.
The template controls
The access model offers a unique approach to categorization and providing the functionality supported element or governing body of a particular PI. Instead of linking functionality with a specific type of control (e.g. button, edit box or list box), as in the prior art, the access model defines a set of common templates, controls, each of which defines one aspect of the behaviour of PI. Because these patterns are independent of each other, they can be combined to describe the full set of functions is ture, supported by a particular element of PI.
For example, instead of the item description in terms of the name of its class, such as "button", the system 200 access describes them as supporting the called template control. The pattern of the governing body determines the structure, properties, events, and methods supported by the element. Therefore, these patterns not only allow the client to poll the behavior of the governing body, they also allow him to programmatically manipulate the body control using interfaces designed for a specific template. For example, the template container of choice" provides methods for querying the selected items to select or deselect a particular item or to determine whether the governing body of one or multiple selection modes.
The template controls defined for the system 300 access currently include the following: (1) the container of choice, (2) hierarchy, (3), (4) a simple mesh, (5) text (6) value (7) represents the object (8) sliding, (9) sort, (10), (11) other container.
This method allows developers authorities to implement a new type of body control while maintaining a well-defined approach in view of its behaviour in the products of TP and test scripts. If the new tipulidae entered, the new template management authority can be defined to Express the desired functionality.
Products technology support and test scripts can now be created in such a way as to understand how to work each template instead of each control PI. Because there is much less templates, controls, classes than controls, this method minimizes the necessary code. This approach also allows to achieve a more flexible architecture that can efficiently query and manipulate new controls (to the extent that they support the well-known template controls). The following table presents some examples of normal controls and templates that they will support.
|Authority control||Relevant templates controls|
|checkbox, radio button||Value|
|The list box||The container of choice, scrollable|
|Combo box||The container of choice, scrollable|
|A list with a tree image||The container of choice, scrollable, the hierarchs of the|
|View as list||The container of choice, scrollable, sortable|
|Text box, edit||Value, text, scrolling|
More specific interfaces will be used to provide functionality associated with the patterns of normal controls. Examples of such templates are the following: (1) containers, control; (2) containers mesh topology; (3) the elements of PI containing values; (4) icons that represent objects (files, email, etc); and (5) the elements PI, which can be caused. In principle, these templates are not closelyassociated with the specific controls and the various controls can be implemented with the same templates. For example, list boxes, combo boxes, lists, tree image - all implement the template container management choice. Some authorities can implement a variety of templates: mesh selection can implement as a template container mesh topology, and the template container management selection.
No properties only "role", as in the previous applications. Instead, there are two separate mechanisms. Templates authorities determine the available functionality is Lana management and read by the person localizable property provides the name of the type of control that the user can understand, such as button, ListBox, etc.
The system 200 access will be a special presentation of a General method to obtain the property. Properties preferably represented by the GUID using service methods for translation in nonlocalizable mnemonic form and from this form (useful for scripts and configuration files), as well as to obtain localized descriptions. Two key advantages of the generalized method to get the property compared to the individual methods are the following: (a) it allows you to add new properties in time without changing the interface and (b) it allows implementation techniques, such as launching an array of large volume sampling properties that are not possible using separate methods.
Each property should have a clearly defined purpose. Should be clearly defined, whether the property for consumption by man or machine, should the property be localizable, etc.
The present invention is described above with respect to specific embodiments, which in all respects are illustrative and not restrictive. Alternative implementation should be Cevenini for specialists in the field of technology belongs to the present invention, without deviating from its scope.
From the above it can be seen that the invention is intended to achieve all goals and objectives, as stated above, together with other advantages which are obvious and inherent to the system and method. It should be borne in mind that some features and combinations are useful and can be used without reference to other features or combinations. It is implied and included in the scope of the claims.
1. The access system in the environment of client-server, designed to maintain client notifications about changes in the user interface, and the system contains
the registration mechanism to allow the client to register to receive information of interest to the user interface;
client environment automatic processing of a user interface for receiving registration information from a client and to transmit information of interest to the user interface to the client after receiving, with the client environment automatic processing of the user interface uses the registration information to notify a server of the user interface, and
the server automatically processing user online is RFAS for receiving registration information from the client environment automatic processing of the user interface and to receive the user interface from the processor to the user interface,
the server automatically processing user interface contains a filtering device for filtering out information that is not of interest for the client, and device notifications to notify client environment automatic processing of the user interface information that is of interest to the client, and
server automatic processing of the user interface forms a logical element, if UI is of interest to the client and within a certain volume, and discards information UI, if UI is not of interest or is outside the specified amount.
2. The system according to claim 1, in which the registration mechanism receives the registration information from the customer, the registration information includes information of the object, the location of the customer for the information of the object, and a list of properties that should be issued in response to the source object.
3. The system according to claim 2, in which the client environment automatic processing of the user interface (UI) provides a tool for delivery of information of an object at a specific location of the client.
4. The system according to claim 2, in which the filter tool sør the EPA automated processing of PI determines does the user interface with the processor, the user interface information object and the list of required properties.
5. The system according to claim 1, in which the registration mechanism receives a request for a certain amount of information.
6. The system according to claim 1, in which the notification server automatic processing of the user interface from the processor, the user interface includes the name of the changed property, the new value, and any available old value.
7. The system according to claim 1, in which the information of the user interface contains information regarding at least one event type selected from the group of the following events: event top-level window, event selection, event, change the properties, events, templates, controls, event changes the logical structure, multimedia events, simple sound and event soft selection.
8. The system according to claim 7, in which each item belongs to only one of the event types.
9. The system according to claim 7, in which each event type includes a set of methods for adding the listening process, removal of the listening process, issuing a prompt to the event mechanism about listening to the specified event type and processor user interface notification server automatically education is ODI user interface of the event.
10. Implemented using a computer method to notify the client of interest the UI events, including
receive a registration request from a client to obtain certain information of the user interface;
the control information processor of the user interface from the server automatically processing user interface to determine whether certain information user interface;
filtering information of the user interface with the server automatically process PI to determine whether the information the user interface with the processor, the user interface information object and the list of required properties;
forming a logic element using server automatic processing UI, if UI is of interest to the client and within a certain volume, and drop information UI, if UI is not of interest or is outside the defined volume;
the transmission of certain information of the user interface from the server automatically process the user is Yelsk interface in the client environment automatic processing of the user interface, and
delivery of certain information of the user interface of the client environment automatic processing of the user interface to the corresponding location of the client.
11. The method according to claim 10, in which the reception of the registration request includes receiving registration information including the information of the object, the location of the customer for the information of the object and the list of required properties.
12. The method according to claim 11, in which the delivery of a certain user information includes shipping information object in a certain location of the client.
13. The method according to claim 10, in which the reception of the registration request includes receiving a request for a certain amount of information.
14. The method according to claim 10, further comprising receiving information from the processor of the user interface, including the name of the changed property, the new value, and any available old value.
15. The method according to claim 10, further comprising receiving information of the user interface relating to at least one event type selected from the group of the following events: event top-level window, event selection, event, change the properties, events, templates, controls, event changes the logical structure, multimedia events, simple sound and event soft selection.
16. With the persons indicated in paragraph 15 in which each item belongs to only one of the event types.
FIELD: methods for automatic execution of a program, connected to data file, when data file and program being executed are positioned on different computer units.
SUBSTANCE: in methods, program being executed is accessed through graphic image of data file type, realized in the network, which includes client system and a set of server systems. Client system receives the scheme, which determines connection between the set of programs being executed and corresponding set of data file types. Graphic image of data files is displayed, information about selection of graphic image of data file is received from server system, on basis of it program to be executed is selected and executed.
EFFECT: increased productivity of system due to distributed execution of programs.
9 cl, 19 dwg, 3 tbl
FIELD: engineering of means for pausing execution of a stream until certain memory access occurs.
SUBSTANCE: in one variant of realization, processor contains a set of executive devices, capable of executing a set of streams. First stream includes a command, which determines the address being tracked. Logical pausing means pause execution of first stream, and monitor causes renewal of first flow as reaction to access of given address being tracked.
EFFECT: increased processor productiveness.
5 cl, 14 dwg
FIELD: engineering of computers for controlling memory, in particular, external memory controllers.
SUBSTANCE: memory control device for operation in memory controller network contains memory controller being an owner unit, capable of controlling the blocking of certain data area during execution of input-output outputs, and component for exchanging messages, providing for transmission of at least one message with blocking request, permission of blocking, blocking removal request and blocking removal signal, and also input-output component, while any image of aforementioned data area, received by instant copying thereof, is maintained as coherent relatively to data area itself, and input-output component may position previous direct confirmation, that this data area remains coherent to any such image, to cash-memory, and may perform input-output operations on basis of aforementioned previous direct confirmation. Method describes operation of aforementioned device. Software product for computer is realized on machine-readable carrier and contains a program recorded thereon, realizing operations of aforementioned method.
EFFECT: expanded functional capabilities.
3 cl, 3 dwg
FIELD: computer engineering, possible use in data exchange systems and local computing networks.
SUBSTANCE: device contains N≥2 client blocks, clock impulse generator, N client time controllers, OR element, AND-NOT element, selector-multiplexer, two N-input AND-NOT elements, two priority encoders, main wait time controller.
EFFECT: increased probability of timely servicing of clients under conditions of real functioning process of data exchange systems, with continuous dynamics of change of modes of different priority requests from clients.
4 cl, 7 dwg
FIELD: engineering of interrupt processing mechanisms in computer systems.
SUBSTANCE: system contains processor with multiple contexts for execution of commands stored in memory. In response to common interrupt logical processors of processor with multiple contexts compete for receiving access to jointly utilized register. First logical processor gaining access to aforementioned jointly utilized register processes common interrupt. Remaining logical processors return from interrupt.
EFFECT: increased productiveness of system.
4 cl, 5 dwg
FIELD: engineering of information processing systems.
SUBSTANCE: system contains master-system for processing information, interface, central communication device, client system for processing information, object model. In accordance to method each master system sends to central communication device elements of its data array determined in appropriate master-representation, while in master-representation of connected master system elements of data array are contained, for which system has data priority.
EFFECT: simplified specification and development of interfaces between technical applications.
2 cl, 6 dwg
FIELD: method and device for processing data for preserving recurrent status in data processing device.
SUBSTANCE: device has data processing block, having multiple functioning modes, for each of which special memory stack is present. Method describes operation of this device. Data carrier contains program, configuring data processing device for performing stages of method.
EFFECT: decreased size of code and decreased interruption processing delay.
3 cl, 16 dwg
FIELD: computer science.
SUBSTANCE: device has n-byte query register, query limits location systems, each of which consists of counting timer and OR element, OR element, AND element, keys cascade.
EFFECT: higher reliability and speed of operation.
FIELD: electric communications, possible use for finding and operative identification of information in data transfer networks with packet commutation.
SUBSTANCE: device consists of N, where N≥2, selection blocks, search strategy register, time interval generator, indication block, frequency divider, N mask storage blocks, transition mask address generation block. Device ensures possible identification of packets by means of parallel analysis of identification signs. Independency of device functioning process from standard values of identification signs and content of rules which determine order of packet exchange ensures higher speed of analysis and allows to expand the area of possible usage for the device.
EFFECT: development of information finding device, which ensures area of its usage and increases speed of operation due to identification of packets by means of parallel analysis of values of identification signs and control of sign exchange sequence to determine compliance with any, a priori defined rules.
7 cl, 9 dwg
FIELD: computer engineering, in particular, system for monitoring crisis situations in social sphere.
SUBSTANCE: system contains expert request receipt block, block for identification of information sources, block for commutation of data dispensing channels to workplaces of experts, block for integration of signals for controlling recording and reading of server database, block for receiving data about condition of social tension in society, block for selecting information source addresses, block for forming addresses for recording and reading server database, block for computing growing total of social tension in society, block for receiving server database records, and block for selecting query cycle of sources of information about social tension in society.
EFFECT: increased speed of system operation due to localization of database record addresses by identifiers of messages received by system from territorially distributed message sources.
FIELD: cryptographic protocols, in particular, efficient encoding at content level.
SUBSTANCE: method is provided for generation of digital data with cryptographic protection, encoding content and composed into messages. Encoding of at least a part of the message is performed and encoded messages are provided in form of output signal in format, allowing the interface of server service to compose a message in form of at least one packet, including at least one header and useful load, where at least one header includes information, which allows the service interface in the client to assemble each message for decoding application using useful load of packets. Each message is divided onto the first and at least one additional section of the message. At least one of the message sections is encoded in such a way that it may be decoded independently from other message sections. Assembly of encrypted message is performed by addition of resynchronization marker, separating the message section from adjacent message section and including precise information about synchronization, at least for additional sections of the message.
EFFECT: synchronized decoding process in case of data loss.
14 cl, 8 dwg
FIELD: user interfaces in computers and electronic devices, possible use for displaying contact information, appropriate for contacts management system.
SUBSTANCE: the method for displaying composite contact information realizes provision on displaying device of a set of links of catalogues, frames for displaying requested contact information in assigned type, means for searching by a key expression, means for filtration of composite contact information in accordance to classification. Computer software product contains one or more machine-readable data carrier with commands stored inside for execution by computer for realization of method for displaying composite contact information from a set of incompatible catalogues of contact information.
EFFECT: possible access to contact information from a set of incompatible catalogues, positioned in one or more data storages.
4 cl, 9 dwg
FIELD: computer engineering.
SUBSTANCE: system has unit for making input of visual passport data scanning, unit for identifying anchor addresses in risk group citizens database, data selection unit, unit for creating risk group citizens database addresses, unit for identifying risk group citizens, unit for receiving risk group citizens database data, unit for receiving built-in integral electronic passport micro-circuit data, unit for identifying visual reading data, unit for identifying personal biological parameters, unit for recording finger-print data, unit for setting data record types, unit selecting data types, unit for selecting anchor addresses of data record types, units for modifying data read/write addresses, unit for integrating data input/output signals.
EFFECT: high reliability of system operation.
FIELD: computer engineering, in particular, systems for taking decisions in critical situations of social sphere of region.
SUBSTANCE: system contains block for receiving records of typical plans, block for receiving user requests, block for receiving records of server database plans, block for selecting supporting address of plan, block for selecting supporting reading address, block for selecting user address, block for forming current address of plan, first and second adders, block for forming time period address, block for forming server database addresses, block for controlling reading and recording of data, data dispensing block.
EFFECT: increased speed of system operation due to exclusion of search for optimal plan of actions under conditions of critical situation across whole server database, and localization of search only by time and character signs of certain critical situation.
FIELD: technology for finding and identifying documents based on their descriptions, present in various databases and information resources with different document creation standards.
SUBSTANCE: in accordance to the invention, search requests formed by user are dispatched into search system of server, which processes aforementioned requests by selecting documents from various databases, searching system combines all selected documents in single list, sorts aforementioned selected documents based on topics, creates folders, which contains aforementioned documents of one topic, then aforementioned sorted documents are sorted again with consideration of final rating. After that on basis of user request sections of future report are determined, by means of searching system, text signs of beginning and end of sections are determined, text of documents selected for greatest final rating is marked up, inside each section text segments are selected, segments are sorted according to publishing data, final report is prepared, in which text segments, sorted according to publishing date of original document, are combined in single text array, after that final report is dispatched to user terminal through telecommunication communication means.
EFFECT: increased precision of searching and analyzing of received information.
4 dwg, 1 tbl
FIELD: metadata index structures.
SUBSTANCE: in accordance to the invention, key is searched for across index structure of multi-keys, containing values of multi-keys and identifying information for metadata, corresponding to multi-key value, while multi-keys are structured by means of a combination of predetermined metadata fields, after than a fragment of metadata is extracted using the found key.
EFFECT: increased index searching speed.
4 cl, 15 dwg, 6 tbl
FIELD: index structures for meta-data.
SUBSTANCE: in accordance to the invention, structure of metadata index includes values of multi-keys and identification information for metadata, corresponding to value of multi-key, while multi-keys are structured by means of a combination of predetermined metadata fields. In this structure, key is searched for, which is then used to find and extract a fragment of metadata.
EFFECT: increased meta-data searching speed.
6 cl, 15 dwg, 6 tbl
FIELD: index structure of metadata.
SUBSTANCE: in accordance to the invention, structure of metadata index includes a list of multi-keys and position information for defining multi-keys, while information is determined, which corresponds to search condition fields, and multi-key, corresponding to position information, is searched for, after that, metadata fragment is extracted using the found multi-key.
EFFECT: increased index search speed.
2 cl, 15 dwg, 6 tbl
FIELD: data access technologies.
SUBSTANCE: method includes assignment of simplified network address, recording URL and converting numbers into storage system with net access, inputting assigned number into computer, transferring inputted number to storage system, converting number to URL, receiving page matching URL, and displaying it. Method for use in operation systems for message transfer include intercepting system level messages to certain objects and forming pseudonym messages during that. Systems realize said methods.
EFFECT: broader functional capabilities.
12 cl, 30 dwg