System and method for enhanced client/server synchronisation

FIELD: physics; computer technology.

SUBSTANCE: invention relates to data exchange between client and server applications in computer networks, in particular, e-mail applications. E-mail server is capable to keep tabulated record of changes, which occur in folders stored in corresponding data storage device and to send notifications on the table contents change to e-mail client, which is a subscriber for this service. In return, the client sends a request to synchronise modified folders only.

EFFECT: improved efficiency of synchronisation of e-mail folders of client and server.

4 cl, 31 dwg

 

REFERENCE TO RELATED APPLICATION the INVENTION

This patent application claims the priority of U.S. patent No. 60/437869 registered in the dossier of a patent attorney on January 3, 2003 under number 220635, which is entitled "SYSTEM AND METHOD FOR IMPROVED CLIENT SERVER COMMUNICATIONS" ("System and method for improved communication client-server") and is incorporated here by reference.

The technical FIELD

This invention relates generally to computer networks and, in particular, to methods of data exchange between client and server applications, for example, applications that provide e-mail address.

BACKGROUND of INVENTION

E-mail has become an important means of communication. E-mail systems typically include a server component (for example, the program "Microsoft Exchange Server" made by "Microsoft") and a client component (e.g., the program "Microsoft Outlook" or "Outlook Express" made by "Microsoft"). These components usually are software applications that provide the ability to perform in a computing device (e.g., servers, personal computers (PCs), laptop computers and personal media devices (ISPS) (PDA)).

Often, to facilitate the exchange of information, the client and the server, for example, the client component and the server component of the system e is Tronic mail, agree on the communication Protocol. This Protocol sets the rules that determine the expected mode of operation of each party in the exchange of information, for example, the expected sequence of requests and responses. Complex protocols contain rules for handling unexpected situations.

With the improvement of client and server components these improved versions are distributed to end users. It often happens that to take advantage of new features features and capabilities network invent a new communication Protocol. In the case when important installed base system server components through such a set of protocols, the client component may be able to communicate with the server components selected from previous versions.

Sometimes there is a situation in which more new protocols represent an add-in built on top of older protocols, instead of a full replacement of their older protocols. In this case, a new Protocol can be created from elements of the Protocol, the use of which can be enabled or disabled, allowing emulation of older protocols. Similarly, in the case when important installed base system client components through which such Protocol server component may be able to liaise with client components selected from previous versions.

In the present invention proposed a similar system and method. The above and other advantages of the invention and additional features of the invention will become apparent from the following description of the invention.

The INVENTION

In the present invention proposed a system and method for improved communication between the client and the server. In particular, the invention relates to an improved Protocol that can be used for communication between client and server. The application of the present invention is particularly suitable for the work environment of the e-mail server, but as described here distinctive features can be used for other network configuration client-server.

According to one aspect of the present invention, in a server component of the e-mail can be optimized changes in e-mail even if the changes in e-mail messages that occurred in another server-side component of the e-mail. The first server component of the e-mail is independent of the first data about the changes in the email, seen by the client component of the e-mail. The second server component e-mail supports the second data about the changes in the benii e-mail, seen above, the client component of the e-mail. Then the above-mentioned second server component e-mail optimizes the first independent data.

According to another aspect of the present invention, the server component of the e-mail can provide support table of the changes in the "folders (directories)in the corresponding storage device for data, and can notify the client component of the e-mail, which is a subscriber of this service, about the changes in the table. In table stores the information about changes in the set of folders that contain the information of the email. The client component of the e-mail becomes a subscriber to the above table and in response to changes in the table sends a notification to the client component of the e-mail.

According to another aspect of the present invention, the server component of the e-mail may prohibit the transmission of notifications to the client component of the e-mail that caused the change in the table. The server component of the e-mail can receive instructions, requiring not to transmit the notification to the first client component of the e-mail in response to the occurrence of a change, and in response, n is the occurrence of a change and the receipt of the above instructions it can carry out the transmission of the notice of change to all the rest of the subscribers table, except for the first client component of an electronic mail address.

BRIEF DESCRIPTION of DRAWINGS

1 shows a diagram of the computers connected to the network.

Figure 2 shows a diagram that illustrates an example computer system used to implement one of the embodiments of the present invention.

Figure 3 shows a diagram of a computing environment that contains the client components of the e-mail server and mail components many different versions.

Figure 4 shows a diagram of the Protocol, which shows an example of the procedure of coordination protocols between the client component and e-mail server component of the e-mail.

Figure 5 shows a schematic diagram that shows an example of a network e-mail, in which the client component and e-mail server component of the e-mail have communication buffers of a fixed size.

On Figa shows a diagram of the Protocol, which shows an example of a Protocol that requires two cycles-request-response operation is completed, high-speed transmission.

On Figb shows a diagram of the Protocol, which shows an example of a Protocol that requires one cycle of the request-response operation is completed, high-speed transmission.

On Figa the scheme PEFC is the sequences of operations, showing an example of procedures for the transfer of the main content (body) of the e-mail client component e-mail.

On Figb is a diagram of a sequence of operations, which shows the main content (body) of an email message in the client component of the e-mail according to the aspect of the present invention.

On Figa shows a diagram of the transfer sequence, which shows the transfer mode of the data elements as a whole.

On Figb shows a diagram of the transfer sequence, which shows the primary mode of transmission of the header.

On FIGU shows a diagram of the transfer sequence, which shows the transfer mode only headers.

On Figg shows a diagram of the transfer sequence, which shows the transfer mode, which is an exception in relation to the primary mode of transmission of the header or transmission mode only headers.

Figure 9 shows the scheme changes the server component of the e-mail, which is the basic client component of an electronic mail, over time.

Figure 10 shows a diagram of the Protocol, which shows an example of a Protocol by which synchronization of email folders between a client component of the m and e-mail server component of the e-mail.

On Figa shows the precedence diagram showing an example of the optimization procedure part of the BLOB that characterize the state (stateblob).

On Figb is a diagram of a sequence of operations, which shows the optimization procedure part of the BLOB that characterize the state (stateblob) according to the present invention.

On Fig shows a diagram illustrating the hierarchical structure of the e-mail folders.

On Fig shows a diagram of the Protocol, which shows an example of a Protocol through which implements and supports synchronization of repositories for e-mail according to the aspect of the present invention.

On Figa shows a diagram of the Protocol, which shows an example of a Protocol by which a transfer error information on the level remotely operations (DVO) (ROP).

On Figb shows a diagram of the Protocol, which shows an example of a Protocol by which a transfer error information in each message, according to the technical solution proposed in the present invention.

On Figa is a diagram of a sequence of operations, which shows the procedure of generating the error information on the level of Feb.

On Figb of the above patterns is a sequence of operations, showing the procedure of generating the error information transmitted in each message, according to the technical solution proposed in the present invention.

On Figa shows a diagram of the Protocol, which shows an example of a Protocol by which perform high-speed operation.

On Figb shows a diagram of the Protocol, which shows an example of a Protocol through which to receive information about the progress of high-speed transmission according to the aspect of the present invention.

On Figa is a diagram of a sequence of operations, which shows how streaming set of messages.

On Figb is a diagram of a sequence of operations, which shows how streaming set of messages, along with information about the progress of the transmission according to the technical solution proposed in the present invention.

On Fig is a schematic diagram of multiple client components e-mail, send notifications result of changes to the same information object in a server component of the e-mail.

On Figa shows the precedence diagram showing the procedure of transmission of notifications to multiple subscribers.

On Figb of the above patterns is a sequence of operations, showing the procedure of transmission of notifications to the many subscribers according to the technical solution proposed in the present invention.

On Fig is a diagram of a sequence of operations, which shows how to create an email message that uses the desired code page according to the aspect of the present invention.

DETAILED description of the INVENTION

Before presenting the description of various embodiments of the invention, the following is a description of the computer and network environment, which can be implemented in various embodiments of the present invention. The present invention can be implemented by programs executed by the computer, although this is not mandatory. Programs typically include routines, objects, components, data structures, etc. through which perform particular tasks or implement particular abstract data types. Used herein, the term "program" can refer to a single software module or a set of software modules acting in concert. Used herein, the term "computer" refers to any device which, through electronics executes one or more programs, for example, personal computers (PC), a handheld device is Ista, multiprocessor systems, programmable consumer electronics devices based on microprocessors, network PCs, minicomputers, tablet PC, large universal electronic computing machines, appliances, containing a microprocessor or microcontroller, routers, gateways, hubs, etc. of the Invention can also be used in distributed computing environments where tasks are performed by remote processing devices that are linked to each other through a communication network. In a distributed computing environment, the program may be located in local and remote storage devices.

Below is a description of an example network environment in which can be used in the present invention, with reference to Figure 1. Given as an example, the network contains more than 10 computers that communicate with each other via the network 11 shown in the drawing in the form of clouds. The network 11 can contain a variety of known components, such as routers, gateways, hubs, etc. and allows the computer 10 to communicate between themselves through the wired and/or wireless communication. When interacting with each other via the network 11 one or more computers may function as a client, server or peer from which troist in relation to other computers. Therefore, various embodiments of the invention can be implemented in the client, server and peer devices, or their populations, even though the specific examples contained herein do not apply to all these types of computers.

With reference to the drawing of figure 2, it shows an example of a basic configuration of a computer in which wholly or partially can be implemented in the invention described here. The computer 10 with the most basic configuration, typically contains at least one processor 14, and a storage device 16. The processor 14 executes the commands by which ensure the execution of tasks in accordance with the variations in implementation of the present invention. When performing such tasks, the processor 14 can transmit electronic signals to other parts of the computer 10 and the device outside of the computer 10, to obtain some result. Depending on the exact configuration and type of the computer 10, the storage device 16 may be a volatile storage device (e.g., random access memory (RAM)), non-volatile storage device (e.g., permanent memory (ROM) or flash memory), or some combination of these two Zap minaudi devices. This most basic configuration is illustrated in figure 2 in dotted lines 18. In addition, the computer may also have additional features/functionality. For example, the computer 10 may also include additional storage device (removable 201 and/or stationary 202), including magnetic or optical disks or tape, but these examples are not restrictive. Computer data storage media are volatile and nonvolatile, removable and fixed media implemented in any manner or by any storage technology information, including executable by computer commands, data structures, program modules or other data. Computer data storage means are, including RAM, ROM, electrically erasable programmable ROM (EEPROM), flash memory, permanent storage device for compact discs (CD-ROM), digital versatile disks (UCD) (DVD) or other optical storage devices, magnetic cassettes, magnetic tape, memory devices, magnetic disks, or other magnetic storage devices, or any other media that can be used for storing the desired information and that the computer 10 can perform the access, but these examples are not a sign limiting the invention. Any such computer means storing data may be part of computer 10.

