Information client-server system and method for providing graphical user interface

FIELD: data transmission in computer networks.

SUBSTANCE: in accordance to the invention, expandable, usable with various client-server informational systems, system of dynamically created program objects is used, wherein program objects are divided onto a fixed number of categories, which are matched with predetermined program interfaces, where creation of request to server and processing of response from server represent predetermined chains of program object method calls.

EFFECT: reduced load on communication line in client-server system.

2 cl, 6 dwg

 

The technical field to which the invention relates.

The invention relates to data transmission in computer networks and can be used in distributed information systems.

Common terms

Information system client-server distributed information system consisting of a server computer and one or more client computers, each client communicates with the server by a communication line. Currently, as the lines of communication most often used in the Internet environment. The main work in the system client-server is a computer server. The user information system communicates with the client computer.

Request - sequence signals sent over the communication line from the client computer to the server computer. Pings determine what actions should be performed by the server, and the nature of the data that is expected by the client from the server.

Response - sequence signals sent over the communication line from the server computer to the client computer. The response contains the data for the client.

Software object in a certain way organised set of signals in the computer memory. Software objects are created and used during the operation of the computer in accordance with algorithms lens is but-oriented programming. Each program object has a specific set of methods and characterized by a set of values of object properties. Software objects interact by invoking each other's methods. Usually the interaction is done through event handlers.

Method of an object - specific way organised set of signals in the computer memory. The method call causes these signals into action. The method may return data resulting from the execution of the method.

An object property is a characteristic of the object that contains the data of one of the pre-predefined types. Read / write properties are implemented via calls to the corresponding methods of the object.

Events are user actions, or any other changes in the computer system.

The software configuration of the object - specific set of property values of this object.

A description of the software object data, transmitting the software configuration object. For descriptions of software objects can use different binary or text formats.

Version of the software object additional data related to the description of a program object that allows to distinguish between configuration options object.

Interface (software) - a specific set of methods and properties. To support the program is mnogo interface object must have all the methods and properties related to this interface.

The behavior of the object, the object's reaction to events in the system, depending on its configuration. Software objects initially have some behavior that is dependent on the configuration of the predetermined object in response to the events in the system.

The event handler is a certain way the organised set of signals in the computer memory that is executed in response to specific events in a computer system. Event handlers largely determine the behavior of software objects. They modify the default behavior of the objects are the means of individualization of this behavior, and usually provide interaction between objects.

The script - the text containing the program on one of the programming languages that are embedded in a web page or other document. Event handlers can be implemented by dynamic translation (interpretation) of the text of the script into a set of signals corresponding to the event handler.

Web application - information system client-server using a client web browser. The behavior of software objects client side web application is specified by using the scripts embedded in web pages.

Architecture thin client - ACC is accordance with this concept, the client program (the so-called "thin client") only displays the user interface elements, and all user-interface events are processed on the server. This creates additional (in addition to the usual system client-server requests and responses) the load on the communication line.

Caching - save web pages and other documents in a machine-readable storage medium of the client computer with the purpose of their reuse and reduction due to this, the load on the communication line. In web applications, caching mechanism, the web browser usually have to disable, as it can prevent the update data can lead to erroneous use of outdated saved data).

Hashing is a form of encryption without decryption (one-way encryption).

User authentication is a procedure that is executed when the user connects to the system when the user is using conditional name and password authenticates your user rights.

User authorization is the procedure to confirm the authority of the user in the process of the information system.

The terms entered by the author

Self-contained object is a software object that does not require for its operation any event handlers. Self-contained software objects are able to function adequately only as part of a particular system.

Since the system is self-contained objects in a certain way organized system software objects, in which the relationship between them is determined solely by the configuration of these objects. Set in a certain way the relationship between self-contained software objects allow the system to function adequately without the use of event handlers in any form, including, without using scripting. The mechanism of functioning of the systems are self-contained software objects are described below.

The level of technology

Currently, widespread information systems client-server. Person, the user of the information system, client-server, directly interacts with the client computer. In response to user actions (e.g., keystrokes or clicks of the mouse), the client computer running the client program sends via communication signals request to the server computer. The client program provides a user interface on the client computer and converts the user response to a signaling request to the server.

The server computer running the server program. Upon receipt of the signal request from the server in accordance with the request, performs some transformation of data stored on a machine-readable wear the fir-trees, selects data from the same or other machine-readable media, and forwards the data on the communication line in the form of corresponding signals on the client computer. Upon receipt of the response signals the client computer represents data received from the server to the user in a convenient form and, if necessary, writes part or all of the received data on a machine-readable storage medium of the client computer. The exchange of signals and request signals-responses in the system lasts as long as is necessary for the user to solve specific tasks. In addition to the role of the client computer may execute a mobile phone or other communication device that is running the client program.

Thus, for operation of the information system, client-server, you need two programs - server and client. Usually the server program has access to information resources in the form of databases and does most of the work in the system is client-server. The client program is a small part of the work, providing the user interface and the execution of requests to the server.

In many information systems as a client program used web browsers such as Microsoft Internet Explorer, Mozilla or Opera, that is, these information systems are web applications the deposits. Unlike web sites, which provides the user with a pre-determined set of web pages, the web application runs interactively and provides a web page that is dynamically generated in accordance with a user request. The strength of web applications is the universal client program. The web browser is installed on the client computer once, often when you install the operating system. Then it can be used as client programs in a variety of web applications. This eliminates the need for installation of specialized client software for each web application. In the web application logic of the information system and the way the information is presented to the client is entirely determined by the server side. Therefore, frequent changes in the logic and methods of presentation does not require any changes in the client program.