In a preferred embodiment, the computer 10 also includes a communication link 205, which allow the device to communicate with other devices. The communication link is an example of a means of communication. Communication tools usually provide implementation readable by computer commands, data structures, program modules or other data in a modulated information signal, for example, in the form of a carrier signal or by other means of transport, and contain any means of information transmission. The term "communication" refers to funds wired connection, for example, a wired network connection or a wired connection direct connection, and wireless communications devices, such as acoustic, RF, infrared and other wireless communications devices, but these examples are not restrictive. Used herein, the term "readable by a computer storage medium" encompasses both computer storage media and communication media.

The computer 10 can also contain device 204 of the input data, for example, a keyboard, a pointing device type mouse on the", the pen input device, the input device of the speech data, touch input device, etc. It can also contain device 203 output data, for example, the device 20 visual display, speakers, printer, etc. All these devices are well known in the art, and therefore there is no need for a detailed description.

The present invention relates to a system and method an improved exchange of information between client and server and, in particular, relates to an improved Protocol that can be used to exchange information between client and server. The application of the present invention is particularly suitable for the environment e-mail server, but as described here distinctive features can be used for other network configuration of client/server. However, for simplicity the description of the present invention is given with reference to the e-mail system configuration client/server.

The present invention can be implemented in the environment configuration client/server containing two or more versions of the client applications or components, and/or two or more versions of server applications or components. To this end, the block diagram of Figure 3 in a network environment electronically the th-mail shows many versions as client, and server components. The client and server components usually have such a configuration that ensures backward compatibility. That is, the client component can exchange information with both new and old versions of the server components, and Vice versa. To ensure exchange of information between the many versions specify a set of protocols. This set of protocols may consist of several different protocols, each of which is Autonomous. Alternatively, there may be a set of components of the Protocol and to configure specific protocols within this set of protocols use the individual components.

In any case, in a network environment, e-mail, shown in Figure 3, the exchange of information in the best way occurs between the client component 303 e-mail most of the new version and server component 306 e-mail most of the new version using the Protocol 307. However, the new server component 306 e-mail is also able to exchange information with selected client components electronic mail from previous versions, for example, client component 302 e-mail and client component 301 e-mail, using the other Protocol is s (for example, protocols 308 and 309 shown in Figure 3) from a set of protocols. The client component 303 e-mail is also able to exchange information with selected server components electronic mail from previous versions, for example, server component 305 e-mail and server component 304 e-mail, using protocols such as, for example, protocols 310 and 311.

Used here to describe the Protocol of the present invention, the term "most recent" (server or client) is a component of e-mail or the term "(server or client) component e-mail the most new version of" usually means a server or client component with information about new described the distinctive characteristic or distinctive signs and able to use, to implement these features and/or to operate in accordance with them. Despite the fact that everywhere in this document, these terms are used to describe the client and server components with information about the different features of the Protocol of the present invention, the above terms also include components having information only about one particular of the described features, or more than one of the described features. Similar about what atom, the term "still" is a component of e mail or "component e-mail previous version" means a component that does not have information about the features of the Protocol according to the present invention and are not able to operate in accordance with them.

To establish a Protocol between client and server (for example, between the server component 306 e-mail most of the new version and the client component 303 e-mail the most new version) often use the approval procedure protocols. Despite the fact that such procedures for the approval of protocols are known, the following is a brief description of the procedures for the approval of protocols between the client component 401 e-mail (see Figure 4) and the server component 402 e-mail (see also Figure 4), suggesting that it will be useful to the reader. When the communication session between the client component 401 e-mail and server component 402 e-mail client component 401 e-mail is first sent to the server component 402 e-mail message 403, containing information about the version of the client, for example, in the form of labels (marks) version of the client component. In response to the message 403 server component 402 e-mail sends a 404 message containing information about the version of the server, such as the er, in the form tag (mark) version of the server component.

There are many possible ways to use the version information of the client and the server when you try to establish a connection between the client component 401 e-mail and server component 402 e-mail. For example, version information can be used to select the appropriate Protocol for continuous communication, or to determine whether additional communication channels. During the operation of the establishment Protocol version information can be used, for example, to allow and/or disallow use of specific existing features of the Protocol or its components.

The server component of the e-mail can carry out parallel receiving and processing requests from multiple client components e-mail. In the case where the drawing shows a single client component, then it is depicted in this form just to simplify the drawings and the accompanying description, if not explicitly stated otherwise.

Network e-mail according to the present invention for transmitting requests and data between the client and server components on the network used to exchange requests and responses. In practice, the performance of the Protocol may be affected underlying (Lee is a broad-based) method for transporting data in a communication network, used to exchange information between clients and servers in the network e-mail. For example, in the network e-mail, which as a basic mode of transportation network data communication using remote procedure call (RPC) (RPC), a much more effective option may be calling a single remote procedure larger (equal to, for example, 32 kilobytes (KB))than calling multiple remote procedures smaller (equal to, for example, 2 KB). One of the famous ways to improve performance in such a network e-mail is the buffering of multiple requests and/or responses to the transmission when calling a single remote procedure.

As an example, figure 5 shows the exchange of requests and responses between the client component 501 and email server component 502 e-mail. Each of the components: a client component 501 and email server component 502 e-mail have buffers 503, 504, 505 and 506 connection fixed volume. Buffers 503, 504, 505 and 506 represent the reserved memory area for temporary storage of data. The client component 501 e-mail begins a series of requests and responses through the buffer 503, one or more subqueries or remotely operations (DVO) (ROP) re the execution of the transfer the contents of the buffer 503 in the buffer 504.

After taking in the buffer 504 server component 502 e-mail carries out the processing of each fed in proper order, and the corresponding result record buffer 505. Each DVO creates a certain outcome. This result may contain data requested by the client component 501 e-mail, for example, a specific set of e-mail messages. The server component 502 e-mail monitors buffer 505 and in the case when it is almost full (for example, when the remaining memory is less than 8 KB), the server component 502 e-mail records any raw, Feb to the end of the buffer 505 and transmits the contents of the buffer 505 in buffer 506. After that, the client component 501 e-mail begins a new cycle of query-answer by writing raw fed into the buffer 503 for re-submission to the server component 502 e-mail at the moment when again will happen buffer 503.

The average volume of response is usually greater than the amount of the request. Therefore, the configuration is usually set so that the volume of buffers 505 and 506 for responses is greater than the volume of buffers 503 and 504 for queries. In one of the embodiments of the invention was determined the optimal amount of buffers 505 and 506 for answers, 96 KB when the volume of the IU buffers 503 and 504 for queries equal to 32 KB, i.e. their ratio is 3:1. In one of the embodiments of the invention the client component of the e-mail can change the configuration of the volume of any of the buffers 503, 504, 505 and 506.

In some networks, e-mail, in which use buffers, for example in the network e-mail, shown in Figure 5, can be used for fast data transfer between the client component and e-mail server component of the e-mail. The quick transmission contains issued by client requests, for example, far Eastern branch, which is subdivided, at least two types of queries: queries that cause the initiation in the data source server designed for fast transfer and requests that cause a high-performance data transfer from the data source intended for fast sending, to the client. Data source designed for rapid transmission may be, for example, the database table. Data source designed for fast transfer, serves as a ready temporary storage of data, which enables the service coming later requests for data with less delay than is possible otherwise. Sometimes through query mode fast transfer related to the second type, etc is prinimaet attempt to achieve high-performance data transfer by specifying the volume response in an explicit form, for example, the response may be set equal to the full amount of the receive buffer of the client, minus the amount of overhead data that is used to send a response.