However, the capabilities of web applications is limited. This is related to a very poor user interface provided by the web browser. Recently, attempts are being made to improve the user interface of web applications based on specifications XForms [XForms 1.0 (W3C Recommendation) http://www.w3.org/TR/xforms/] and WebForms 2.0 [WebForms 2.0 (Working Draft) http://whatwg.org/specs/web-forms/current-work/]. However, m is her the new specification does not allow to bridge the gap that separates the user interface of web applications from a much better graphical user interface provided by Windows, MacOS, XWindow, Java, etc. So when a distributed information system needs to be developed graphical user interface, developers are forced to create a specialized client program native to this client platform, that is based on the application programming interfaces specific client platform. In this case, for each information system requires its own client program, each change in the logic of the information system or ways of presenting information to the user requires updating client software (to reinstall on the client computer). Shipment and reinstall new versions of the client program causes additional load on the communication line, a major inconvenience for users, leads to additional financial costs.

The objective of the invention is the creation of a technology (system and method) development of information systems client-server with advanced graphical user interface in which the business logic and methods presents the I information are entirely server-side, and the client part presents a universal program that does not require you to reinstall for each individual application. In this case the operation graphical user interface that is adequate interaction between objects in the user interface with the user and with each other, must occur on a client computer without calls to the server. The technical result of the invention shall be limited only by the load on the communication line, which creates a forwarding packages and updated versions of client programs.

Known methods of providing advanced graphical user interface of the web application due to the introduction in the web page ActiveX components or Java applets [Hdata, PData, Nieto. How to program for Internet & WWW. M. "Binom", 2002, 1184 C.]. However, these methods do not solve the task, as appropriate implement components are not universal (for each web application requires specialized components) and require updating when changing the logic of the information system or change the way information is represented. The same applies to the new technology Java Web Start Java Web Start Technology, http://java.sun.com/products/javawebstart/], which is designed to improve Java applets.

is swesty options for implementation of the information system client-server architecture "thin-client" [US 2002130900; US 2003135825]. According to [US 2002130900; US 2003135825] the user interface objects are created dynamically, according to the descriptions in the language of structured XML markup received from the server. This reduces the load on the communication line due to the universal nature of the client program. However, the additional load on the communication line from the processing of a client server event negates this advantage.

The closest analogue of this invention is the [WO 2004019160]. In [WO 2004019160] proposed a software user interface objects on the client computer to create dynamically on the basis of the received server descriptions in any language structural markup (XML, XSL, DHTML, XHTML, HTML). Customizing the behavior of the software user interface objects is achieved with scripting using JavaScript. It is believed that such systems can have the property of extensibility, that is, the system as necessary can be added new object types. However, the script is usually necessary task object model is a set of predefined object types (classes, in the terminology of object-oriented programming), which contradicts the principle of extensibility. These proposals are not yet widely used, perhaps it is because of this contradiction, and with whom agnosti implementing a universal mechanism scripting support.

Disclosure of inventions

In the invention the problem is solved by using client-side universal system dynamically created, self-contained software objects and organization of information systems client-server in accordance with a certain algorithm. As in [US 2002130900; US 2003135825; WO 2004019160] in this invention a software object on the client computer are created dynamically according to their descriptions received from the server, but in this invention the user interface objects are not embedded in the web browser, and are operating in the universal client program. In contrast to [US 2002130900; US 2003135825] in this invention for the operation of the user interface does not require access to the server. In contrast to [WO 2004019160] in this invention for the operation of the system does not require support mechanism scenarios. Use in this invention systems are self-contained software objects eliminates the complexity of implementing a universal support mechanism scenarios. For carrying out this invention does not matter the format descriptions of self-contained objects.

In contrast to commonly used software objects whose behavior is largely determined by the event handlers is th, the behavior of the self-contained software object is completely determined by its configuration, i.e. the set of values of properties of this object. The reaction is self-contained software object on events in the system depends on the configuration of the object, but at any particular configuration it in advance predopredelena and not subject to modification by using event handlers.

How can be ensured adequate interaction of various objects, if the modification of their behavior is not assumed? For this purpose, the invention objects on the client side are combined in a system of self-contained software object, the operation which takes into account the unified nature of the interactions of objects within the system client-server.

Brief description of drawings

Figure 1 explains the operation of the system of self-contained objects in the case of a request to modify and retrieve data.

Figure 2 presents the block diagram of the algorithm when the request to modify and retrieve data.

Figure 3 explains the operation of the system of self-contained objects when the request for a new container. For simplicity, this diagram does not show the caching mechanism.

Figure 4 shows the block diagram of the algorithm when requesting a new container without caching mechanism.

Figure 5 explains the cache mechanism is the formation at the request of the new container.

Figure 6 presents a block diagram of a caching algorithm at the request of the new container.

Fig.7 shows an example of window forms, intended for making payments on credit cards.

On Fig presents the block diagram of the algorithm when making payments on credit cards.

Figure 9 shows the block diagram of the algorithm in full or selective encryption of the query.

Figure 10 shows the block diagram of the algorithm at full or selective decryption of the response.

Figure 11 shows the block diagram of the algorithm run universal client program.

The implementation of the invention

All self-contained objects in the system are divided into several categories. The object belonging to a particular category defines its role and behavior in the system. In the system of self-contained objects provides the following categories of objects:

- Containers are designed to be self-sufficient Association of the objects in the group. In the user interface, these objects are presented in the form of window forms and different groups of panels. The purpose of the container object to have access to all self-contained objects, which he combines with the aim of transferring the data received from the server, or retrieve data from them to make a request to the server. Description container includes described what I all related objects including other containers. Any self-contained object (with the exception of window forms part of any container. Window forms exist independently, as a top-level containers.

Initiator - buttons, menu items, and other objects that can initiate a request to the server based on user actions (keystrokes or mouse clicks).

Recipient - label, string input, text areas, lists, tables, charts, and other objects that can receive and may display data received from the server.

- Interrogators - line input, text areas, lists, tables, and other objects that are capable of providing the data to make a request to the server.

- Decorators - images and other elements of graphic design, are not able to interact with the user. Decorators do not affect the operation of the information system, their presence or absence determines exclusively the appearance of window forms.

Intermediary - a special self-contained objects, which is the link between the objects in other categories.

Some self-contained objects can belong to several categories, for example to be both requesters and receivers.

The object belonging to a certain category requires is Alicia mandatory for this category of attributes, that is, the support of the corresponding interface.

We list the minimum sufficient set of methods and properties of the interfaces of the respective categories listed self-contained objects.

Interface Initiator:

property Broker determines which broker will be powered by this initiator.

The interface Mediator:

property Container defines a container that will participate in the creation of a query;

property Tiptaps - determines the nature of the query. Minimal set, sufficient for operation of the system, includes the following types of requests: a request for a new container; request data for an existing container; request, modifying data on the server and then receive data from the server; the request, modifying data on the server without subsequent receipt from the server of any data; several options requests to authenticate users;

property Imaandaar - determines what kind of container you want (if you are requesting a new one) or to a container of requested data;

is the property of Adresselvira - contains the network address of the server that implements the information system;

method Went - lead mediator in action.

Interface Requestor:

- method Policiesare - returns part of the request, the communication is relevant to a given requester.

Interface Receiver:

method Ostrovitjane - sends the appropriate data to a particular recipient.

Interface Container:

- method Sformirovalsya-returns the full request to the server. When calling this method, the container loops through all the related objects interrogators and causes for each requester method Policiesare, shaping the obtained parts of a complete request.

method Raspredelenie - loops through all related to container objects recipient, causes for each method Ostrovitjane and thus sends the appropriate data to each recipient.

The interface Designer is not required.

All self-contained objects must have a Name property whose value identifies them.

When requests for new containers can be used special caching mechanism, which provides an additional reduction of the load on the communication line. In the listed set of methods and properties of the interfaces are not included properties required for data protection by complete or selective encryption of requests and responses, and storing the cached object descriptions in encrypted form (see below).

Notice on figure 1 the interaction between client and server in case of a request to modify and retrieve data (block diagram, figure 2).

Conditional hereafter the treatment: 1 - the server 2 client 3 client program, 4 - stage query, 5 - stage processing of the response.

Sequence of actions:

- 6 user actuates the Initiator 7 (button, menu item, etc.) (block 21).

Initiator 7 calls for a Mediator 8 method Went (block 22).

Proxy 8 Container 9 calls Sformirovalsya (block 23).

Container 9 queries related self-sufficient objects interrogators (loop blocks 24-26), calling for each method Policiesare (block 24), it passes the request of the parts corresponding to the interrogators (block 25), and returns the generated request to the Intermediary 8 (block 27). (Unit 26 checks the condition if the interrogators treated?)

Proxy 8 forwards the request to the Backend Program 10 of Adresselvira (block 28).

- Server Program 10 modifies Data in the Database 12 (block 29), queries and get Data from the Database 12 (block 30).

- Server Program 10 causes the data to the desired format (block 31) and sends them to the Mediator 8 (block 32).

Proxy 8 transmits the received data into an existing Container 13 by calling the method Raspredelenie (container 13 can be the same as with the original container 9) (block 33).

Container 13 distributes the received data between related self-sufficient objects recipients cycle, blocks 34-35)by calling the method Ostrovitjane for each recipient (block 34). (Unit 35 checks the condition - whether all recipients treated?)

In figure 3 watch the interaction between client and server when requesting a new container (without caching) (block diagram figure 4).

Sequence of actions:

- 6 user actuates the Initiator 7 (button, menu item, etc.) (block 41).

Initiator 7 calls for a Mediator 8 method Went (block 42).

Proxy 8 Container 9 calls Sformirovalsya (block 43).

Container 9 queries related self-sufficient objects interrogators (loop blocks 44-46), calls for each method Policiesare (block 44), forming a query from parts corresponding to the interrogators (block 45), and returns the generated request to the Intermediary 8 (block 47). (Unit 46 checks the condition if the interrogators processed)

Proxy 8 forwards the request to the Backend Program 10 of Adresselvira (block 48).

- Server Program 10 finds and reads the description of a new container located on the Server machine-Readable storage Medium 11 (block 49).

- Server program 10 sends a description of a new container Mediator 8 (block 50).

Proxy 8 on the obtained description creates a New Container 14 (block 51).

Proxy 8 sends a second request to the server, now the La retrieve the data for the New Container 14 (block 52).

- Server Program 10 requests and receives Data from the Database 12 (block 53).

- Server Program 10 causes the data to the desired format and forwards them to the Intermediary 8 (block 54).

Proxy 8 transmits the received data to the existing New Container 14 by calling the method Raspredelenie (block 55).

Container 14 distributes the received data between related self-sufficient consumers (cycle, the blocks 56 -57)by calling the method Ostrovitjane for each recipient (block 56). (Unit 57 checks the condition - whether all recipients treated?)

Notice on figure 5 the operation of the caching mechanism at the request of the new container (block diagram 6).

In the beginning, until receipt by the Intermediary from 8 Container 9 is formed query, actions are performed in accordance with figure 3 (blocks 41-47 figure 4). Next, perform the following steps:

Proxy 8 searches on the Client machine-Readable Data Carrier 15 description of the new container and version of this description (block 61). If the description and version are present on the client computer (block 62), the Mediator 8 includes in the request the version of the description (block 63).

Proxy 8 forwards the request to the Backend Program 10 of Adresselvira (block 64).

- Server Program 10 finds and reads the description of a new container and version descriptions, the station is camping on the Server machine-Readable storage Medium 11 (block 65).

- Server Program 10 compares the version descriptions from the client 15 and the server 11 machine-readable data carriers (block 66). If the versions of the descriptions match, then the server Program includes in response to the corresponding characteristic (block 67). In this case, description and version on the client computer is not forwarded. If the versions do not match, or version not present in the request, the server Program includes in the response a description and version (block 68).

- Server program 10 sends the response to the Intermediary 8 (block 69).

Proxy 8 analyzes the response. If the characteristic matches the version is not available (block 70), then the Broker stores the description and version on the client machine-Readable Data Carrier 15, if necessary, replacing the existing description and version (block 71). Otherwise, use the existing description (block 72).

Proxy 8 according to the description (possibly just received) creates a New Container 14 (block 73).

Further actions are performed in accordance with figure 3 to obtain the data for the new container (blocks 52-57 figure 4).

If the subsequent session in the logic of the information system or the way data is no change, a description of the containers will be read from the client machine-readable data carrier. Lines Bud is t only be passed versions of the descriptions of containers and signs that description has not changed. If necessary, make changes in the logic of the information system or in the way information is represented, in addition to the changes in the operation of the server program, it is enough to modify stored on the server machine-readable data carrier descriptions of the relevant containers and change versions of these descriptions. In this case, stored on the client machine-readable data carrier descriptions of the corresponding containers will be updated in the next session. Thus, the caching mechanism, on the one hand, it allows you to update the logic of information systems and ways of representing information, and on the other reduces the load on the communication line due to the fact that the description of each container is updated only when necessary.

The possibility and necessity of application caching mechanism for descriptions of the containers is associated with the fact that these descriptions may remain unchanged for many sessions. For data coming from the server into a self-sufficient consumers, caching is not used, as these data can vary even within one working session.

As indicated above, for the correct operation of web applications usually have to disable the existing web browsers caching mechanism. This SV is connected with the that the HTTP Protocol and the HTML language used in web applications, do not allow to distinguish data that change frequently, from data that changes rarely. Therefore, the caching mechanism, the web browser may prevent the update data and lead to erroneous use of outdated data stored. Disabling caching in web applications leads to a full reload of web pages on every request. This creates additional (significant and unjustified) the load on the communication line when running the web application.

Figure 1-6 illustrate the interactions of the systems are self-contained objects. We have considered two types of queries. The algorithms perform other query types do not have fundamental differences from the considered algorithms. The functioning of the system in full use mode "request-response"characteristic of any system client-server. It is the functioning of the information system in this mode allows you to build a universal sequence. It is important to note that the sequences of actions can be performed without the involvement of any event handlers, including script-based.

For successful participation in the query and receiving the response is sufficient to properly configure the system self-sufficient objects, which have properly set the values of their properties. In particular, in the case of the query shown in figure 1, the objects must be correctly set the following properties:

- the Initiator 7 property Broker must indicate Mediator 8 involved in the query;

- the Mediator 8 property Container should point to a Container 9, forming request; property Tiptaps must match the type of the request; the property Macotakara must match the name of the Container 14, for which the requested data; the property of Adresselvira must contain relevant data;

Container 9 should include all the objects necessary to build a query, with properly defined configurations.

All necessary configuration data can be included in the description of the Container 9 (in this case, the Initiator and 7, and one Mediator 8 contained in the Container 9). Configuration objects are created by their intermediary, immediately after their creation on the basis of the description of the containing container.

To participate in the system self-sufficient object is necessary and sufficient to support the interface corresponding to its (object) category. In these circumstances, the proposed system can be easily updated with new self-contained objects, i.e. is extensible. Self-contained objects, supplementing the system can be placed in the file is dynamically loaded libraries on a machine-readable storage medium of the client computer. After writing dynamically loadable libraries on the machine-readable storage medium of the client computer contained self-contained objects can be used in various information systems. Thus, expansion of the system is self-contained objects requires only a single transmission lines small volume of dynamically loaded libraries.

Consider now the interaction of the systems are self-contained objects with the user. The nature of this interaction as well as their interaction within the system is completely determined by the configuration of the self-sufficient objects. Self-contained objects perceived by the user of the information system as a graphical user interface. In essence, they should provide developed a graphical user interface, typical for client platforms Windows, MacOS, XWindow or Java. They are based on application programming interfaces specific client platform. Adequate behavior of the user interface objects includes:

- the set of constraints of the input information corresponding to the current use case objects;

warning the user about his inappropriate actions;

- mutual consistency of the objects.

Show how the m, all these functions can be implemented without the use of event handlers, only through configuration self-contained objects. Let us consider an example. 7 schematically shows a window form 101, designed for credit card payments (for simplicity not shown in all the required fields). A drop-down list 102 is a specialized object that contains a list of supported credit cards such as: VISA, American Express, gold Crown, etc. of the input Field 103-107 are designed to enter the appropriate numeric and alphabetic data: 103 - credit card number, 104 and 105 of the month and year of expiry of the credit card 106 - payment amount and 107 - the name of the card holder. Objects 102-107 are interrogators. Buttons 108 and 109 initiate transfer operation request to the server and close the window forms, respectively. The figure is not shown mediator, which is present in the container 101, but for a user is invisible. The mediator property Container should indicate on the window form 101. The button 108 property Broker must point to an existing broker.

Show how can be implemented restrictions information input. For input fields constraints can be associated with properties Hipstering and Maksimalnaya. Property Maksimalnaya determines the maximum number of characters entered. Property Hipstering determines to which such characters can be entered in the string. So for input lines 103-105 property Hipstering must be set to the value of the integer. This content type allows you to enter only numeric characters. For input line 106 property Hipstering must be set to the value of Money. This content type allows you to enter only numeric characters and a decimal separator (dot or comma, depending on regional settings). Similarly configured, and other input fields. In the process of typing, object - input line verifies that the input property value Hipstering and ignores invalid characters. It is important that the control input is performed by the object itself and not external to the object the event handler.

Show how can be implemented to alert the user about his inappropriate actions (block diagram Fig). In this case, the typical inadequate user actions are empty input fields or selected credit card type. When the user clicks the button 108 steps are performed in the following order:

Button 108 actuates the mediator calls for intermediary method Went) (block 81).

Proxy calls for container 101 (which indicates the property Container) method Sformirovalsya (block 82).

Container 101 goes through relating what iesa to it self-sufficient objects interrogators 102-107 (cycle, blocks 83-86), calling for each method Policiesare (block 83). (Block 86 checks whether all interrogators processed.)

- When calling Policiesare for the drop-down list 102 checks the adequacy of the actions of the user (block 84). In this case, if the user has selected the type of credit card. If the user has not selected the type of credit card that is inadequate operation, the program operation is aborted, the drop-down list to open the user window message (block 85) with the text "Not selected credit card type".

- When calling Policiesare for each of the input lines 103-107, each row independently verifies the adequacy of the actions of the user (block 84). For the input, this means checking, whether filled this field. If the user did not fill in the input line 103, which is an inadequate action, the program is terminated, the input line 103 opens for the user a message box (block 85) with the text "Not filled in the field "credit card Number". (Text "a credit card Number must be contained in the property Fieldname input line 103.)

If all fields are filled, then the actions are performed to obtain a new container - window form with the results of the payment (blocks 47-57).

At each stop of program operation, the user must perform the necessary co is retireve and again press the button 108. It is important that the inadequate control actions of the user and the message is performed by the object itself and not external to the object the event handler.

We will show how to implement the mutually agreed behavior self-contained objects. In this example, (7) the number of digits in the credit card number (the input line 103) depends on the type of credit card that is selected in the drop-down list 102. For example, a credit card number VISA can consist of 13 or 16 digits credit card number American Express of 15 digits, the number of the card Dinners Club of 14 digits, etc. in Addition, valid credit card numbers comply with the rules specific to each type of card. Therefore, the objects 102 and 103 must act in concert. For solving this task, the input line number, and credit card must have the property Speakertomanagers, pointing to the list 102. In this case, in the input process, the allowable number of entered digits may be agreed upon with the credit card type selected in the list 102, and when the method is called Policiesare to the input line 103 can according to an appropriate algorithm to verify compliance with the entered number, type of credit card. In case of discrepancy of the entered number, type of credit card the user can be warned suitable is m message. It is important that this work is done by self-contained object, the input string, and not the event handler.