On Figa shows the operation fast transfer, containing at least two cycles of a request-response. When the first request 601, Feb (for example, a request for the preparation of the data for rapid transmission, Podgotovka (FXPrepare)) initializes the data source for a quick transfer to the server 502. In the server process only request Podgotovka (FXPrepare) (i.e., perform initialization of the data source for fast transfer), and the result of this processing return as the first answer 602. In the second query 603 DVO (for example, a request to obtain the contents of the buffer to fast transfer, Baluchitherium (FXGetBuffer)the server receives the request buffer 505 from the data source for fast transfer. The server flushes the data source for fast transfer, transferring them into the buffer, and returns the result in the second response 604. If the buffer 505 output in the server component of the e-mail is filled before will happen devastation data source for fast transfer, may require additional, Feb Baluchitherium (FXGetBuffer).

On Figb shows the operation fast transfer, contains only one cycle of request-response. When the first request 605 is ervery component 502 e-mail processes as operations Podgotovka (FXPrepare), and operations Baluchitherium (FXGetBuffer), and in the first response 606 return the results of both operations. In the server component 502 e-mail the result of the operation Podgotovka (FXPrepare) is available for query Baluchitherium (FXGetBuffer)as part of each of the buffers 503, 504, 505 and 506 defined explicitly as a table shared data. It is desirable to reduce the number of cycles of queries and answers, because it provides more efficient data transfer. Operation fast transfer, containing more than one cycle of the request-response may occur when the buffer 505 is too crowded, in order to ensure the preservation of the DVO Baluchitherium (FXGetBuffer).

It is clear that, Feb, depicted on Figa and Figb and on all similar drawings in this application for the invention, shown schematically, that is, they can be implemented as a sequence of Feb, if another option not mentioned specifically.

Typically, the amount of the DVO differs from the scope of the request, Feb. Forecasting the volume of the DVO is not always possible. When using methods of data compression to reduce the size of the fed even more difficult to predict the volume of the DVO. The inability to predict the size of the DVO can lead to the inability manual configuration Protocol DL is to minimize the number of cycles of requests and responses, required to complete a specific client operations, for example, to provide a guaranteed download all new messages in the client component for one cycle of request-response. Operation manual configuration Protocol contains manual configuration configuration sequence and/or volume of Protocol requests, responses, and/or DVO.

According to one aspect of the present invention, the number of cycles of requests and responses automatically minimize by specifying that the key DVO (for example, for the operation Baluchitherium (FXGetBuffer)) do not need to carry out forecasting of the volume of their result. Instead, the server component 502 e-mail performs processing such DVO until then, until the limit is reached, the volume of buffer 505 (which is the same as for buffer 506).

For example, in an environment that contains server-side components e-mail multiple versions for server components from previous versions and server components of the new versions can be set to separate, Feb. In newer versions there is no need to forecast the amount of their result. The parameters of these DVO listed in the following table:DVO, which can be used in proto the OLE to communicate with servers in previous versions DVO, which can be used in the Protocol to communicate with servers most new versions
ID DVO (ROP ID)Baluchitherium (FXGetBuffer)Baluchitherium (FXGetBuffer)
The parameters used in many modesRequired space:

the amount of memory that the server should reserve in its output buffer.
Required space:

set equal to the value greater than the maximum value, the expected component of the previous version, for example, greater than 32 KB. It informs the server about the necessity of finding a new parameter that specifies a limit value of the volume.
The new settingsNot availableLimit amount:

notifies the server about the limit value, up to which the server can fill in your output buffer.

DVO for server components from previous versions is similar in structure to existing DVO of the prior art. That is, DVO predict and specify the amount of memory in the output buffer (for example, in the transit buffer 505), which should be reserved to store the response. In contrast, the prediction of the prescribed volume of the output buffer for the server component, most of the new versions do not exercise, is instead, its volume is set equal to the value greater than the maximum expected value, obtained in server components from previous versions, for example, greater than 32 KB. The fact that the volume of the output buffer is set larger than the value expected by the server component, the server notifies the component that it should seek a new parameter limit value of the volume, which for the server component can be, for example, the degree of filling of the output buffer. These settings are automatically minimize the number of cycles of queries and answers, this is only a minor complication server component e-mails, engaged in the processing, Feb.

It should be noted that the order of the parameters specified in the above table and all the tables of this invention, does not necessarily correspond to, for example, the order of transmission of these parameters over the network or have them stored in a storage device of the client component of the e-mail or server component of the e-mail, except in those cases where explicitly States otherwise. In addition, for clarity, the description of the invariant parameters can be omitted.

Network e-mail one of the typical tasks of the Protocol is to ensure the transfer of data objects, such as messages electron is Oh-mail between the client components of the e-mail and server components of an e-mail. Other examples of such data objects are the e-mail folders that may contain e-mail messages and other data objects, and data objects that represent the information associated with the folder (COI) (FAI), which may, for example, contain the rules for handling e-mail messages or to determine how the displayed data objects contained in the folder. Data objects can be "opaque" to the client component e-mail; that is, the client component of the e-mail may not have any means of interpreting the content of the data object. In an alternative embodiment, the data objects can contain named properties, for example, an e-mail message may contain signs with names "to", "from", "subject", "importance", " main content 1", "main content 2", "main content 3", "attachment 1, attachment 2," and so on.

One of the advantages of e-mail networks, in which data objects can contain data through e-mail networks named properties, and data objects are "opaque", is the presence of the potential improvements produced in the productivity of the Protocol, due to the ability to communicate through a Protocol only part of the data object. The presence of named properties allows you to transfer the specific properties of the data object without having to transfer the entire data object.

For example, an e-mail message may consist of a set of header properties and set the properties of the main content (message body). The needs of the client component of an electronic mail can be such that the Protocol can first transfer the property title and then transfer properties of the main content at a later time or not to perform the transfer. The presence of this distinctive characteristic allows the user to view the header information of several messages before it will download all messages completely. Using this distinctive characteristic can be obtained more fine-grained control over the use of bandwidth, the client component that can have a positive impact on the performance of the Protocol. In addition, this distinctive feature can be used by the client component for securing the lower the degree of bandwidth usage (for example, loading the main content can be done tol is to to selected header), what is particularly desirable in environments with low bandwidth.

Mandatory increase the performance of the Protocol would not occur if the configuration server component installed in such a way that it transfers the properties of the basic content and header for two separate series of request-response (i.e. one for the header and main content). For example, if the needs of the client component of the e-mail is such that it is simultaneously necessary and title properties, and properties of the main content, in a situation where for one cycle of the request-response can be implemented as removing the header and the main content might decrease the performance of the Protocol. Therefore, simple operation permission to the data objects consisted of named properties, is not in itself sufficient to make it automatically would increase the performance of the Protocol. In fact, ensuring that improve the performance of the Protocol depends on the choice of properties, which may consist of a data object, and how they can be used by the Protocol. This choice may depend on several factors, including the needs of the client components of the electronic the electronic mail address of the most recent and previous versions and the needs of the server components e-mail the most new and previous versions. Examples of the needs of the client component of an electronic mail are, including the provision of different levels of urgency visual display various information and compliance preferences set by the user of the client component of the e-mail. Examples of needs server-side component of an electronic mail are, including effective storing and retrieving data, as well as effective treatment Protocol requests.

In normal environments, the e-mail from the prior art use data objects, which may consist of named properties, for example, an e-mail message, which can contain a set of named properties corresponding to the headers, and a set of named properties of the core content, which provide the possibility of issuing requests to separate these two sets and/or perform their separate treatment. Another example of prior art is the e-mail message, in which the set of named properties, the main content contains many versions of the core content of the e-mail message, for example, in a variety of formats of an email message, for example, in the form of plain text, format, hypertext markup language (HTML), rich text form is a (RTF) and so on. In this situation, the server components of an e-mail from the prior art can respond to the request Protocol for receiving the main content of the email messages in several ways. The least complicated way of response may be the transfer of all versions of the core content of the e-mail message, but this response may lead to the increased bandwidth usage.

On Figa shows part of the procedure that the server component is e-mail the previous version (prior art) uses to respond in this situation. At step 701 the server component email analyzes the format of each of the core content of the e-mail message. If one of the formats is a predefined standard format (for example, a rich text format), then the procedure passes to step 703 and transfer the main content of the e-mail standard format in the client component of the e-mail that issued the request. If none of the formats is not pre-defined standard format, then at step 701 transition to step 702, in which the conversion of one of the versions of the core content of the e-mail message into a standard format. Routine depicted in Figa,can be used also in the case when there is only one version of the main content of the e-mail message, but this is the main content of the e-mail may not be presented in a standard format, which is required for the Protocol.

On Figb shows part of the procedures used in the server component of the e-mail most of the new version according to the present invention. At step 704 analyze the Protocol of the request, leading to the execution of the routine used by the server component of the e-mail, flag NARUSEGAWA.FOSSATE.INFO (BEST_BODY). Flag from this example and other used herein, the flags used for the server component of the e-mail received information that the client component of the e-mail is a component of most of the new version and want to perform a function corresponding to the flag. Can also be used and other methods of notification. For example, in case of detection of the client component e-mail the most new version of the function can be executed by default.

In any case, if the flag NARUSEGAWA.FOSSATE.INFO (BEST_BODY) is not detected, then at step 704 performs a transition to step 701, and continue the procedure as described in the description Figa.

If the flag is found, then the procedure p is rehadat to step 705, at which carry out the best option main content of the e-mail message for transmission to a client component of the e-mail that issued the request. If there is only one main content of the e-mail message corresponding to the requested e-mail message, it is the best. If there are several available options main content of the e-mail message, for example, having different formats, the server component of the email selects the best one according to, for example, a predetermined ranking formats the main content of the e-mail message (for example, RTF, HTML, plain text). Then the procedure passes to step 703, where the transfer of the selected main content of the e-mail client component e-mail. In this embodiment of the invention the client component of the e-mail may be capable of visually displaying a variety of formats main content e-mail messages, freeing thus, the server component of an e-mail from the need to carry out the conversion options of the core content of email messages in standard fo the Mat. In addition, if necessary, the client component of the e-mail can transform the best option main content of the e-mail message in another format.

Because the server-side component of the e-mail is exempt from the task of converting the main content of email messages, the present invention provides improved performance. In addition, the server component of e-mail most of the new version can respond to Protocol requests from the client component e-mail the previous version, with only a small complication.

DVO can be used to provide redundancy for e-mail folders between the server component and e-mail client component of the e-mail. Request to synchronize folders may be issued, for example, by, far Eastern branch of Sinhronezirovala (SynchFolder). In cases where the client component of the e-mail is capable of visually displaying non-standard formats main content e-mail, Feb Sinhronezirovala (SynchFolder) can be set flag NARUSEGAWA.FOSSATE.INFO (BEST_BODY), indicating that the server component of the e-mail can select the the best format from the available options the main content of the e-mail message instead of to send to the server a request to return the body content of the email messages in a standard format. The server component of the e-mail can perform appropriate processing, Feb how to flag NARUSEGAWA.FOSSATE.INFO (BEST_BODY), and without it, with only a small complication. To communicate with the servers of the previous versions and the newer versions of Feb may contain, for example, the parameters listed in the table below:

DVO, which can be used in the Protocol to communicate with servers in previous versionsDVO, which can be used in the Protocol to communicate with servers most new versions
ID DVO (ROP ID)Sinhronezirovala (SynchFolder)Sinhronezirovala (SynchFolder)
The new settingsNot availableFlag

NAILUCHSHIE ISNONNEGATIVE (BEST_BODY): when installing the server component of the email selects the best version of the main content of the e-mail message for transmission to a client component of the e-mail. There is no need to convert the main content with the communication e-mail in a pre-specified standard format.

On Figa, Figb and Figv shows several different existing modes of transmission of the set of email messages between the server component and e-mail client component of the e-mail. In each mode every e-mail message contains named properties, including a set of headers and a set of primary content, and the folder contains several e-mail messages. On Figa shows the transfer mode of the data elements as a whole. The drawing shows that the first transfer of title 801 of the first e-mail message, and then transfer the main content 802 of the first e-mail message, and then transfer header 803 of the second e-mail message, and then the main content 804 of the second e-mail message, and so on until, until the transfer of the set of e-mail messages. On Figb shows the primary mode of transmission headers. In this mode, the first transfer of title 805 of the first e-mail message, then header 806 of the second e-mail message, and so on until, until the transfer of the headers of all e-mail, and only then transfer the main with animago 807 of the first e-mail message, then transfer the main content 808 of the second e-mail message, and so on until, until the transfer of the set of e-mail messages. On FIGU shows the transfer mode only headers. As the name suggests mode, in response to a request for transmission of a set of e-mail transfer only the header 809 e-mail. Transmission main content 810 e-mail conduct only in response to the additional request, expressed in an explicit form. In any of these modes, the sequence of transmission may be temporarily interrupted by a request from the client component of an electronic mail having a higher priority, for example, to obtain specific main content of the e-mail message.

The e-mail folder is an example of a target object (target object) to request the transmission of a set of e-mail messages. However, the e-mail folder can contain other data objects, in addition to e-mail. As described above, the modes of transmission are often characterized by the transfer method of the headers of e-mail and the main content of the email messages as, for example, the primary mode of transmission header and transmission mode only C is Golovkov. When such transfer modes attempt to transfer data objects for which the set of named properties header and/or a set of characteristics with assigned names, the primary content may not be strictly defined, can lead to disruption of the Protocol. One aspect of the present invention, prevents this situation by providing opportunities for the transfer of such data objects for which the sets (set) named properties of the headers and/or body content are not strictly (completely) defined, and may be transferred in whole and not in parts. This variant implementation of the invention can be illustrated by the example of Figg. In this example, the data transfer between the server component and e-mail client component of the e-mail may occur in packet headers only. Accordingly, the first transfer of title 811 of the first e-mail message, and then the next candidate on the transfer becomes the object data 812. For object data 812, which is, for example, the COI, the set of named properties of the headers is not strictly defined, so the transfer of the entire object. The next candidate on the transmission has a well-defined set of named properties for Yovkov (i.e. the data object, being a candidate for transfer actually have all named properties explicitly set the client component of the e-mail, as belonging to the set of named properties of the headers), and therefore transfer only header 813 e-mail message.

An example of one way of implementing this aspect of the present invention is the use of the flag, for example, flag IGNOREREVOCATIONONTS (IGNORE_MODE_ON_FAI), which may be part of Feb synchronization, for example, above, far Eastern branch of Sinhronezirovala (SynchFolder). The server component of the e-mail can perform appropriate processing, Feb as the flag IGNOREREVOCATIONONTS (IGNORE_MODE_ON_FAI), and without it, with only a small complication. To ensure duplication of e-mail folders between the server component and e-mail client component of the e-mail, Feb can contain parameters that are specified in the table below:

DVO, which can be used in the Protocol to communicate with servers in previous versionsDVO, which can be used in the Protocol to communicate with servers most new versions
And edificator DVO (ROP ID) Sinhronezirovala (SynchFolder)Sinhronezirovala (SynchFolder)
The new settingsNot availableFlag

IGNOREROUTE REGIONS (IGNORE_MODE_ON_FAI): if set, for the information of interest, for example, an ISP that does not contain a well-defined set of named properties header and/or the main content, the server component of the e-mail can respond to the request for transfer is performed by transferring all the information of the entire object, regardless of the existing transmission mode.

E-mail address to one or more network users e-mail. The e-mail message can be considered to be delivered if it is accepted by the server-side component of the e-mail to his memory. Network e-mail can contain multiple server components e-mail. The network Protocol e-mail, usually has a certain strategy limits the number of server components the e-mail user's e-mail should be checked for new messages. A simple example is the basic strategy (home) server, which provides reception of e-mail is, addressed to a specific user network e-mail, only one specific server component of the e-mail, which is called the base server. In this case, the client component of the electronic mail can be performed so that, for example, when a user periodically checks for new email messages, or when you register for notifications when new e-mail, it is addressed only to the base server.

Figure 9 shows that even in the simple example of a strategy base server can be difficult. In the example shown in Fig.9, a specific server component 901 e-mail first, select a specific network user e-mail as its base server. With time dedicated user base server replace other server components 903 and 905 e-mail, usually from administrative considerations. Server components 901, 903 and 905 e-mail can be different, for example, physically or logically, or they can be components of different versions. From the moment of time T0before time T1the client component 902 e-mail can communicate only with the server component 901 e-mail, then to IOM the NTA time T 2client-side component 904 e-mail can communicate only with the server component 903 e-mail, and after that the client component 906 e-mail can communicate only with the server component 905 e-mail. Client components 902, 904 and 906 e-mail may be the same or different. After a time T2server components 901 and 903 e-mail may exist or may not exist. These problems are particularly significant when performing duplication of storage for e-mail, the description of which is given below.

The server component of the e-mail can make memorizing email messages in a repository for e-mail, which can be implemented, for example, using well-known database technologies. The server component of the e-mail can be one or more such storage for messages. Network user's e-mail can have its "home" storage for messages. Change "home" storage for messages can lead to the same effects described in the description section relating to changes in the underlying servers.

Some protocols network electr is authorized mail have the ability to duplicate parts store for e-mail messages in the storage device, which is local to the client component of the e-mail. Duplication of parts remote storage for e-mail messages to a local storage device for storing e-mail may provide improved performance of the Protocol and/or the perceived performance of the Protocol, for example, due to early duplication of all new e-mail messages to a local storage device for storing e-mail before from a network user e-mail received an explicit request to see them. Such duplication may also provide additional functionality to the client component of an electronic mail, for example, providing the user with network e-mail the ability to view e-mail messages during pauses due to a disconnection in the network.

In a network environment, e-mail easy duplication can quickly become ineffective. For example, if the server component of the e-mail contains one e-mail message, the user-specific network e-mail, and the message has already been duplicated in the client component of this network user, and this user's network e-mail receives a new message electronically the th-mail in response to a request to execute a simple duplication still need to send two e-mail messages. If after performing the duplication of these two e-mail messages delivered another new e-mail message, in response to a request to execute a simple duplication still need to transfer now three e-mail messages, and so forth. In some protocols, network e-mail provided incremental redundancy storage for e-mail that makes this task easier. Incremental redundancy in response to the request to execute the duplication is necessary to transmit only information about the changes in store for e-mail after the last successful incremental redundancy, for example, if the only change is the time elapsed since the last successful incremental redundancy is the receipt of a new e-mail message, in response to a request to perform an incremental redundancy is necessary to transfer only new emails.

Figure 10 depicts an example of a Protocol that enables incremental redundancy. Store for electronic messages the mail can be subdivided into email folders. Duplication of each e-mail folder can be carried out independently of the others, which provides a more fine-grained control over the process of duplication. In this example, the process of incremental redundancy is called synchronization, because it contains the transfer operation changes from the client component 501 email server component 502 e-mail, and the server component 502 email client component 501 e-mail. After receiving the request 1001 to perform synchronization server component 502 e-mail processes, far Eastern branch of Sinhronezirovala (SynchFolder). This DVO contains the parameter Idepci (ID folder (folderID)) (not shown) and the parameter ballchain (stateblob0). Option Idepci (folderID) identifies the e-mail folder that is the target of the request 1001 to perform synchronization. Parameter ballchain (stateblob0) contains information that allows the server component 502 e-mail to determine whether there was a change in the e-mail folder since its last synchronization and what. If the request 1001 represents the first request to execute a client component 501 e-mail is the synchronization target folder, the server component 502 e-mail assesses whether the change of the target e-mail folder in the repository for e-mail compared to an empty folder. In response 1002 on request 1001 server component 502 e-mail to send information about any changes in the client component 501 e-mail, including any e-mail messages and/or other data objects that are added to the target folder, and a list of any e-mail messages and/or other data objects that have been deleted from the target folder. The server component 502 e-mail also creates a new parameter ballchain (stateblob1)showing the state of the target folder in the client component 501 e-mail directly after synchronization, and transmits this option ballchain (stateblob1) in response 1002. When the client component 501 e-mail sends the following query 1003 to synchronize the same folder as the request 1001, the request 1003 will include as a parameter the same ballchain (stateblob1)that was returned in the response 1002. As before, the server component 502 e-mail uses the information, the soda is gashouse parameter ballchain (stateblob1), to determine whether there has been a change in the target folder and what it is, and transmits information about these changes, together with the newly created parameter ballchain (stateblob2) back to the client component 501 e-mail response 1004.

If the data object representing a binary large object describing the state has a large volume, it can have adverse effects on the performance of the Protocol, since his transfer to the server component and e-mail from him perform, for example, each request to synchronize email folders. In some protocols, network e-mail, in which synchronization of email folders, binary large object describing the state may consist mainly of a set of data objects "Disminuya message (identifier change message changeID)), identifying changes in the email, seen by the client component of the e-mail. We can say that the client and/or server component of the e-mail notices the change in the e-mail message when sending the modified e-mail message to this component.

One of the aims of the volume is the data Disminuya message" (message changeID) can be unambiguous identification of changes in the e-mail address for the entire network e-mail. Network e-mail, which use a strategy base server base server may be responsible for binding the data object "Disminuya message" (message changeID) to a previously undetected change the e-mail message. For example, the base server can use data objects "Disminuya message" (message changeID)that contains the object data Idserver" (the identity of the server (serverID)) and a sequence number. Object data Idserver" (serverID) can uniquely identify the server component of the e-mail address for the entire network e-mail using known methods, for example, globally unique identifiers. In those cases where such identifiers themselves are large in scope, instead of as a pointer in the lookup table IDs supported by a server component of the e-mail can serve as a data object of Idserver (serverID). The sequence number can be obtained from the counter, for example, having a width of six bytes, which is local to the server component of the e-mail that is implemented by its increment by one for each reception server component of the e-mail previously unnoticed email messages to remember.

For discussion purposes, the data object Idiz is a change of the message changeID) can be represented for example, how "S1:1", where 'S1' represents a data object of Idserver (serverID) for the first server component, e-mail, and '1' represents a sequence number. The set of data objects Disminuya message changeID) can be represented as, for example, "S1:1, S1:2, S1:3", where "S1:1", "S1:2 and S1:3" are serial data objects Disminuya message changeID), which uses a server-side component of the e-mail with Idserver (serverID)equal to S1.

For those cases in which a binary large object describing the state, consists mainly of a set of data objects Disminuya message changeID), shows changes e-mail seen by the client component of the e-mail (set "Observed Changes Messages"), we developed several ways of encoding this set to reduce its volume, for example, set "S1:1, S1:2, S1:3, S1:4" can be encoded as "S1:1-4". In addition, the server component of the e-mail can guarantee that it uses sequence numbers always increase. In this case, an independent set of "Observed Changes"Message, for example, "S1:1, S1:3, S1:5, S1:7"may be encoded as "S1 :1-7", that is, as the interval containing the minimum number and the maximum sequence number, without loss of functionality.

In the scenario depicted in Fig.9, a set of "Observed Changes" Message may contain other data objects of type Disminuya message changeID)created server components e-mail (for example, S1, S2than those established by the current base server (for example, S3). Data object Disminuya message changeID)created the current base server, may be called its own data object Disminuya message changeID), and data object Disminuya message changeID)created by other server components e-mail, can be called false data object Disminuya message changeID). Protocols network of email that allows for the exchange of information with the server components of the e-mail earlier versions, do not optimize foreign independent sequences of data objects "Disminuya message" (message changeID) in the interval containing the minimum and maximum sequence number for each server component e-mail. The following table illustrates the advantage of using this optimization in one embodiment, Khujand is the implementation of the present invention:

The optimization used in the server of the previous version (the current base server S3)The optimization used in the server most of the new version (the current base server S3)
A set of "Observed Changes" Message before optimizationS1:1, S1:3, S1:5, S1:7

S2:1, S2:3, S2:5, S2:7

S3:1, S3:3, S3:5, S3:7
A set of "Observed Changes" Message after optimizationS1:1,S1:3,S1:5,S1:7

S2:1,S2:3,S2:5,S2:7

S3:1-7
S1:1-7

S2:1-7

S3:1-7

In one of the embodiments of the present invention to provide synchronization of email folders between the server component and e-mail client component of e-mail use, Feb containing the parameters listed in the table below. An improved method of encoding binary large object describing the state may be implemented in a server component of the e-mail by just a small complication.