Thus, we have shown how without using event handlers can be provided with the adequate behavior of the user interface objects.

The above sequence of steps are essentially the basis for the original Protocol of the information system client-server, which can be formulated after their particular formalization. This Protocol can be run over a known network protocols such as TCP/IP, HTTP, HTTPS, SOAP [Hdata, PData, Nieto. How to program for Internet & WWW. M. "Binom", 2002, 1184 C.] and others, such as data transfer protocols in mobile networks. The choice of the underlying network Protocol is of no importance and impact only on the particular implementation. The choice of higher level Protocol (such as HTTP, compared with TCP/IP or SOAP compared with HTTP) allows us to simplify the implementation process. On the contrary, the choice of the low-level Protocol will make the transmitted data packets is more kompaktnimi and reduce the amount of data sent over communication lines.

Let us consider briefly the issues related to authentication and authorization of users. We will distinguish three levels of authentication:

- P is Ustashi case when the information system provides open access to everyone and no authentication is required, refers to a zero level. In this case, the request for the logon does not contain any data about the user.

- If the client and server is carried out via a secure connection (for example, as a base selected the HTTPS Protocol), the user name and password can be transmitted over communication lines to the server in the authentication request. In this case, to authenticate a single query (the first level).

- If you are using an insecure connection, then send the password over the wire in the open or even a hashed form is prohibited. In this case, authentication will require two queries (the second level) and can be carried out in two steps according to the type of digest authentication or Kerberos [Joel Scambray, Mike Shema Secrets hackers. Security Web-application - ready solutions, M. "William", 2003, 383 S.].

In any case of successful authentication means providing the user a unique session ID. At the zero level authentication session ID is allocated to the user without verifying name and password. In the further work of the information system session ID can be included in all requests for data the containers, thus each time the query is executed authorization of the user.

If the underlying network Protocol is the Protocol without data encryption, such as TCP/IP or HTTP, data protection, in the form of full or selective encryption of requests and responses, can be built directly into the system. This requires that the interfaces of the Sender, the Recipient and the Container had the following properties:

Interface Requestor:

- property-flag Simulators set if part of the request, as appropriate to the requester, it should be encrypted.

Interface Receiver:

- property-flag Rasshifrovat.html set if part of the response corresponding to this recipient should be decrypted.

Interface Container:

- property-flag Simulationists is set if the entire request should be encrypted

- property-flag Rasshifrovyvayut is set if the entire response should be decrypted.

Encryption algorithms can be implemented as dynamically loadable libraries. For full and/or partial encryption of requests and decrypt responses can be used by different algorithms. Thus, at the same time can be used up to 4 different encryption algorithms.

Will show you how in the implementation of full and/or partial encryption when generating the query (block diagram Fig.9). When calling Sformirovalsya (block 121) container queries related self-sufficient objects interrogators (cycle 122-126), calling for each method Policiesare (block 122). If the requester has been set Simulators (block 123), the container encrypts this part of the query (block 124) using dynamically loaded libraries and include it in the full query (block 125) in encrypted form. Unit 126 checks whether all interrogators treated. If a container has been set Simulationists (block 127), the generated query is additionally encrypted (block 128) before sending to the server (block 129).

Show how you can perform full and/or partial decryption upon receipt of the response from the server (block diagram figure 10). When you call a method Raspredelenie (block 141)if a container has been set Rasshifrovyvayut (block 142), the container decrypts the response received from the server (block 143) using dynamically loaded libraries. The container distributes the received data between related self-sufficient consumers (loop blocks 144-148)by calling the method Ostrovitjane for each recipient (block 144). If a particular recipient has been set Rasshifrovat.html (block 145), the container decrypts the data (block 146) with dynamic is Eski loaded libraries, intended for this recipient, before calling Ostrovitjane (block 147). Block 148 determines whether all recipients processed.

The encryption keys can be retrieved from the server when the user is authenticated by the Kerberos Protocol [Joel Scambray, Mike Shema, the Secrets of hackers. Security Web-application - ready solutions, M. "William", 2003, 383 S.]. These keys are valid for one session.

Similarly, it can be arranged data encryption, containing descriptions of containers. In this case, a description of the containers shall be transmitted on the communication line and stored on the client machine-readable storage medium in encrypted form. Responsible for the interpretation of descriptions can be assigned to a mediator. The need for decryption can be specified by setting properties broker Rasshifrovyvaetsya.html. The session key cannot be used to decrypt the description of the container, as this description can be read from the client machine-readable data carrier repeatedly, in several working sessions. As the key to decrypt the description of the container can be used the user's password directly or in the form of a hash.

Consider now the operation of the client computer that is running the universal client program is, based on a system of self-contained software objects.

Universal client program should include a rich set of self-contained objects that can satisfy the needs of most information systems business nature. The inclusion of an object in the system means that objects of this type can be created and configured on the basis of their descriptions. The few information systems, for which a standard set of self-contained objects will not be enough, can be recharged more objects contained in dynamically loaded libraries.

To start a particular application, the client program need to have the following information:

- the network address of the application server;

- method of authenticating users is adopted in this Appendix;

- the name of the first container, i.e. the container is requested immediately after the user is authenticated;

- a list of dynamically loaded libraries with self-contained objects that complement the system (if necessary);

- the list of dynamically loaded libraries with algorithms for full or partial encryption of requests and responses (if necessary).

These data can be stored in the initialization file of the application on the client machine-readable media. Considering the Rome procedure at the beginning of the session, the client computer running the universal client program (block diagram 11):

- from the initialization file on a machine-readable storage medium of the client computer reads the data about the address of the application server, the authentication method, named after the first of the requested container and file names dynamically loaded libraries (block 161);

- if the list of file names dynamically loaded libraries is not empty (block 162), then loaded (block 163) dynamic libraries with additional self-contained objects and libraries with the implementation of encryption algorithms;

- to perform authentication requests is created and configured a proxy object (block 164);

- if the user authentication requires a user name and password (first and second levels) (block 165), is created and then displayed on the monitor screen special Windows form that contains the input field name and password and click enter in the system (block 166);

- if authentication is used the zero level, the request to log into the system runs without any user actions (block 167);

- if you use the first or second authentication level, the authentication is performed after entering the user name and password and click log in with, respectively, one or two queries (block 168);

- in case of successful authentication (block 169) the existing paragraph is the facilitator asks for a known name first created by the container (the first window form) (block 170);

the proxy creates and configures according to the received description of the first window form (block 171);

further work information system is on the way, which is determined by the content of the first window form. This form must be intermediaries requesting other window forms. Thus, the logic further operation of the information system is determined completely by the server (in particular, through received from the server description the first window form) (block 172);

- the user with the information system terminates after closing it the first window form (block 173).

Thus, we have shown how a client computer that is running the universal client program, based on a system of self-contained software objects that can perform work, the logic of which is entirely determined by the server. Due to the universality of a client program may control the operation of the client computer in various information systems, providing advanced graphical user interface. Do not want to reinstall the client program to work in other information systems, as well as changing logic and ways of presenting data. This leads to achieving the desired technical effect is to reduce the load on the communication line due to the lawsuit is Uchenie additional load, which creates a forwarding packages and updated versions of the client software. It also eliminates the load on the communication line, specific to a client-server architecture "thin client".

Although the present invention is described by way of examples of its implementation, the scope of the present invention is not limited to these examples, but is defined only by the claims with regard to the possible equivalents.

1. Information system, consisting of a server and one or more clients connected to the server by a communication line, in which the work on modification and sample data runs the server, and the clients make requests to the server to modify and access data and provide advanced graphical user interface, different use on each client extensible, suitable for a variety of information systems client - server system dynamically created software objects, in which software objects are divided into a fixed number of categories, and corresponding predetermined set of software interfaces, and the formation of the query to the server and processing the response from the server are predetermined chain of method calls software objects.

2. Information system according to claim 1, characterized enforcement is using as a base, network Protocol TCP/IP.

3. Information system according to claim 1, characterized by using as a base, network protocols HTTP and HTTPS.

4. Information system according to claim 1, characterized by using as the base, the SOAP Protocol over network protocols HTTP and HTTPS.

5. Information system according to claim 1, characterized by the support server-side session Protocol with the authentication session ID.

6. Information system according to claim 1, characterized by the use of user authentication by digest authentication.

7. Information system according to claim 1, characterized by the use of user authentication using the Kerberos Protocol.

8. Information system according to claim 1, characterized by the use of caching mechanism descriptions of self-contained objects.

9. Information system according to claim 1, characterized by the use of full and/or selective encryption of requests and responses using the session keys.

10. Information system according to claim 1, characterized by the use of self-contained descriptions of objects transmitted over the communication lines and cached on client machine-readable storage medium in encrypted form.

11. Information system according to claim 1, characterized in that the quality of communication lines used network radio and mobile services, as customers are used hundreds of the new phones.

12. Method of providing a graphical user interface on the client computer in an information system, client - server, using object-initiator intended to specify the object proxy, initiate the creation of a query to the server object proxy, intended for communication among objects, define a container object, designed to combine objects interrogators in the group that participates in the formation of the query object container polling objects interrogators, including the control of the input data, the result of which determine whether the data contained in the objects-the interrogators installed maximum length defining the maximum number of entries, and the type of content that determines which characters can be entered, and the data that do not meet the mentioned maximum length and data type are ignored, and if the object requester does not contain any data, interrupts the program and the user a message that he did not enter the required data objects interrogators present data on the basis of which form the query to the server, which returns the object to the proxy, which forwards the request to the server, based on which the receive data is e from the database server with which they are brought to the desired format and transmit them to object to the intermediary through which transfer the received data from the server to another object container, which distribute data between related objects receivers designed to receive and display data in a graphical user interface.



 

Same patents:

FIELD: communications engineering, methods for packet transmission of messages, possible use for transferring discontinuous information protected with interference-resistant code.

SUBSTANCE: in accordance to the invention, at transmitting side a message is divided onto blocks, length of which is equal to number of packets in a message, each block is encoded with interference-resistant code, block interleaving of interference-resistant code symbols is performed at interleaving depth equal to packet length, then symbols of interference-resistant code are divided onto packets in such a way, that each code symbol is positioned in its own packet, while in each packet control group is created for detection of errors, and then packets are transmitted to receiving side through a multidimensional route. At receiving side control group is checked for each packet, and packets with found errors are deleted, deinterleaving of symbols in received packets is performed, interference-resistant code is generated, which is then decoded with correction of deletions and received message is produced. As interference-resistant code, Reed-Solomon code is used.

EFFECT: reduced message delivery time.

2 cl, 1 dwg

FIELD: method for transferring data signals in communication system with centralized or decentralized organized access to transmission environment with usage of a set of transmission modes.