The result, far Eastern branch, which can be used in the Protocol when exchanging information with earlier serversThe result, far Eastern branch, which can be used in the Protocol when communicating with servers most new versions
ID DVO (ROP ID)Sinhronezirovala (SynchFolder)Sinhronezirovala (SynchFolder)
The constant parameters used in the new modebinary large object describing the state of: optimization, in which the optimization of independent sets of prying information objects of type Disminuya message changeID) is not produced.binary large object describing the state of: advanced optimization, including independent sets of prying information objects of type Disminuya message changeID).

On Figa and Figb shows the difference between routine that can be used, respectively, in the legacy server and the server most of the new version to answer, far Eastern branch of Sinhronezirovala (SynchFolder). On Figa shows the steps 1101, 1102 and 1103. In step 1101 create an original set of "Observed Changes"Message. At step 1102 realize op is imitatio elements of a set of "Observed Changes"Message, representing private data objects Disminuya message changeID). At step 1103 optimized set of "Observed Changes" Message is added to the data object representing a BLOB describing the condition, which can be transferred together with the response in the client component of the e-mail that issued the request to perform the synchronization. Figb contains additional step 1104, where it is shown that also carry out the optimization of those elements of set "Observed Changes"Messages, which are foreign objects data Disminuya message changeID), and which is carried out before step 1103, in which a set of "Observed Changes"Message, now subjected advanced optimization add to the data object representing a BLOB that characterize the state.

Despite the fact that the operation unit of storage for e-mail on e-mail folder does provide more fine-grained control over the synchronization process, it does not automatically improve the performance of the Protocol and can lead to poor performance of the Protocol. For example, some protocols require separate synchronization each folder store for the messaging is rd. Each synchronization operation typically contains some overhead, and these overheads can be significant. An example of operations that can have significant overhead costs are synchronization operations that use the data objects representing large binary objects that characterize the state. In the case of synchronization of the entire message store, protocols, requiring a separate synchronization each folder in the message store, can have disadvantages compared with protocols that require a smaller number of synchronization operations.

The desired goal of the client component of an electronic mail is to synchronize the entire message store and synchronization support. In normal client components e-mail from the prior art, an attempt was made to achieve this goal, even when it resulted in a significant adverse impact on the performance of the Protocol. One aspect of the present invention is that it allows you to minimize adverse effects on the Protocol in achieving this goal through the use of tables deep hierarchical structure. Traditional server components e-mail from the prior art were not able to provide the seek table is created deep hierarchical structure.

In cases where the storage of e-mail messages are divided into folders, e-mails, these e-mail folders can be organized into a hierarchical structure. On Fig shows an example of the hierarchical structure of email folders. On Fig folder 1204 is a folder beneath a folder 1203. In turn, folder 1203 is a folder beneath a folder 1202. Folder 1201 is in the root folder. The root folder is not a folder lower level compared to any other folder. All other folders are members of a hierarchical folder structure to the folder 1201 is the root. Typically, each folder in the hierarchical folder structure has no direct (direct) links to each of the other folders. The folder can have direct links only on folders underlying level, included in its composition. The folder may also have direct links to any folder, in relation to which it is a folder of the underlying level. In many cases, there may be a situation in which the only folder that each folder has a direct link is the root folder of the hierarchical structure.

Table deep hierarchical structure may contain information about each folder from hierarchies the second folder structure. Each folder can have its own row in the table a deep hierarchical structure (hierarchy). The deep hierarchy table contains such information that can be used to determine whether there has been a change in the content of the e-mail folders for a specific period of time. Detect changes in the e-mail folder for a specific period of time can be done by simply comparing the copy of the string folder, taken at the beginning of this period of time, with the string copy this folder, taken at the end of this period of time. In one of the embodiments of the invention, each row of the table deep in the hierarchy contains the following attributes:

Name of attributeThe attribute typeNotes
Folder ID

(ID folders)
The FDW

(FID)
The type of folder ID (PID) contains a globally unique identifier (GUID) and gestibility sequence number. This value can be used to uniquely identify the e-mail folders in relation to network e-mail.
PR_LOCAL_COMMIT_TIME_MAXTime stampThis time stamp update each time videozone the AI folder contents.
PR_DELETED_COUNT_TOTALQWORDThis value represents a count of the total number of elements ever deleted from the folder.

Update attributes-line e-mail folder in the deep hierarchy table can be done whenever you change the contents of a folder. Applicants found that, for the effective implementation table update deep hierarchy, it is useful to have a fast and direct link to the table a deep hierarchy. Applicants found that when you try to access the table deep in the hierarchy must have at least a small and predictable number of levels of indirect access. For example, placing a table deep in the hierarchy at any level in a hierarchical folder structure does not provide a predictable number of levels of indirect access. So in one of the embodiments of the present invention, the deep hierarchy table can be associated with the root folder of the hierarchical structure of folders to store e-mail messages belonging to the user's e-mail.

The process of information exchange between the client component and e-mail server component of the e-mail can be divided into sessions. Between sessions can of origin Taiwan is going sync loss message store e-mail for example, during pauses, due to a disconnection in the network. To restore synchronization message store e-mail in the beginning of the session in some protocols for the exchange of information with the server components of the e-mail earlier versions, use, far Eastern branch of Sinhronezirovala (SynchFolder) for each folder that is included in a hierarchical folder structure. Usually, between sessions the contents of some folders does not change. The result of the execution of Feb Sinhronezirovala (SynchFolder), having as target unchanged folder is "zero sync. Despite the fact that zero sync does not result in any changes to the folder, transmitted to the client component e-mail, it nevertheless has an appropriate proportion of overheads, for example, a data object representing a BLOB describing the condition, which can be a significant amount.

On Fig shows a variant embodiment of the invention, to prevent such results "zero synchronization through the use of a table deep in the hierarchy. In the first query 1301 client component 501 e-mail transmitting server component 502 e-mail, Feb (for example, Policytimeperiodcondition (GetHierachyTable)), requesting receipt of the deep hierarchy table. In the first answer 1302 transfer copies of the deep hierarchy table in the client component 501 e-mail. Typically, the client component 501 e-mail contains a previous copy of the table deep in the hierarchy. The client component 501 e-mail can quickly determine what the folder contained in the message store user email server component 502 e-mail, were modified by use of a sequential line-by-line comparison of rows in two copies. Then perform synchronization only those folders that have changed, using DVO (for example, Sinhronezirovala (SynchFolder)). If necessary, request 1303 and the answer 1304 can be repeated to ensure synchronization of changed folders. After successful synchronization can be upgraded copy of a table deep in the hierarchy in the client component of the e-mail so that it fits the new copy sent in the response 1302. If the client component 501 e-mail no previous copy of the table deep in the hierarchy, can be performed to synchronize all folders that have a row in the new copy.

After the establishment of sync is the message store user's e-mail can be synchronized by periodically repeating the above operations, the start of the session (i.e. by querying the server component e-mail), but this scheme has drawbacks. For example, the time interval between surveys can be much shorter than the period of time between changes in the user store e-mail messages. In this case, a relatively large number of operations comparison of tables deep hierarchy indicate the absence of any changes in the folder. Such comparisons, in essence, are useless, so the Protocol can prevent their execution, it may be more efficient.

Some network e-mail contain a means of subscription client component e-mail for notification server component e-mail, for example, that has been a change in the contents of a specific e-mail folder. Some client components e-mail previous versions do use such a tool to support synchronization of a user store e-mail messages by creating a separate subscription to receive notifications about changes relevant to each folder included in the folder hierarchy of the user. In one of the embodiments of the present invention, the client component of the e-mail can only create one subscription receipt shall notify the Affairs of the changes, associated with a table deep in the hierarchy. The only subscription is more efficient, since its creation, fewer, Feb and spent less resources on the server side.

And again with reference to Fig, when the first request 1301 at the beginning of the communication session with the server component 502 email client component 501 e-mail the most new version according to one aspect of the present invention, uses, far Eastern branch of Policytimeperiodcondition (GetHierarchyTable), there is an automatic subscription client component 501 e-mail to receive notifications about the changes associated with the deep hierarchy table, which is returned in the response 1302. When changes occur in the e-mail folder contained in the user store e-mail messages in the client component, e-mail, for example, in the folder add an e-mail message, perform an update to the table a deep hierarchy as described above. Changes in the deep hierarchy table initiate the transmission to the client component 501 e-mail alerts 1305 notification. Despite the fact that a warning notice is passed in response to the subscription, posted by request 1301, it is not h is STU cycle of requests and responses in an explicit form. Therefore, the use of the transmission system notifications, proposed in the present invention, is much less overhead in the network e-mail.

The presence of a single subscription may involve the transmission of multiple notifications. In one of the embodiments of the invention the delivery of warning messages is performed with the use of the method for transporting data across a network connection, for example, transfer Protocol user datagram/Protocol Internet (UDP/IP), but can be used in any other suitable way of transporting data across a network. In response to receiving a warning message client component 501 e-mail is sent to the server component 502 e-mail request 1306 containing DVO (for example, Polycythemia (GetNotification)). In response 1307 in the client component 501 e-mail transmit any modified rows in the table deep in the hierarchy (i.e. rows corresponding to the modified folder that initiated the transfer notice). Then, the client component 501 e-mail synchronizes only those folders that have changed, using DVO (for example, Sinhronezirovala (SynchFolder)).

Many client components e-mail can have the peep to receive notifications about changes associated with the same data object (for example, with the same e-mail folder), for example, to provide shared functionality. As shown in Fig, the client components of 1801, 1802 and 1803 e-mail have subscribed to receive notification of changes related to the same data object (not shown)located in the server component 1804 e-mail. The client component 1803 e-mail transfers, Feb 1805 in the server component 1804 e-mail, which leads to a change of the data object. The result of this change, the server component 1804 e-mail is sent to the client components of 1801, 1802 and 1803 e-mail notification 1806, 1807 and 1808 about the changes. Notification of changes may contain little information in addition to the object identifier data, subject to change, so that, for example, the client component of the e-mail may not be any way to determine the cause of a particular change. If the data object is, for example, the e-mail folder, the transfer notification 1806, 1807 and 1808 of the changes may lead to the fact that every client component 1801, 1802 and 1803 e-mail starts to synchronize the modified folder. Because this is the Rimera responsible for the change shall be the client component 1803 e-mail, the result will be zero sync.

For the above reasons it may be desirable to eliminate the synchronization operation, the result of which is zero sync. However, the described transmission mode notification may not always be desirable, and some client-side components of the e-mail may have a dependence on it. One aspect of the present invention is the provision of a client component e-mail capabilities to configure the transfer mode notification for server components e-mail most of the new versions to improve the performance of the Protocol and at the same time to ensure the continued sending of notifications for the client components electronic mail from previous versions.