SUBSTANCE: in accordance to the invention, in a communication system, which is standardized in parallel according to IEEE 802.11a with decentralized organized access to transmission environment, preferably to IEEE 802.11 system with distributed coordination function with usage of a set of transmission modes, pilot-signals are transferred from transmitter to receiver and then cross-reference table is computed by receiver relatively to transmission modes on basis of received pilot-symbols. Cross-reference table is transferred from receiver to transmitter in such a way, that following data exchange may take place on basis of aforementioned cross-reference table. In case of centralized organized access, preferably in IEEE 802.11 system with point coordination function improvement is achieved because already with transmission of cross-reference table the following data is correspondingly adaptively modulated.

EFFECT: increased traffic capacity of a channel in communication system.

3 cl, 8 dwg

FIELD: method for transferring data signals in communication system with centralized or decentralized organized access to transmission environment with usage of a set of transmission modes.

SUBSTANCE: in accordance to the invention, in a communication system, which is standardized in parallel according to IEEE 802.11a with decentralized organized access to transmission environment, preferably to IEEE 802.11 system with distributed coordination function with usage of a set of transmission modes, pilot-signals are transferred from transmitter to receiver and then cross-reference table is computed by receiver relatively to transmission modes on basis of received pilot-symbols. Cross-reference table is transferred from receiver to transmitter in such a way, that following data exchange may take place on basis of aforementioned cross-reference table. In case of centralized organized access, preferably in IEEE 802.11 system with point coordination function improvement is achieved because already with transmission of cross-reference table the following data is correspondingly adaptively modulated.

EFFECT: increased traffic capacity of a channel in communication system.

3 cl, 8 dwg

FIELD: technology for controlling and managing transmission of data between user terminals, connected to first and second communication networks through a gate and a firewall.

SUBSTANCE: method includes stages for dispatching access request by user terminals to gate, where gate reads each access request, modifies access rule in firewall to allow access of each user terminal, which requests access on basis of authorized IP-address of each user terminal, and simultaneously manages transmission of data between user terminals and second communication network in aforementioned firewall.

EFFECT: allocation of traffic capacity for user terminals, which allocation may be dynamically controlled globally or locally.

3 cl, 6 dwg

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: traffic division filter of level 2 of model open system interaction model in at least one commutating router (42) for access to network (40), where ports in routers (42, 44) are configured for one and the same virtual local network.

SUBSTANCE: in accordance to the invention, filter filters traffic of data packets relatively to ports, while ensuring imitation of the case where if source-device and addressee device are in one and the same level 2 domain, then address of level 2 router is the actual address of addressee both for source device and for addressee device, and also ensuring imitation of the case where if source device and addressee device are not in one and the same level 2 domain, but are in one and the same level 3 subnet, the address of level 2 router is the actual address of level 2 addressee for source to addressee. By means of such filtration, usage of one IP-subnet is implied, which extends across several rooms and a set of commutating access routers, and usage of the same subnet for a set of level 2 domains, resulting in coverage of larger number of users.

EFFECT: increased safety level in the network.

2 cl, 3 dwg

FIELD: communication system, possible use for routing a message to a temporarily inaccessible network user.

SUBSTANCE: in accordance to the invention, subscription is imitated for network user registration status, if network user is listed as inaccessible. Then notification is generated, when network user registration status changes, to list condition, when network user is accessible again or when network user is registered again, and message is routed to network user in response to receipt of notification.

EFFECT: ensured awareness of subscriber about condition of connection or registration of network user.

4 cl, 4 dwg

FIELD: system for bi-directional packet data transmission for transmitting packet data between terminal and radio access network.

SUBSTANCE: the system comprises resources of uplink and resources of downlink, each one being assigned independently. Memory resources may be efficiently controlled even when servicing packet data transmission with asymmetric structure when volume of packet for downlink is much larger than volume of packet for uplink, or volume of packet for uplink is much larger than volume of packet for downlink.

EFFECT: development of method and system for bi-directional packet data transmission, which are capable of asymmetric assignment of memory resources for uplink and downlink.

4 cl, 7 dwg

FIELD: packet data transmission.

SUBSTANCE: method includes receiving a packet; checking, whether the packet is fragmented, and if so, checking whether it contains information related to selection of correct data transmission channel, and if so, packet is transferred into correct data transmission channel, information related to fragmentation contained in the packet is stored, second packet is received, aforementioned second packet is transferred into correct data transfer channel on basis of information, related to fragmentation, and if not, information, related to fragmentation, stored in the packet, is preserved, and another packet is received which contains information, related to selection of correct data transmission channel, and the other packet and preserved packet(s) are transferred into correct data transmission channel.

EFFECT: transmission of fragmented data packets.

6 cl, 3 dwg

FIELD: communication engineering.

SUBSTANCE: method and device are claimed for transmitting datagrams via a network which contains subnets, serviced by corresponding servers of subnets, or sender terminal, in particular, by mobile terminal, which connects via wireless communication line, to a set of addressee terminals, serviced by a set of aforementioned subnets, wherein datagrams are routed using addressee indexes contained in datagrams. For realization of the method, server which groups subnets, selects a set of subnet servers and realizes transmission of datagrams between aforementioned sender terminal and addressee terminals inside corresponding selected subnets, where selection is performed in accordance to criterions, such as geographical position, selected as a function of information, received from sender terminal without individual addressee indexes of addressee terminals, determined by sender terminal.

EFFECT: possible communication using datagrams via communication network from one terminal to a set of other terminals, selected in accordance to criterions, selected as function of information, received from transmitting terminal.

2 cl, 2 dwg

FIELD: network communications, in particular, control means built into applications for conduction of network exchange.

SUBSTANCE: expandable communication control means is used for maintaining communication between computing device and remote communication device. In a computer program adapted for using expandable communication control means, information about contacting side is found, and on basis of found contact information it is determined which types of transactions may be used for communication with contacting side at remote communication device. As soon as communication setup function is determined using contacting side information, communication setup request, associated with such a function, is dispatched to communication address. After receipt, expandable communication control means begins conduction of communication with remote communication device.

EFFECT: creation of more flexible and adaptable software communication control means (program components) for processing communications (connections, exchange) between devices.

3 cl, 11 dwg

FIELD: engineering of devices meant for protecting informational resources of computer network connected to external information network from unsanctioned access of users and from transmission of messages.