On Figa shows the sending of notifications that may be provided by server-side components can e-mail the previous versions. On Figb shows the sending of notifications configurable according to one aspect of the present invention. If necessary, the client component of the e-mail most of the new version can specify the server component of the e-mail that he is able to switch the transmission of notifications shown in Figb, for example, by passing along the request flag which in the example shown in Figb, is the flag IGNORERULERSETTINGS (IGNORE_OWN).

At step 1901 produce the selection of the next potential recipient from the set of subscribed subscribers who receive notice. At step 1904 produce analysis subscription flag IGNORERULERSETTINGS (IGNORE_OWN). If the flag is not set, then at step 1904 go to step 1902 where the transfer notification to the subscriber seeking the Commission (to the candidate). If the flag is detected, then step 1904 go to step 1905, which again produce an analysis of the subscription to determine whether or not this notification is initiated by the given subscriber. This operation of determining may be performed, for example, by analyzing the communication session identifier ("Idsease" ("sessionID")), corresponding to the communication session that was used to place a subscription. ID Idsease" ("sessionID") may contain, for example, a globally unique identifier and gestibility sequence number. Notice also analyze on the ID match "Idsease" ("sessionID") to the initiator notice. If the two identifiers match, then the transfer notice is not produced. This leads to the fact that the client component of the e-mail that triggered the notification also will not receive this notification. The ZAT is in the routine passes to step 1903, described below.

If subscribed, the subscriber is not the initiator of the notification, the communication session identifier that matches the subscription is different from the communication session identifier corresponding to the initiator notice, and from step 1905 go to step 1902 where the transfer notice. Then the procedure passes to operation of 1903, which determines whether there are other signatories subscribers, which should send a notification. If available in the routine returns to the operation 1901, and otherwise, execution of the routine completes.

As stated above, the client component of the e-mail that uses cache memory to store e-mail messages may, for example, by means of Feb, to request the execution of synchronization messages or other data objects between the local client storage device and data storage device of the data available in the server component of the e-mail. Similarly, the client component of the electronic mail, you may submit a request to copy the messages from the server storage device in the client storage device. In any case, the transfer request may be implemented using fast transfer.

As the rule is, when the synchronization request or copy messages or other data, such as files, the request (e.g., two) contains an index of all messages, synchronization which it is desirable to perform. This list may be automatically created by the server-side component of the e-mail, for example, using the above distinction, which is a binary large object that characterizes the condition. For server components e-mail previous versions (prior art) there is an error in one message or data object specified in the request, Feb, results in an unsuccessful outcome for all data elements specified in the request. This process is shown in Figa, at which stage 1401 transmission request containing DVO (for example, Podgotovka (FXPrepare)), exercise along with a set of message identifiers of Idealwine (messageID), designed to copy or synchronize. In the server component 502 e-mail set mode quick transfer, and at step 1402 transfer ID quick transfer to the client component 501 e-mail. Then, the client component 501 e-mail asks you to copy or synchronize data objects via a request containing, for example, DVO Baluchitherium (FXGetBuffer) (143). When you try the server component 502 e-mail to open the requested messages error occurs in one or more messages or other data objects. Examples of errors are, including the distortion of the message or data object server crashes, out of memory in the server component 502 e-mail or a virus is detected in the data object.

After the error is detected, perform step 1404, where the server component 502 e-mail sends a message about a fatal error, Feb as part of the data stream sent to the client component 501 e-mail. Essentially, there is a violation of synchronization messages that are included with the kit Idealwine (messageID), are not synchronized or not copied, and the client component of the e-mail 501 does not receive binary large object, characterizing, or similar information pack. In this case, the client component 501 e-mail must submit a request to synchronise or copy data objects at a different point in time. There is a probability that if the server component 502 e-mail the error is not corrected, the transfer error messages can continue, and messages that are included in the set of Idealwine (messageID), will never be able to be synchronized is able or copied.

According to one aspect of the present invention, instead of reporting an unrecoverable error DVO server component e-mail most of the new version may transmit the error information related to a specific data object (e.g. e-mail), so that was a violation of the synchronization for the data object. Having this capability allows you to transfer, synchronize or copy messages or other data objects specified in Feb or in another query, even if part of the response includes a message or other data object that contains the error.

One example of how you should handle errors that are related to a specific object, is the following: the server component of e-mail most of the new version can send a message about the error structure of the data flow for a data object having an error in the object. In this example, for ease of reference the error referred to as Informationsystem (FXErrorInfo). If necessary Informationsystem (FXErrorInfo), as described in more detail below, may contain information such as, for example, message ID (message ID)corresponding to the data object that contains the error, and additional and the information about the cause of the unsuccessful transmission of the message.

On Figb shows the synchronization operation in which the error occurs in the message M3. The presence of errors leads to the fact that the answer 1405 Baluchitherium (FXGetBuffer) contains the message M1and the message M2after which it should Informationsystem (FXErrorInfo), and then the message M4. Information Informationsystem (FXErrorInfo) allows the client component 501 e-mail to get information about what exactly the message contained an error, and synchronize all other messages contained in the response. If the error message Informationsystem (FXErrorInfo) contains information about the cause of the error, the client component can react to this information, for example, through a visual display error messages to the user.

The following table shows an example of a format that can be Informationsystem (FXErrorInfo):

Informationsystem (FXErrorInfo)
Name of attributeThe attribute typeNotes
VersionThe WORD (WORD)Version of this structure.
Error codeThe DOUBLE WORD LENGTH (DWORD)
Identificato the message IDS (MID)Type message ID (IDS) contains a globally unique identifier (GUID) and gestibility sequence number. It represents the ID of the message that caused the error
...Here you can add zero or more attributes.
The length of the auxiliary fieldULONGThe amount of the next array
Auxiliary fieldAn array of type byte (BYTE)Unstructured array to transmit detailed information about the error.

The table shows that the as an example, the format contains the version attribute, the error code and message ID of Idealwine (messageID). In addition, if necessary, it is possible to add one or more attributes. Moreover, as indicated above, may be specified auxiliary field to transmit detailed information about the error. Essentially, you can specify the attribute that specifies the length of the field detailed data error (e.g., an array), and may be provided by the presence of the field, which may represent, for example, unstructured array to transmit detailed information about the error. As stated above, the client component 501 e-mail can carry out necessary about is the development of detailed error information.

Informationsystem (FXErrorInfo) allows full synchronization of the first response, resulting in the client component 501 e-mail transfer, for example, binary large object, characterizing, or other information. Because the client component of the e-mail is now synced up to the message M4then the following query 1406 to perform synchronization can lead to reply 1407, containing messages from a message M4(for example, M5and M6).

To specify that a client component 501 e-mail is a component of most of the new version and, therefore, capable of processing the message Informationsystem (FXErrorInfo)may be selected, for example, the flag Vosstanovleniya (FXRecoverMode), the transfer of which may be performed together with the fed, by means of which prompt you to synchronize or backup. For communication between the client component 501 and email server component 502 e-mail, is capable of processing the message Informationsystem (FXErrorInfo), can be used and other pointers.

When the server component 502 e-mail sends one or more messages or other amount is tov data in the client component 501 e-mail, the data stream sent to the client component e-mail, can be divided or limited by the tag properties (e.g., indicated as "ptags"). For example, the message list may contain for each message tag properties (ptag) the beginning of the message and the tag properties (ptag) the end of the message. Between the tags properties (ptags) start and end may be the tag properties (ptag) property list and tag properties (ptag) topics, which may contain the characteristic line. After the tag properties (ptag) topics may follow the data about the topic. This list can contain other tags properties.

In that case, when the message transmission error occurs, Informationsince (FXErrorInfo) can be represented in the form of tag properties (ptag), and can have binary properties, for example, as indicated in the table above. The following is an example of a data flow that contains as successfully transmitted the message, and the message in which the error occurred. In the case of an error, the tag properties (ptag) end of message for this particular message not used, and the tag properties (ptag) Informationsystem (FXErrorInfo) is the last tag properties (ptag) to this message.

ptagMessageListStart (tag properties the beginning of the message list)

ptagMessageStart (tag properties the beginning of the message)

ptagPropList (tag properties property list)

ptagSubject [PT_STRING] (tag properties themes [P IS SNAKESTONE])

"Re: Your email" ("Response: Your e-mail")

...

ptagMessageEnd (tag properties end of the message)

ptagMessageStart (tag properties the beginning of the message)

...

ptagFXErrorInfo [PT_BINARY]

(tag properties Informationsince [PREGNANY])

[Contents described in the table]

ptagMessageStart (tag properties the beginning of the message)

...

ptagMessageEnd (tag properties end of the message)

ptagMessageListEnd (tag properties end of the message list)

On Figa shows the operations that the server component 502 e-mail may be used to transmit messages to the client component 501 e-mail the previous version. The procedure begins with operation 1501, which are preparing a set of messages, for example, by placing a set of messages in the data store designed for fast transfer. At step 1502 start streaming messages, for example, immediately after it has been placed in transit buffer server component 502 e-mail. If an error occurs during streaming messages perform step 1504, in which the stream of messages about PHP fatal error DVO in the client component 501 e-mail. After that, the execution of the routine completes. If during the streaming messages error no longer occurs, then perform step 1503, p. and which define do you have a set of other messages. In the case of their presence, the procedure returns back to step 1502, where the stream is the next message. Otherwise, execution of the routine completes.

On Figb shows the procedure of processing a message server component 502 e-mail most of the new version. Perform the steps are different depending on whether the client component of the e-mail component of most new version or feature of previous versions. Stages 1501-1504 represent the steps that are performed when there is a client component of an electronic mail from previous versions, and they are the same as the steps described in the previous paragraph and which have the same number of positions.

If at step 1502 when streaming the message error is detected, then perform step 1505, which determines if the request contains a flag, for example, the flag Vosstanovleniya (FXRecoverMode). If the request contains a flag, the client component 501 e-mail is a component of most of the new version, and at step 1505 transition to step 1506, where the stream of information Informationsystem (FXErrorInfo) in the client component 501 e-mail. Then, the procedure may be continued by performing step 503. If the request does not contain a flag from step 1505 transition to step 1504, where the stream message about a fatal error, Feb. After that, the execution of the routine completes.

As can be seen from the description, the presence of the flag in the request allows the process to continue streaming the resolution streaming messages Informationsystem (FXErrorInfo) instead of abandoning it and send the message about a fatal error, Feb. The transfer of the flag carries the client component 501 e-mail most of the new version. The client components of an e-mail earlier versions do not include the flag part of the query, and therefore, as described above, the error leads to the transmission of the message about a fatal error, Feb as part of the data stream.