SUBSTANCE: claimed device contains servers with memory blocks, intermediate memory, commutators, connectors, data exchange lines, control block. Aforementioned servers are made in form of a server of computing network and a server of external computing network, which contain additionally introduced checking blocks.

EFFECT: increased degree of protection afforded to interaction of external and local networks and realized registration of all messages transmitted between networks for purposes of logging the exchange of information.

1 dwg

FIELD: computer engineering, possible use for creating multi-processor multi-thread computers.

SUBSTANCE: method for organization of multi-processor computer includes parallel execution of a thread of computations by means of distributed representation of thread descriptor stored in virtual memory, execution of primary selection of architecture commands by means of thread monitors, generation of graph for information dependencies of transactions, which are serially outputted through network into execution clusters, active thread is transferred to resident queue of transactions awaiting completion and next active thread is selected, by sequencers of execution clusters transactions are received and their commands and aforementioned graph are copied to registry file of cluster, execution-ready commands are copied to priority-ordered secondary selection queues, aforementioned selection and transfer of complete commands to the cluster are performed, graph is corrected based on these, on basis of correction results, the finalized command is added to either secondary selection queue or transaction completion result is transferred to monitor, thread is moved to queue for completed threads with correction of thread descriptor representation root, where completed thread is removed from waiting queue, and completion reason is outputted as a result available for software analysis.

EFFECT: fully hardware-based realization of multi-program control over threads with priority-based exclusion with precision up to an individual command.

FIELD: methods for reproducing content information in device for interactive optical disk and for providing content information on the server of information provider.

SUBSTANCE: the reproduction method includes synchronization and reproduction of data read from interactive optical disk, and content information, dispatched and loaded from information provider server, connected via Internet, generation of command for requesting repeated send of content information, if content send from information provider server is stopped or delayed, dispatching of the command and reproduction of content information, repeatedly sent from information provider server together with data read from interactive optical disk, during its repeated synchronization with data read from interactive optical disk.

EFFECT: expanded functional capabilities.

5 cl, 6 dwg

FIELD: three-level virtual VPN networks.

SUBSTANCE: VPN includes provider routers and end provider routers in main network P, in user VPN networks a set of sites are included as well as user end routers and hierarchical device (HoPE), which includes low level end router (UPE) and high level end router (SPE). In accordance to method, between UPE and SPE several end routers of medium level are positioned (MPE), which are used for supporting all routes in VPN, for replacing mark connected to default routes (VRF), and for creating an UPE route.

EFFECT: creation of expandable three-level VPN network, satisfying requirements of limitations of required resources and minimized configuration.

2 cl, 5 dwg

FIELD: cell communication systems.

SUBSTANCE: invention includes system and method for facilitating access via mobile terminal to certain network application, accessible through multiple application servers in the network. Application identifier, corresponding to network application, and connected parameters of application access, including address of server of applications of one of a set of application servers, are inserted into provision information. Provision information is transferred at least to one mobile terminal, connected to provision procedure. Mobile terminal is outfitted to facilitate access to network application through applications server, identified by application server address, provided with provision information.

EFFECT: expanded functional capabilities for mobile terminal access to applications, only accessible through application servers in network.

5 cl, 7 dwg

FIELD: shared use of information, possible use in network systems using groups of shared information use on communication servers.

SUBSTANCE: in accordance to method its preferred to only remove group in case of absence of active group communication sessions. Auto-removal property and properties of any trustworthiness time period are set in primitive of group properties generated by group application executed by, for example, client, which transfers primitive to server.

EFFECT: automatic removal of shared information usage groups on expiration of given time span of trustworthiness of group by connecting auto-removal device to shared information usage group.

3 cl, 6 dwg

FIELD: computer engineering; ICT.

SUBSTANCE: method and system allow one or several participants to take part in one or several conferences at the same time. To control conferences, the cross-conference database is created, which database includes parameters of connection and selected conditions of connections of any end point. Using cross-conference database mixes sonic signals the final mixed signal is transmitted to at least one end point.

EFFECT: improved efficiency.

19 cl, 6 dwg

FIELD: computer engineering; can be used in creation of high-performance computing systems for task handling, algorithms of which allow parallelization on command level.

SUBSTANCE: device contains N functional units, intermeshed commutator, resource analyzer, which contains registers blocks, memory blocks, AND elements blocks, counters, multiplexing units, synchronizing generator, control device, and comparison scheme.

EFFECT: increased reliability.

2 cl, 13 dwg

FIELD: computer systems engineering, welding systems, possible use for providing welding architecture to make possible interactive realization of remote configuration, monitoring, control and business operations in distributed environment, wherein welding processes are performed.

SUBSTANCE: system includes at least one welding device, operatively connected to network server, network interface and network for exchanging data with at least one remote system. Remote system includes at least one remote interface for exchanging data with network architecture. Remote system is made with possible request of at least one HTTP socket for setting up connection to welding device through network, loading at least one application from welding device and communication with at least one welding application socket through at least one application for exchanging information between welding device and remote system. At least one appropriate includes at least one of components: welding configuration component, welding monitoring component and welding control component. Method for provision of distributed welding architecture includes stages, at which: welding device is connected to network interface. For setting up network connection through network interface to remote system, at least one socket is used: HTTP socket or welding application socket, where HTTP socket is used for exchanging data with remote systems. Structure of data, providing welding protocol, includes at least one of following fields: field of options/flags, field of order of messages, message status field, data length field, data field, server commands field, server command identifier field, server command arguments field, machine field, machine address field, field of identifier of method/property and field for arguments of method/property.

EFFECT: decreased time and labor costs related to technical maintenance and adjustment of multiple welding devices and systems.

6 cl, 22 dwg

FIELD: electric engineering.

SUBSTANCE: method includes estimation of quality coefficients of electric energy in electric energy system, determining degree of matching of these coefficients to normal values, forming of control signal for correcting devices and predicting electric energy characteristics expected after effect of these devices. On basis of analysis of predicted characteristics quality coefficients are newly estimated and if necessary control signals for correction devices are formed. Estimation of not only voltage and frequency is provided, but also current. Whole cycle is repeated for each node of electric energy system.

EFFECT: higher efficiency.

1 dwg

Up!