If desired, in an alternative embodiment, may be transferred error messages (for example, Informationsince (FXErrorInfo)), related to the specific properties of a message or other data object, and not the entire message. For example, can be transferred messages Informationsystem (FXErrorInfo)related to the main content of the message or attachment in the message. In this case, the client component 501 e-mail can synchronise or copy properties, which is s submitted successfully and without errors, and does not synchronise or copy only those properties that contain errors.

Sometimes the message or other data object can have a sufficient volume to ensure that they comprised many answers Baluchitherium (FXGetBuffer). To ensure processing of such messages the client component 501 e-mail may contain logical unit return, by which he can remove any partially received message, and then after receiving the error messages, proceed to receive further messages properly.

Sometimes it may be desirable that the client component of the e-mail data were provided feedback about the progress of the copy or synchronize data objects, such as e-mail. According to one aspect of the present invention, the client component 501 e-mail most of the new version may indicate that it is capable of processing modes display the progress of an operation, for example, by passing in the server component 502 e-mail flag, for example, REGIMEN.DELTASONE (PROGRESS_MODE), when the synchronization request or copy data objects. In response, the server component 502 e-mail the most new version can Pere is avati with messages a variety of information, for example, data on the total volume of all messages on the total number of messages and the total of each message, or any one of these data, or any combination.

For example, as shown in Figa for the client component 501 e-mail the previous version, in response to the request (1601 and 1603) to perform rapid transmission of the set of messages the client component 501 e-mail receives messages. As shown in Figa, receive messages in the form of two answers 1604 and 1606. In the client component 501 e-mail previous versions, using the fast transfer method, the progress indicator operation streaming messages to the client is missing.

However, as shown in Figb, in response 1607 issued on the client component of the e-mail request message set server component 502 e-mail can provide data about the total number of transmitted data objects and on the total amount of all transferred data objects. This information is depicted on Figb as "Ptotal(Pall). The server component 502 e-mail most of the new version can also provide data about the volume of each message are indicated Figb as "P1P2P3, ...". In addition, if necessary, the information corresponding to adomo the message and the entire group of messages may contain additional information about whether each message information associated with the folder (COI) or represents, in fact, an e-mail message. In one of the embodiments of the invention in response to a request to perform a quick transfer always perform transmission of the information depicted on Figb as "Ptotal(Palleven in the case of passing a null data object that provides a simplified data flow.

An example of the format of the data about the volume and the number of all transmitted data objects shown in the table below.

IncrSyncProgressMode

(Increment when the synchronization mode display the progress of the transfer)
Name of attributeThe attribute typeNotes
VersionThe WORD (WORD)

(for example, 16-bit integer)
Version of this structure
cAssocMsgsThe DOUBLE WORD LENGTH (DWORD)

(for example, a 32-bit integer)
The number of data objects COI
IITotalAssocMsgSizeThe QUADRUPLE WORD LENGTH (QWORD)

(for example, 64-bit integer)
The total amount of all transferred and j the COI data
cNormalMsgsThe DOUBLE WORD LENGTH (DWORD)The number of transmitted e-mail
IITotalNormalMsgSizeThe QUADRUPLE WORD LENGTH (QWORD)The total of all sent e-mail messages.

As can be seen from the table can be set individual attributes for the number of data objects COI, for the total amount of all data objects COI, for a number of transmitted e-mail messages and the total amount of all sent emails. If necessary, this format can be added and other additional attributes and their combination.

The following table shows the format of the data about the volume and other information, the transfer of which may be carried out in each message.

IncrSyncProgressModePerMsg

(Increment when the synchronization mode display progress messages
Name of attributeThe attribute typeNotes
The volume of messagesLENGTH (LONG)The amount of the next message
Flag COILOGICAL (BOOL)Indicates whether the following message COI.

As can be seen from the table, the format contains data on the size of the next message and whether or not the following message COI or not.

On Figa and Figb shows the relationship streaming set of messages, respectively, for components e-mail previous versions and components e-mail most of the new version. The operations shown in Figa similar operations 1501-1503 of Figa. On Figb client component 501 e-mail the most new version flag is passed to REGIMEN.DELTASONE (PROGRESS_MODE), for example, together with the Feb. After completed training set of messages, at step 1701 detect the presence of a flag. In that case perform step 1702 in which transfer data on the progress of the entire operation of the transmission, then go to step 1502, where the stream of the first message. If the flag is not present, then from step 1701 transition directly to step 1502.

After performing the streaming of the first message is transferred to the operation 1703, which determine the availability of the flag. If the distance of the step 1703 transition to step 1704, where the stream of data on the progress of the transmission of each message. Then proceed to follow the step 1503, described above. If the flag is not available, then from step 1703 transition directly to step 1503.

The following is an example data flow for the server component the most new version that transfer data in the client component the most new version. The data flow is similar to the data flow, but additionally contains tags (ptags) for data on the progress of the entire transfer operation (ptagIncrSyncProgressMode), which may, for example, to have the properties of the binary object. In addition, each message provide information about the progress of the transmission of each message, for example, in the form of tag ptagIncrSyncProgressModePerMsg.

PtagIncrSyncProgressMode [PT_BINARY]

[Contents described in the table]

ptagMessageListStart

PtagIncrSyncProgressModePerMsg [PT_BINARY]

[Contents described in the table]

ptagMessageStart

ptagPropList

ptagSubject [PT_STRING]

"Answer: Your e-mail"("Re: Your email")

...

ptagMessageEnd

PtagIncrSyncProgressModePerMsg [PT_BINARY]

[Contents described in the table]

ptagMessageStart

...

ptagMessageEnd

PtagIncrSyncProgressModePerMsg [PT_BINARY]

[Contents described in the table]

ptagMessageStart

...

ptagMessageEnd

ptagMessageListEnd

In the shown example, the tags (ptags), containing data on the progress of the entire transfer operation (tag "Increment when the synchronization mode display the progress of the transfer" (ptagIncrSyncProgressMode)), and the tag is (ptags) for progress messages (tag "Increment when the synchronization mode display progress messages" (PtagIncrSyncProgressModePerMsg)) are accordingly, before the message list and before each message. However, the structure of the streaming data objects can be changed so that information about the progress of the transfer was inside or messages within the message list. In addition, the structure of the streaming data objects can be modified so as to completely eliminate the tags (ptags)between messages and/or lists of messages.

The client component of the e-mail receiving data about the progress of the transfer, can use these data to determine the progress of the sync or copy data objects received from the server component of the e-mail, and can use the data about the progress of the transmission of the message to determine the progress that the transmission of each individual message. This information may be useful, for example, to track information about the progress of the synchronization operation, the incoming real-time.

There are several different character sets that can be used to save e-mail messages or other data objects. For example, to save the letters in the English language most often use the American standard code for interchange of information is (ASCII). However, the ASCII code is insufficient to save the characters for all languages, because it is based on 8-bit characters. Therefore, the ASCII code can be used to represent only 256 characters, which is sufficient for English, but insufficient for languages containing more characters. On the other hand, in the set of characters such as Unicode for each character uses 16 bits (two bytes), and therefore it may contain more characters than ASCII code. Unicode can contain 65536 characters and, therefore, can be used to encode almost all languages of the world. Unicode contains it contains the ASCII character set.

In General, the client components 501 e-mail earlier versions contain the specified code page or character set, and/or data corresponding language. For example, client component 501 e-mail address of a specific version can contain the code page of the German language, and the client component to another version may contain code page ANSI (American national standards Institute). Sometimes it may be desirable that the client component 501 e-mail received e-mail messages with other character sets in addition to the specified code page. According to one the C aspects of the present invention, client component the most new version can provide compulsory transfer of all e-mail messages from the server component of the e-mail in the format of Unicode. After receiving the email client component 501 e-mail, e-mail message having a format of Unicode, can be converted to messages that match the code page of the client, or, alternatively, can be saved in Unicode format.

To specify that a client component 501 e-mail requires the provision of e-mail messages in Unicode format, the client component 501 e-mail may, for example, to transmit a flag in the server component 502 e-mail, for example, flag PERIODICALLY.PARLIAMENT (FORCEUNICODE). The transfer of the flag can be carried out together with the request, which is, for example, of Feb. If the server component 502 e-mail is a component of most of the new version, the server component 502 e-mail can transmit e-mail messages in Unicode format for these messages, or can convert email messages from other character sets in Unicode.

On Fig shows the steps of providing a particular is the abortion practices of characters for a message according to one aspect of the present invention. The procedure starts with step 2001, on which the server component 502 e-mail retrieves the message from its data storage. At step 2002 to determine the presence of the flag PERIODICALLY.PARLIAMENT (FORCEUNICODE). If it is missing, then from step 2002 transition to step 2003, on which the server component 502 e-mail provides an e-mail message in the format specified code page of the client component of the e-mail, if necessary, carrying out the conversion.

If flag PERIODICALLY.PARLIAMENT (FORCEUNICODE) from 2002 stage transition to step 2004, which determine whether the message is saved in Unicode format. If so, then at step 2004 transition to step 2005, which transfer messages to the client component 501 e-mail character set Unicode. If the message is not saved in Unicode format, then at step 2004 transition to step 2006, which converts the message to Unicode, and then move to step 2005, which transfer messages in the client component of the e-mail format is Unicode.

All of these references, including publications, applications for invention and for patents, hereby incorporated here put the m links in the same volume, as with the indication that each of these links individually directly incorporated here by reference and set forth here in full.

The use of indefinite articles, "certain articles" and similar objects of reference when describing the invention (especially in relation to the following claims should be interpreted in such a way that they cover themselves as singular and plural, if not stated otherwise or unless contrary to the context. The terms "comprising", "having", "including" and "included" shall be construed as terms not contributing restrictions (i.e., to mean "containing, but this is not a limiting characteristic"), unless otherwise noted. Assume that the enumeration of the ranges of values merely serves as a way for a brief individual links to each individual value within this range, unless otherwise noted, and each separate value is incorporated into the description, as if here are some of its description. All methods described here can be performed in any appropriate order, here if there is no other way of doing it or if it is clearly not contrary to the context. Imply that any and all of the examples here or formula ovci type "is given as an example ("example") are used to better explain the invention, and they do not limit the scope of patent claims of the invention, unless stated otherwise. No wording contained in the description should not be interpreted as indicating the presence of any undeclared characteristic, which is essential for practical use of the invention.

Here is the description of the preferred embodiments of the present invention, including the best version of its realization, known to the inventors. Modifications of these preferred embodiments of the invention may become apparent to ordinary specialists in the art after reading the above description. The inventors expect that these modifications can be used by qualified technicians in the art, and the inventors believe that the present invention can have other practical applications than described here, the specific variant of its application. Therefore, the present invention encompasses all modifications and equivalents of the subject matter set forth in the attached claims, in accordance with the relevant applicable laws. In addition, under the scope of patent claims of the present invention fall within any of the totality of you is opisannyh features of the invention in all its modifications, unless otherwise specified or unless contrary to the context.

1. Machine-readable storage medium containing executable computer commands to perform the following operations:

subscribed to receive the tables related to

the changes made in multiple folders containing data objects e-mail;

in response to a change in the table take into the client component of the e-mail notification of rows in the table corresponding to the folders that have changed; and

in response to the notification, send a request to synchronize only those folders that were changed.

2. Machine-readable storage medium according to claim 1, in which the subscription occurs automatically in the query result object e-mail data contained in multiple folders.

3. Machine-readable storage medium according to claim 2, in which the request contains a request for synchronization of the folder in which the object is e-mail data.

4. Machine-readable storage medium according to claim 2, in which the request contains a request to receive a copy of e-mail messages.



 

Same patents:

FIELD: information technologies.

SUBSTANCE: cooperative server-based invocation is run by e-mail. When user creates e-mail message with attachments, web-site for cooperative invocation is provided. Web-site for cooperative invocation allows to message receivers for cooperative attachment invocation. Thus user scores both advantage of cooperative e-mail attachment invocation usability, and advantages of server for cooperative invocation.

EFFECT: simplified system and cooperative server control method.

42 cl, 3 dwg

FIELD: information technology.

SUBSTANCE: this invention refers to the system and connection improvement method between the client and the server, particularly improved protocol that can be used for connection between the client and the server in email environment. The email server can provide the best message body available for the email message; transfer the data object in whole, if the requested property or properties are not completely defined in the data object; provide data considering loading process; send error info for the error containing data object. The email changes can be optimised on the email server component even if these changes appeared on the other email server component. The email server can support the table of changes appearing in the folders of the corresponding data bank and can notify the client email component about changes that appear in the table.

EFFECT: connection improvement between the client and the server.

14 cl, 31 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: electronic mailing technologies.

SUBSTANCE: method for notification of user about receipt of electronic mail message by mail center, wherein information is stored, related to mail accounts, assigned to identifiers of decoder receivers, enables transfer of notification message in broadcast signal, while notification message includes at least additional portion of text of electronic mail message and identifier of decoder receiver targeted as destination for current notification message. Described transmission is realized by appropriate devices and decoder receivers.

EFFECT: decreased load of addressed transmission channel.

3 cl, 7 dwg

The invention relates to a device and method for providing service with a guaranteed frame rate (GSPC) ARP-switch

The invention relates to commercial communication systems

The invention relates to transit communication systems for dial-up flow of information exchange traffic and, in particular, to transit systems that use asynchronous data transfer (ADF)

The invention relates to telecommunications, and in particular to techniques of data

FIELD: physics, guidance.

SUBSTANCE: invention concerns the automated control systems of technological process. Interface module is operatively related to the Fieldbus network of guidance of process and the Modbus network of guidance of process. The interface module stores a database of a card of registers in which parametres of guidance of processes and the functional blocks in field devices of the Fieldbus network of guidance are mapped by process under numbers of registers of network Modbus of guidance of process. After mapping of parametres Fieldbus of guidance by process in registers Modbus, the interface module is adapted to transmit messages-inquiries on network Fieldbus of guidance of process to field devices Fieldbus for current values of parametres of guidance of process. And also, to accept reciprocal messages from field devices Fieldbus; to maintain current values of parametres of guidance of process in a database of a registers card.

EFFECT: expansion of functionality due to information interchanges maintenance between various networks.

30 cl, 3 dwg

FIELD: physics, communication.

SUBSTANCE: invention concerns resorts of maintenance of infrastructure of message transfer which during performance abstracts operations of parcel and reception for exchange of messages with terminal point of the partner. Message infrastructure accepts commands from the appendix the message transfers setting guarantees of through delivery; uses mechanisms of transportation for satisfaction of requirements of the given guarantees of delivery, and creates communication between the application of message transfer and mechanisms of transportation for use at an exchange of conferrings. Storage of a state of a session can be supported in connected storehouse which can be, for example, storehouse of a database of the long-term storage or storehouse of storage of the application.

EFFECT: improvement of availability and scalability of the message transmission application by means of improvement of availability and scalability of underlying mechanisms of messages transportation.

71 cl, 4 dwg

FIELD: physics, computer facilities.

SUBSTANCE: invention concerns computer facilities and can be used for data exchange between the control computer and exterior devices in a mode of real time. Controller of channel of interblock exchange contains interface of busbar of computer, generator of clock impulses, divider of frequency of impulses, time counter, timer, shaper of interruptions, guidance register, state register, buffer storage device, interface of channel of interblock exchange, OR element, trigger and key. In initial state the trigger is in state unity. The individual signal from a trigger exit arrives on a driving inlet of a key and resolves signal passage through a key from the second target line of the channel of an interblock exchange for a control output. If during transmission of the information frame the interface of the channel of an interblock exchange fixes an error (malfunction), on its second exit there will be an individual signal which through OR element will arrive on an inlet of dump of the trigger and will erect it in a zero state. As a result of the target signal of the trigger arriving on the driving inlet of key, will forbid signal passage through key from the first line of the channel of an interblock exchange for a control exit.

EFFECT: expansion of functionality of device at expense of introduction of function providing recording and the analysis of individual malfunctions at working off of transmission channels of the information.

2 dwg

FIELD: physics, communication.

SUBSTANCE: device - the intermediary of device UPnP distinguishes the device connected to a network, and transmits the information concerning the distinguished device, in the device - the intermediary of device UPnP. The device - the intermediary of device UPnP accepts the information transmitted from the device - the intermediary of device UpnP, and transmits, on the basis of the accepted information, the conferring specifying, that the distinguished device is accessible on a network.

EFFECT: maintenance of recognition of device and notice on eigenfunctions.

2 cl, 21 dwg

FIELD: information technologies.

SUBSTANCE: for assessment of data in data formats incapable of direct assessment, which are transmitted between geodesic instruments, reference catalogues or data catalogues are used. Specified catalogues are preferably transmitted together with transmission of data and assessed data fields are indicated in data formats. If geodesic instrument accepts data format incapable of direct processing, then by means of reference catalogue (10) assessed data fields may be found, and with the help of data catalogue data fields incapable of assessment may be used.

EFFECT: method improvement.

17 cl, 17 dwg

FIELD: physics; computer technology.

SUBSTANCE: present invention pertains to ways of exchanging electronic mail messages. The electronic mail server provides the best message text box, accessible for electronic mail messages. The server transfers the complete data object if the required property or properties are not strictly defined inside the data object, provides data on progress of execution when tracking the loading progress, and can send error information for the data object causing the error. Changing the electronic mail can be optimised at the electronic mail server component, even if changes to the electronic mail took place at another server component. The electronic mail server component can keep a table of changes, taking place in folders associated with data storage, and can notify the signed in electronic mail client component on changes in the table.

EFFECT: increased efficiency of transferring information from the electronic mail server component.

28 cl, 31 dwg, 9 tbl

FIELD: physics; computer technology.

SUBSTANCE: present invention pertains to computer technology. According to the invention, message is sent with a report of the event from the first program to the second program, so as to indicate that, a certain event has taken place in the first program. The message with the report of the event comprises a parameter, which serves to indicate that, that action is one of a group of possible actions. For this purpose, in the application, customised for editing XML documents, actions related to XML trigger off sending of a message with a report of the event. The action related to XML can either be related to XML movement action, or to XML insert action, or with XML deletion action. That way, a message with a report for a single event can be used indicating three different types of actions when editing an XML document.

EFFECT: provision for sending a message with a report of the event from one program to another.

26 cl, 6 dwg

FIELD: physics; computer technology.

SUBSTANCE: present invention pertains to coupling time with multimedia objects, and more specifically, to provision for time references for multimedia objects. These elements are linked to other elements, which can be part of another external document. Elements of the external document are grouped in time packages, which are set forth when the elements are to be played back, when elements of separate documents are to be played back, and when multimedia objects are to be played back. Other documents can assume playback synchronisation based on the link to the separate document. The external document can contain a listener element, which reacts on an event, acting on the elements in the separate document.

EFFECT: provision for time references on multimedia objects through a separate document, containing elements which are indirectly referenced on the multimedia objects.

40 cl, 4 dwg

FIELD: information technologies.

SUBSTANCE: invention refers to authority control modes for application of each transmission medium by each user. Transmission function limiting unit (2106) estimates whether each recipient from address book controlled with recipient control unit (2103) corresponds to transmission medium which current user is authorised to operate. If Transmission function limiting unit (2106) estimates that recipient corresponds to medium which user is not authorised to operate, it eliminates the recipient and then displays destination list. User can specify required recipient from destination list and indicate transmission.

EFFECT: data transmission medium authorities are distributed due to user control table control unit (2107) storing transmission medium authorities of each user.

15 cl, 26 dwg

FIELD: information technologies.

SUBSTANCE: invention refers to inspection technology and can be used for design of various computer-based measuring systems (CMS), applying interface Common User Channel (CUC) for electronic instrument integration.

EFFECT: higher interface capacity of CUC interface data byte transfer due to the fact that three-wire acknowledgment cycle is completed in data-sender removed CUC pipe independently and is followed by three-wire acknowledgment cycle completion in data-sender pipe.

2 cl, 2 dwg

FIELD: digital data transferring technologies.

SUBSTANCE: digital serial transfer of information through interface between electronic device and accumulator connected to it is a transfer of bytes consisting of row of bits. Each bit is determined by one of levels, high level or low level, and first bit of each byte is a first level of said high and low levels. Method includes stage of transfer of other level from said low and high levels during first time span immediately before said first bit.

EFFECT: higher efficiency.

3 cl, 4 dwg

FIELD: recording systems with image feed, like digital camera.

SUBSTANCE: system, for direct connection of image feed device and recording device through common interface, transferring image data to recording device from image feed device and recording these data, has setting means for setting communication procedure by means of using software applications, mounted in recording device and in image feed device, and for setting of each of multiple functions to either image feed device or recording device, while these functions serve as recording system, and means for controlling recording for data transfer and commands between functions, assigned to image feed device or recording device by setting, or for performing recording operation via recording device on basis of image data, sent from image feed device.

EFFECT: higher efficiency.

6 cl, 47 dwg

FIELD: optical communications.

SUBSTANCE: first, administrative information of subnet device, made by manufacturer, who is not SDH devices manufacturer, included in base net, in given area of structure of frame of synchronous transfer mode (STM-N), and then said structure of frame STM-N is sent to base net device, connected to noted subnet, with following transfer of frame structure through said base net into device of destination subnet. Using this method, administrative information of SDH devices of multiple manufacturers can be conveyed while using code-independent transfer mode through SDH devices of certain manufacturer.

EFFECT: higher reliability.

8 cl, 4 dwg, 1 tbl

Up!