WO2009050391A1 - Procede de reduction de charge de serveurs, terminal, dispositif, et produit programme d'ordinateur correspondants - Google Patents
Procede de reduction de charge de serveurs, terminal, dispositif, et produit programme d'ordinateur correspondants Download PDFInfo
- Publication number
- WO2009050391A1 WO2009050391A1 PCT/FR2008/051731 FR2008051731W WO2009050391A1 WO 2009050391 A1 WO2009050391 A1 WO 2009050391A1 FR 2008051731 W FR2008051731 W FR 2008051731W WO 2009050391 A1 WO2009050391 A1 WO 2009050391A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- query
- synthetic
- response
- request
- entity
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17318—Direct or substantially direct transmission and handling of requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2405—Monitoring of the internal components or processes of the server, e.g. server load
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6581—Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
Definitions
- a method of reducing server load, terminal, device, and corresponding computer program product is a method of reducing server load, terminal, device, and corresponding computer program product.
- the present invention relates to the field of telecommunications.
- the present invention relates more particularly to the reduction of the processing loads imposed on certain equipment of telecommunication networks.
- Such solicitations intervene in particular in areas such as interactive services, offered in particular through television offers or video on demand. These solicitations are also very present in telephony services, in particular IP telephony services, for example implemented through IMS architecture.
- the major demands of the servers have two consequences in particular: a necessary increase in server sizing, in particular in terms of processing and storage capacities; an intermittent impossibility to implement the services requested by the users.
- servers are used to provide, on demand, information on the programs broadcast. These servers are responsible for receiving query requests from terminals implemented by users, and providing a response to these requests.
- TV-Anytime (literally, "TV at any time”).
- TS 102 822-6-1 a protocol that has been standardized under the reference "TS 102 822-6-1”.
- a user can, through his terminal, require: - the title of content currently broadcast on a particular channel; the time at which the next program starts on another particular channel.
- a method for generating an interrogation request intended to be transmitted to at least one receiving entity of a communication network comprises: a step of receiving an expanded query request previously formulated; a step of selecting a synthetic form adapted to said developed query query from among a set of pre-established synthetic forms; a step of constructing a synthetic query query, from said selected synthetic form, said synthetic query query being intended to be transmitted to the receiving entity.
- the invention makes it possible to formulate a synthetic query query, which is not as large as the query query developed.
- the synthetic query is not a compression of the query query developed, but a different form of formulation thereof. This results in a drastic drop in the load of the entity receiving the synthetic query query.
- the synthetic query query can also be called "shortcut", since it is shorter than the expanded query. It represents the same information as the query query developed, but in a reduced way. In other words, the size of the synthetic query is decreased, without compression of this request, but by establishing a correspondence between the query query developed and the query of synthetic query. Synthetic forms of queries are previously available.
- the invention makes it possible to verify the existence of a correspondence between the developed query request and a form of synthesizing it.
- a synthetic form exists, a synthetic query is constructed.
- the developed form is constructed and transmitted.
- said synthetic query is encapsulated in said query query developed prior to the transmission of said synthetic query query.
- the invention makes it possible to ensure full compatibility with existing equipment. Indeed, the invention makes it possible to reduce the server load by means of synthetic query requests. It should nevertheless be ensured that such synthetic interrogation requests do not come to disturb the conventional operation of the devices of the prior art which would not be able to benefit from the invention.
- synthetic query queries are ingeniously encapsulated in the query queries developed. Such an implementation makes it possible to guarantee the compatibility of the method of the invention with the existing query processing technologies. This encapsulation is made not to disturb the intermediate equipment.
- the synthetic query is constructed from said selected synthetic form and at least one query parameter specified in said expanded query request.
- the invention also relates to a method for processing a synthetic query query constructed from a synthetic form corresponding to an expanded query request.
- such a method comprises a step of searching, from said synthetic query query, a response to said request synthetic query, among a set of available responses associated with query queries.
- the invention makes it possible to take into account similar or identical requests that have already been the subject of a response. Indeed, rather than overloading the entity with identical processing, the synthetic query query is compared, during the search, to other synthetic query requests previously received by the entity. If a response to this synthetic query can be identified, then this response is obtained. If this is not the case, the answer is constructed by the entity.
- the method according to the invention substantially reduces the load of the entities of the communication network, and in particular of the receiving entity, by quickly identifying, from the synthetic query query, a response previously built to this request. .
- said method of processing comprises, when said response has not been found from the synthetic query query among the set of available responses: a step of constructing said response ; and a step of storing said response in said set of available responses.
- the invention makes it possible to further reduce the processing time of the request when it arrives at the receiving entity.
- the receiving entity that implements the method of the invention quickly identifies a synthetic query query and is able to search for a response to this query without the need to "decode" a query query developed more complex than the synthetic query query.
- the processing time of the synthetic query query is therefore less than that of the "initial" request, which improves the performance of the server, and consequently those of the system in its entirety.
- said treatment method comprises, after said step of construction, a step timestamping said stored response, defining an expiration date of said response.
- the invention therefore makes it possible not to provide any response to a synthetic query query, but a response that is not out of date. Indeed, as the requests are synthesized, it is possible for example that the same query of synthetic query does not result in the provision of the same response, depending, for example, the time at which the query query synthetic has been formulated. Thus, a synthetic query request to obtain the name of the program being broadcast on the channel number 1, will not have the same answer if the time at which it is issued is 18:00 on the one hand and 22:00, on the other hand.
- the invention makes it possible to overcome this constraint by comparing, when searching for a previously constructed response, the date of the synthetic query with the expiry date of the previously constructed response.
- said method of processing comprises, when said response has not been found from the synthetic query among said set of available responses, a step of transmitting the request of synthetic query to a receiving entity.
- said processing method comprises: a step of receiving said response to said synthetic interrogation request, from said receiving entity; a step of storing said response to said query request in said set of available responses.
- the invention ensures that the occurrence of a synthetic query query identical to that saved by the intercepting entity will not cause the transmission of this request to the receiving entity.
- This synthetic query request for which the intercepting entity has a response, will not increase the load of the receiving entity.
- the invention also relates to an entity issuing an interrogation request intended to be transmitted to at least one receiving entity of a communication network.
- such an entity comprises: means for receiving an expanded query request previously formulated; means for selecting a synthetic form adapted to said developed query query from among a set of pre-established synthetic forms; means for constructing a synthetic query query, from said selected synthetic form, said synthetic query query being intended to be transmitted to the receiving entity.
- such an entity may for example be in the form of a communication terminal, such as an IP / TV terminal.
- the invention also relates to an entity receiving a synthetic query query constructed from a synthetic form corresponding to an expanded query request.
- an entity comprises: means for searching, from said synthetic interrogation request, for a response to said synthetic interrogation request, among a set of available responses associated with requests for interrogation; means for constructing said response; means for storing said response in said set of available responses;
- such a receiving entity may be an application server in charge of providing a service. It can for example be an IP / TV server complying with the "TV Anytime" standard.
- the invention also relates to an intercepting entity of a synthetic query query constructed from a synthetic form corresponding to an expanded query request.
- such an entity comprises: means for searching, from said synthetic interrogation request, for a response to said synthetic interrogation request, among a set of available responses associated with requests for interrogation; means for transmitting the synthetic query request to a receiving entity; means for receiving said response to said synthetic query request from said receiving entity; means for storing said response to said query request in said set of available responses.
- such a intercepting entity may be in the form of a router of said communication network.
- such an entity can be in the form of a DSLAM, equipment responsible for connecting the communication terminal to the IP network of a telecommunication operator.
- the means implemented make it possible to check whether the intercepting entity has a response to the transmitted request. If this is the case, the intercepting entity is able to provide the expected response to the entity issuing the request.
- the recognition by the intercepting entity, relates to the synthetic query query. It is obvious to those skilled in the art that such recognition may also relate to the initial request, not synthesized. Recognition of the synthetic query query nevertheless allows not to require high processing power. Indeed, as the synthetic query query can be seen as a "shortcut" of the query query developed, it is less consumer resource of recognize a synthetic query request that a query query developed since the synthetic query query is shorter.
- the invention also relates to a treatment system.
- a treatment system comprises: an entity issuing an interrogation request intended to be transmitted to at least one receiving entity of a communication network, comprising: means for receiving an interrogation request developed, previously formulated; means for selecting a synthetic form adapted to said developed query query from among a set of pre-established synthetic forms; means for constructing a synthetic query query, from said selected synthetic form, said synthetic query query being intended to be transmitted to the receiving entity.
- an entity receiving a synthetic query query constructed from a synthetic form corresponding to a developed query query comprising: - search means, from said synthetic query query, an answer said synthetic query, among a set of available responses associated with query requests; means for constructing said response; means for storing said response in said set of available responses;
- said processing system further comprises: at least one intercepting entity of a synthetic query query constructed from a synthetic form corresponding to a request developed interrogation system, comprising: search means, from said synthetic query request, of a response to said synthetic query request, from among a set of available responses associated with query requests; means for transmitting the synthetic query request to a receiving entity; means for receiving said response to said synthetic query request from said receiving entity; means for storing said response to said query request in said set of available responses.
- the invention also relates to a computer program product downloadable from a communication network and / or stored on a computer-readable medium and / or executable by a microprocessor, and comprising program code instructions for the computer. execution of the generation method as described above.
- the invention also relates to a computer program product downloadable from a communication network and / or stored on a computer-readable medium and / or executable by a microprocessor, and comprising program code instructions for the computer. execution of the treatment method as described above. 4 LIST OF FIGURES
- FIG. 1 is a block diagram illustrating the principle of synthetic query query
- FIG. 2 is a block diagram showing the principle of interception request
- FIG. 3 describes an exemplary architecture for an implementation mode of the invention
- FIG. 4 describes a sequence of actions causing a response to an uncaught synthetic interrogation request, in the architecture of FIG. 3
- FIG. 5 describes a sequence of actions causing a response to an intercepted synthetic query in the architecture of FIG. 3
- FIGS. 6, 7 and 8 briefly describe the hardware architectures of the implementation entities of the method of the invention.
- the invention makes it possible to reduce the processing loads of entities that receive multiple query requests.
- entities may for example be program guide information servers.
- the invention is however not limited to these information servers alone, but is more generally applicable to any type of entity receiving complex query requests.
- requests are for example constructed in the form of a data structure requiring significant processing resources from the entity.
- the XML tag language is powerful because it allows to describe data in an open and structured way. Two identical queries can be written in very different ways, which makes the recognition of a replica very expensive in machine time.
- the entities servers, clients, database managers, etc.
- the entities that are responsible for implementing it must have significant computing resources, if only to allow the structure to be constructed. in memory.
- computing resources are generally available to process a few files, they become more difficult to obtain when This is for a server entity, for example, to process several thousand requests simultaneously.
- the invention makes it possible to reduce the load of the entities and avoids having to multiply the allocated resources.
- the invention comprises two different aspects: the queries synthesis, which makes it possible to create a shortened form of a request sent to an entity. This shortened form, because of its compactness, does not require significant resources to be identified and thus reduces the load of the receiving entity.
- interception of requests which is a mechanism allowing an intermediate entity of the communication network, for example charged with the routing thereof, to analyze the request and to check if it does not already have a response to this request.
- FIG. 1 A block diagram explaining in a synthetic manner the general operation of the query synthesis according to the invention is presented in relation with FIG.
- An issuing entity 10 wishes to obtain a response to a query developed query 100, previously formulated, either by an entity dedicated to this purpose, or by the issuing entity 10 itself.
- the transmitting entity 10 is connected to a communication network.
- the sending entity Prior to issuing the developed query query 100, the sending entity checks (1000) the presence of a synthetic form 101 for the query request to be issued. If such a form is present, it constructs (1001) a synthetic query query 102 from the synthetic form 101 and the expanded query query 100. This synthetic query query 102 is then inserted into the expanded query query 100.
- the expanded query (which thus contains the synthetic query query 102) is transmitted (1002) to the receiving entity.
- the receiving entity 12 receives (1003) the expanded query query 100 and identifies (1004) the presence of the synthetic query query 102.
- the receiving entity 12 then proceeds in two stages (T1 and T2), based on the synthetic query query 102 (instead of the largest query query developed 100):
- Tl it looks for (1005) a response previously constructed to the query of synthetic query 102, answer 103 that it sends (1006) then to the issuing entity if it found it;
- T2 it constructs (1007) a response to the synthetic query query 102, answer 103 that it sends (1006) then to the issuing entity if it found it after it has saved (1008) for possible future use.
- the query synthesis according to the invention has made it possible to reduce the load of the receiving entity in two stages: first, by reducing the analysis time of the request, since the request is not analyzed of query developed as such, but only the synthetic query query. On the other hand, by allowing the search for a previously constructed response corresponding to the synthetic query (and not to the query developed query).
- FIG. 2 shows a block diagram explaining in a synthetic manner the general operation of the request interception according to the invention (the references of FIG. 1 have been retained for convenience).
- An issuing entity 10 wishes to obtain a response to a developed interrogation request 100.
- the transmitting entity 10 is connected to a communication network. It transmits (1002) the expanded query query 100 to the receiving entity 12.
- the intercepting entity 11 When passing (1006) the response to the expanded query query 100, the intercepting entity 11, examines (1006-0) this response and checks (1006-1) if it is not already present in an area conservation of answers. If this is not the case, this response 103 is kept (1006-2) in the memory of the intercepting entity 11 for possible future use.
- an interception chain can be formed and that it is not necessary to carry out only one interception, so that if the following routing entity can find a previously recorded response to the query query developed, it implements the same mechanism as the initial intercepting entity. This principle is also valid for answers.
- the invention thus makes it possible to construct a pyramid architecture for distributing interrogation requests and corresponding responses to the receiving entity, which is located at the last step of the pyramid.
- the inventors have also ingeniously combined the two principles presented above. This combination makes it possible: not to modify or know the standards supported by the intermediate equipment, by inserting the synthetic query query within the query query developed; to be able to operate the combined invention on intermediate entities having low computational power without databases essential for response generation, by analyzing, within them, only the synthetic query, and not the larger query query developed; to use backup resources of the different entities of the communication network in an efficient manner to provide, as quickly as possible, the information expected by the sending equipment.
- the invention is in no way limited to this succinct presentation, in which the issuing entity is also the one that seeks a correspondence with a synthetic form of the request.
- Such an implementation requires specific resources at the level of this issuing entity. It is of course possible that such resources are not available and that an intermediate equipment of the communication network fills, instead of the issuing entity, this search function correspondence.
- This forum standardized under the reference TS 102 822-6-1 an XML request protocol for requesting a metadata server information on a content or on one or more channels.
- the IP port is used as the transport protocol.
- the application protocol is the HTTP protocol.
- the Data encapsulation protocol is SOAP. It makes it possible to transport the interrogation XML requests from the sending entity to the receiving entity.
- the transmitting entities are terminals, for example TV program viewing terminals via the IP protocol.
- the intercepting entities, intermediate interception equipment, are routers that are responsible for routing the interrogation requests sent by the terminals to the receiving entity, which in this embodiment is a guide information server. programs.
- this implementation of the method of the invention comprises the following phases:
- the terminals send query requests for the most common program information, not in the expanded form of the requests but in the synthetic form; Intermediate devices, which receive synthetic query requests, search if this request is not present in their list of synthetic query requests already received.
- the intermediate equipment immediately responds to the terminal by returning the stored response
- the central server does the same search on the synthetic query query and if it has not already received it, it will process it by extracting the requested program information from the database and prepare a response that it will store locally (in a pre-constructed response obtaining unit, for example a database) with a copy of the received synthetic query (with validity period).
- the central server upon receiving a query query developed in the conventional XML format, constructs the corresponding synthetic query query and stores its result to allow faster and less costly (in terms of processing time) of its result in a subsequent search.
- the intermediate equipment stores the response and retransmits the response to the terminal, with its validity period.
- the synthetic query requests are analyzed by the intermediate equipment. They do not have a database for processing commands in the standard XML format, nor knowledge of the XML query protocol (query and response). More particularly, the essential technical elements of this embodiment are the following:
- FIG. 3 the general configuration of the implementation of the invention is presented.
- Five transmitting entities (receiving terminals) 30, 31, 32, 33 and 34 are connected to two routers or local servers (intercepting entities) 35 and 36.
- the receiving terminals 30 and 31 are connected to the router 35 while the terminals 32, 33 and 34 are connected to the router 36.
- the two routers 35 and 36 are connected to a central program guide information server 37 which has means for querying a program information database 38.
- the protocol standardized under the reference TS 102 822-6-1 is used to create interrogation XML requests to a metadata server for requesting information on one or more contents, on one or more channels.
- Another example is the search for information on programs broadcast on 3 channels in a two-day time slot:
- FIG. 4 in which the reference numerals of FIG. 3 have been preserved, shows a receiving terminal 30 which makes (401) a request to the central program information server 37.
- This request has not yet been received from another receiver (after a search (402) in a query and answer storage database 39, said database 39 being the unit for obtaining the previously constructed responses, in this embodiment of the invention ), the central server extracts (403) the information from the database, formats a response and stores it on the server (404) with a maximum validity period and returns it (405) to the receiver 30.
- query requests and XML responses are introduced into the headers a "shortcut" of these requests. or responses, easy to detect without impact on the schema "xsd” definition of these queries and responses description.
- This "shortcut” is therefore a synthetic query, since it is shorter than the expanded query, and because it contains all the useful information contained in the original XML request.
- the syntax of this "shortcut” includes: Possibly an indication of a request or response schema, if it is desired to be able to intercept several independent XML request protocols - A synthetic request / response code of the "string" type
- the command shortcut is inserted as a comment at the very beginning after the character encoding type declaration of the request or response (to be located as quickly as possible);
- the character "]" or any other marker is inserted at the beginning of the comment to confirm that it is a command shortcut;
- An XML request code on a character (all lowercase letters with no accents and all digits are allowed, which makes 62 command codes) is inserted afterwards (in our example "a” replaces "get_Data”) , it replaces the full name of the XML request that is on the next line;
- a schema code (in our example "23") is optionally inserted immediately after the request code to distinguish several query protocols;
- a separator is inserted to terminate the schema code here eg "]";
- An order code (in our example "124") is inserted to replace all the detailed order that follows.
- the code "124" here indicates a request of all contents having the value of the following parameter in the "title” element.
- a separator is inserted to terminate the command code and separate it from the next element, here for example "]";
- the command The synthetic query query again, is much shorter and more easily identifiable and breakable than the initial query command.
- the command code "047" indicates a request of all the contents diffused today on the N chains indicated in parameter. To ensure compatibility with existing implementations that do not include command shortcuts inserted into the comment inserted at the beginning of the query, the remainder of the command is kept in its current form.
- the central server that receives the XML requests recognizes that there is a synthetic query query by its start marker in the comment field in the request header. He takes the whole comment and will look in his table for available answers, if this request has already been received and processed.
- the server will store in its table responses already returned and associated with synthetic query queries.
- the search in the metadata database is done from the synthetic query query.
- the search in the metadata base is done from the developed query query.
- the expanded query query used to perform the search in the metadata database is the query encapsulating the synthetic query query received by the receiving entity.
- the developed query query used to perform the search in the metadata database is constructed in the receiving entity from the synthetic query query.
- a receiving terminal 30 makes (401) a request to the central program information server 37, which passes through the intercepting entity 35.
- the intercepting entity 35 has no reference to this request and stores it (501) in its database 50.
- This request has not yet been received from another receiver (after a search (402) in a storage database 39 of the requests and responses), the server central extracts (403) the information from the database, formats a response and stores it on the server (404) with a maximum validity period and sends it back (405) to the receiver 30, which passes through the intercepting entity 35, which realizes that it is a response to the previous query request and stores it (502) in its database 50.
- the intercepting entity 35 then receives (406) the same synthetic interrogation request from the receiver 31, it finds (503) the response already ready and it is immediately transmitted (408) to the receiver 31 without the request being transmitted to the central server 37.
- the intermediate equipment (the intercepting entity in this embodiment) recognizes these requests. (for example by extracting the useful part of the first comment in the header of the XML request) and stores this beginning of request to be able to compare it with the requests received previously and to return immediately the response to the receiver if the same request has already been received and a valid response is still available.
- the synthetic query continues to the central server.
- the local intermediate equipment (the intercepting entity in this embodiment) recognizes a response to a previous XML request with query shortcut, by parsing the first comment without the XML response header. It extracts the XML request shortcut, searches in a multi-element table (substantially identical to that of the central server) the XML request and records the response for its future possible needs. The intermediate equipment also records the expiry date of the response, which can be found in the following comment, in its table of available responses.
- a synthetic query is inserted into the query query developed.
- this synthetic query is inserted as an XML element that contains the attributes that allow for summarization.
- the synthetic query query can be included in the XML tree, which may allow, in some embodiments of the invention, a certain flexibility in the processing, or still checking the consistency of the requests.
- an emitting entity according to the invention is presented.
- Such an entity comprises a memory 61 consisting of a buffer memory, a processing unit 62, equipped for example with a microprocessor ⁇ P, and driven by the computer program 63, implementing the processing method according to the invention .
- the code instructions of the computer program 63 are for example loaded into a RAM before being executed by the processor of the processing unit 62.
- the processing unit 62 receives as input at least an information I to be transmitted (such as an expanded query request).
- the microprocessor of the processing unit 62 implements the steps of the method described above, according to the instructions of the computer program 63, for delivering a processed information T (such as a synthetic query request).
- the transmitting entity comprises, in addition to the buffer memory 61, means for searching and constructing a synthetic query request, in particular allowing the execution of the method according to the invention. These means are controlled by the microprocessor of the processing unit 62.
- FIG. 7 an embodiment of an intercepting entity for implementing the method according to the invention is presented.
- Such an intercepting entity comprises a memory 71 constituted by a buffer memory, a processing unit 72, equipped for example with a microprocessor ⁇ P, and driven by the computer program 73, implementing the processing method according to FIG. invention.
- the code instructions of the computer program 73 are for example loaded into a RAM before being executed by the processor of the processing unit 72.
- the processing unit 72 receives as input at least an information I to transmit (such as a synthetic query query, or a response to such a request).
- the microprocessor of the processing unit 72 implements the steps of the method described above, according to the instructions of the computer program 73, to deliver a processed information T (such as a response).
- the intercepting entity comprises, in addition to the buffer memory 71, request and response routing means, and information processing means, in particular allowing the execution of the method according to the invention. These means are controlled by the microprocessor of the processing unit 72.
- Such a receiver entity comprises a memory 81 consisting of a buffer memory, a processing unit 82, equipped for example with a microprocessor ⁇ P, and driven by the computer program 83, implementing the processing method according to the invention. invention.
- the code instructions of the computer program 83 are for example loaded into a RAM before being executed by the processor of the processing unit 82.
- the processing unit 82 receives as input at least an information I to transmit, such as synthetic query requests.
- the microprocessor of the processing unit 82 implements the steps of the method described above, according to the instructions of the program 83, to deliver a processed information T, such as responses to synthetic query queries.
- the receiving entity comprises, in addition to the buffer memory 81, query and response formulation means, and information processing means, in particular allowing the execution of the method according to the invention. These means are controlled by the microprocessor of the processing unit 82.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
L'invention concerne un procédé de génération d'une requête d'interrogation destinée à être transmise à au moins une entité réceptrice d'un réseau de communication. Selon l'invention, un tel procédé comprend : - une étape de réception d'une requête d'interrogation développée, préalablement formulée; une étape de sélection d'une forme synthétique adaptée à ladite requête d'interrogation développée, parmi un ensemble de formes synthétiques préétablies; - une étape de construction d'une requête d'interrogation synthétique, à partir de ladite forme synthétique sélectionnée, ladite requête d'interrogation synthétique étant destinée à être transmise à l'entité réceptrice.
Description
Procédé de réduction de charge de serveurs, terminal, dispositif, et produit programme d'ordinateur correspondants.
1 DOMAINE DE L'INVENTION
La présente invention se rapporte au domaine des télécommunications. La présente invention se rapporte plus particulièrement à la réduction des charges de traitement imposées à certains équipements des réseaux de télécommunication.
En effet, un des effets de l'accroissement constant du nombre de personnes connectées en haut débit, notamment au travers des offres ADSL, a pour conséquence directe une multiplication des sollicitations des serveurs chargés de rendre des services aux utilisateurs.
De telles sollicitations interviennent notamment dans des domaines comme ceux des services interactifs, proposés notamment par le biais d'offres de télévision ou de vidéo à la demande. Ces sollicitations sont également très présentes dans les services de téléphonie, notamment les services de téléphonie sur IP, par exemple mis en œuvre par le biais d'architecture IMS.
Les sollicitations importantes des serveurs ont notamment deux conséquences : une nécessaire augmentation des dimensionnements des serveurs, en terme notamment de capacités de traitement et de stockage ; une impossibilité intermittente de mettre en œuvre les services demandés par les utilisateurs.
Ainsi, par exemple, dans le domaine des services interactifs de télévision, des serveurs sont utilisés pour fournir, à la demande, des informations sur les programmes diffusés. Ces serveurs ont la charge de recevoir des requêtes d'interrogation, en provenance de terminaux mis en œuvre par des utilisateurs, et de fournir une réponse à ces requêtes.
2 SOLUTIONS DE L'ART ANTERIEUR
Dans le cas des services de télévision interactive, tel que celui évoqué précédemment, il n'est pas possible de connaître les contenus des requêtes des
utilisateurs à l'avance. En effet, les possibilités de requêtage offertes à l'utilisateur sont vastes. Un exemple d'un tel service d'information de guide des programmes (guide électronique des programmes) est connu sous le nom de « TV-Anytime » (littéralement, de l'anglais « TV à n'importe quel heure »). Ces services sont basés sur l'utilisation de protocoles pour demander des informations de programme sur un site central. Le service « TV-Anytime » utilise un protocole qui a été normalisé sous la référence « TS 102 822-6-1 ».
Par exemple, un utilisateur peut, par l'intermédiaire de son terminal, requérir : - le titre d'un contenu actuellement diffusé sur une chaîne particulière ; l'heure à laquelle débute le programme suivant sur une autre chaîne particulière.
Il arrive régulièrement que les serveurs reçoivent en rafale de nombreuses requêtes de la part des terminaux. Généralement ces requêtes « en rafale » arrivent simultanément et correspondent à des heures de grande écoute ou à des pages de publicité, par exemple. Elles entraînent des pics de charge au niveau des serveurs dus à la réaction simultanée des utilisateurs qui regardent une chaîne à large audience. Ils se mettent à interagir tous ensembles à des moments précis: mi- temps d'un match, démarrage de la publicité. . II arrive de plus que ces requêtes soient identiques. C'est-à-dire qu'un utilisateur d'un terminal A formulera la même requête qu'un utilisateur d'un terminal B. Ces deux requêtes seront traitées de manière identique par le serveur, comme s'il s'agissait de deux requêtes différentes.
Afin de diminuer la charge des serveurs, en amélioration de la solution précédente, on suppose qu'il est vraisemblable que le serveur reçoive de nombreuses requêtes identiques.
Celui-ci procède donc à un enregistrement des réponses dans une base de données ce qui lui évite de devoir reconstruire une réponse identique à celle qu'il vient de construire. Cela ne lui évite pas, cependant, de devoir analyser à nouveau
l'intégralité de la requête suivante préalablement à la vérification de l'existence d'une réponse adéquate.
3 RESUME DE L'INVENTION La solution proposée par l'invention ne présente pas ces inconvénients de l'art antérieur. Elle concerne en effet un procédé de génération d'une requête d'interrogation destinée à être transmise à au moins une entité réceptrice d'un réseau de communication. Selon l'invention, un tel procédé comprend : une étape de réception d'une requête d'interrogation développée, préalablement formulée ; une étape de sélection d'une forme synthétique adaptée à ladite requête d'interrogation développée, parmi un ensemble de formes synthétiques préétablies ; une étape de construction d'une requête d'interrogation synthétique, à partir de ladite forme synthétique sélectionnée, ladite requête d'interrogation synthétique étant destinée à être transmise à l'entité réceptrice.
Ainsi, l'invention permet de formuler une requête d'interrogation synthétique, qui n'est pas aussi volumineuse que la requête d'interrogation développée. La requête d'interrogation synthétique n'est pas une compression de la requête d'interrogation développée, mais une forme différente de formulation de celle-ci. Il en résulte une baisse drastique de la charge de l'entité qui reçoit la requête d'interrogation synthétique. La requête d'interrogation synthétique peut également être appelée « raccourci », dans la mesure où elle est plus courte que la requête d'interrogation développée. Elle représente en effet la même information que la requête d'interrogation développée, mais de façon réduite. En d'autres termes, la taille de la requête d'interrogation synthétique est diminuée, sans qu'il y ait compression de cette requête, mais par l'établissement d'une correspondance entre la requête d'interrogation développée et la requête d'interrogation synthétique. Des formes synthétiques de requêtes sont préalablement disponibles.
Quand une requête d'interrogation développée doit être formulée, l'invention permet de vérifier l'existence d'une correspondance entre la requête d'interrogation développée et une forme de synthétisation de celle-ci. Ainsi, si une forme synthétique existe, une requête d'interrogation synthétique est construite. Dans le cas contraire, la forme développée est construite et transmise.
Selon un mode de réalisation particulier de l'invention, ladite requête d'interrogation synthétique est encapsulée dans ladite requête d'interrogation développée préalablement à la transmission de ladite requête d'interrogation synthétique. Ainsi, l'invention permet d'assurer une compatibilité totale avec les équipements existant. En effet, l'invention permet de diminuer la charge des serveurs par l'intermédiaire de requêtes d'interrogation synthétiques. Il convient néanmoins de s'assurer que de telles requêtes d'interrogation synthétiques ne viennent pas perturber le fonctionnement conventionnel des dispositifs de l'art antérieur qui ne seraient pas à même de tirer parti de l'invention. Pour ce faire, les requêtes d'interrogation synthétiques sont ingénieusement encapsulées dans les requêtes d'interrogation développées. Une telle implémentation permet de garantir la compatibilité du procédé de l'invention avec les technologies de traitement de requête existantes. Cette encapsulation est faite pour ne pas perturber les équipements intermédiaires.
Selon une caractéristique particulière de l'invention, la requête d'interrogation synthétique est construite à partir de ladite forme synthétique sélectionnée et d'au moins un paramètre d'interrogation spécifié dans ladite requête d'interrogation développée. L'invention concerne également un procédé de traitement d'une requête d'interrogation synthétique construite à partir d'une forme synthétique correspondant à une requête d'interrogation développée.
Selon l'invention, un tel procédé comprend une étape de recherche, à partir de ladite requête d'interrogation synthétique, d'une réponse à ladite requête
d'interrogation synthétique, parmi un ensemble de réponses disponibles associées à des requêtes d'interrogation.
Ainsi, l'invention permet de tenir compte de requêtes similaires ou identiques qui ont déjà fait l'objet d'une réponse. En effet, plutôt que de surcharger l'entité avec des traitements identiques, La requête d'interrogation synthétique est comparée, lors de la recherche, à d'autres requêtes d'interrogation synthétiques préalablement reçues par l'entité. Si une réponse à cette requête synthétique peut être identifiée, alors cette réponse est obtenue. Si ce n'est pas le cas, la réponse est construite par l'entité. Ainsi, le procédé selon l'invention réduit de manière conséquente la charge des entités du réseau de communication, et notamment de l'entité réceptrice, en identifiant rapidement, à partir de la requête d'interrogation synthétique, une réponse préalablement construite à cette requête.
Selon un mode de réalisation particulier de l'invention, ledit procédé de traitement comprend, lorsque ladite réponse n'a pas été trouvée à partir de la requête d'interrogation synthétique parmi l'ensemble de réponses disponibles : une étape de construction de ladite réponse ; et une étape de stockage de ladite réponse dans ledit ensemble de réponses disponibles. Ainsi, l'invention permet de réduire encore le temps de traitement de la requête lorsqu'elle arrive sur l'entité réceptrice. En effet, l'entité réceptrice qui met en œuvre le procédé de l'invention identifie rapidement une requête d'interrogation synthétique et qu'elle est à même de rechercher une réponse à cette requête sans qu'il soit nécessaire de « décoder » une requête d'interrogation développée plus complexe que la requête d'interrogation synthétique. Le temps de traitement de la requête d'interrogation synthétique est donc moindre que celui de la requête « initiale » ce qui améliore les performances du serveur, et par voie de conséquence celles du système dans son intégralité.
Selon une caractéristique particulière de l'invention, ledit procédé de traitement comprend, postérieurement à ladite étape de construction, une étape
d'horodatage de ladite réponse stockée, définissant une date de péremption de ladite réponse.
L'invention permet donc de ne pas de fournir n'importe quelle réponse à une requête d'interrogation synthétique, mais une réponse qui n'est pas périmée. En effet, comme les requêtes sont synthétisées, il se peut par exemple qu'une même requête d'interrogation synthétique n'entraîne pas la fourniture de la même réponse, en fonction, par exemple de l'heure à laquelle La requête d'interrogation synthétique à été formulée. Ainsi, une requête d'interrogation synthétique visant à obtenir le nom du programme en cours de diffusion sur la chaîne numéro 1, n'aura pas la même réponse si l'heure à laquelle elle est émise est 18h00 d'une part et 22h00, d'autre part. L'invention permet de pallier cette contrainte en comparant, lors de la recherche d'une réponse préalablement construite, la date de la requête d'interrogation synthétique avec la date de péremption de la réponse préalablement construite. Selon un mode de réalisation particulier de l'invention, ledit procédé de traitement comprend, lorsque ladite réponse n'a pas été trouvée à partir de la requête d'interrogation synthétique parmi ledit ensemble de réponses disponibles, une étape de transmission de la requête d'interrogation synthétique à destination d'une entité réceptrice. Selon une caractéristique particulière de l'invention, ledit procédé de traitement comprend : une étape de réception de ladite réponse à ladite requête d'interrogation synthétique, en provenance de ladite entité réceptrice ; une étape de stockage de ladite réponse à ladite requête d'interrogation dans ledit ensemble de réponses disponibles.
Ainsi, l'invention assure que l'occurrence d'une requête d'interrogation synthétique identique à celle sauvegardée par l'entité interceptrice ne provoquera pas la transmission de cette requête à l'entité réceptrice. Cette requête d'interrogation synthétique, pour laquelle l'entité interceptrice possède une réponse, n'augmentera donc pas la charge de l'entité réceptrice.
L'invention concerne également une entité émettrice d'une requête d'interrogation destinée à être transmise à au moins une entité réceptrice d'un réseau de communication. Selon l'invention, une telle entité comprend : des moyens de réception d'une requête d'interrogation développée, préalablement formulée ; des moyens de sélection d'une forme synthétique adaptée à ladite requête d'interrogation développée, parmi un ensemble de formes synthétiques préétablies ; des moyens de construction d'une requête d'interrogation synthétique, à partir de ladite forme synthétique sélectionnée, ladite requête d'interrogation synthétique étant destinée à être transmise à l'entité réceptrice.
Dans un mode de réalisation particulier de l'invention, une telle entité peut par exemple se trouver sous la forme d'un terminal de communication, tel qu'un terminal IP/TV.
L'invention concerne aussi une entité réceptrice d'une requête d'interrogation synthétique construite à partir d'une forme synthétique correspondant à une requête d'interrogation développée. Selon l'invention, une telle entité comprend : - des moyens de recherche, à partir de ladite requête d'interrogation synthétique, d'une réponse à ladite requête d'interrogation synthétique, parmi un ensemble de réponses disponibles associées à des requêtes d'interrogation ; des moyens de construction de ladite réponse ; - des moyens de stockage de ladite réponse dans ledit ensemble de réponses disponibles ;
Dans un mode de réalisation particulier de l'invention, une telle entité réceptrice peut être un serveur d'application en charge de la fourniture d'un service. Il peut par exemple s'agir d'un serveur IP/TV respectant la norme « TV Anytime ».
L'invention concerne encore une entité interceptrice d'une requête d'interrogation synthétique construite à partir d'une forme synthétique correspondant à une requête d'interrogation développée. Selon l'invention, une telle entité comprend : - des moyens de recherche, à partir de ladite requête d'interrogation synthétique, d'une réponse à ladite requête d'interrogation synthétique, parmi un ensemble de réponses disponibles associées à des requêtes d'interrogation ; des moyens de transmission de la requête d'interrogation synthétique à destination d'une entité réceptrice ; des moyens de réception de ladite réponse à ladite requête d'interrogation synthétique, en provenance de ladite entité réceptrice ; des moyens de stockage de ladite réponse à ladite requête d'interrogation dans ledit ensemble de réponses disponibles. Dans une mode de réalisation particulier de l'invention, une telle entité interceptrice peut se présenter sous la forme d'un routeur dudit réseau de communication. Dans un autre mode de réalisation de l'invention, une telle entité peut se présenter sous la forme d'un DSLAM, équipement chargé de relier le terminal de communication au réseau IP d'un opérateur de télécommunication. Dans ce mode de réalisation, les moyens mis en œuvre permettent de vérifier si l'entité interceptrice dispose d'une réponse à la requête transmise. Si tel est le cas, l'entité interceptrice est à même de fournir la réponse attendue à l'entité émettrice de la requête. Dans ce mode de réalisation de l'invention, la reconnaissance, par l'entité interceptrice, porte sur la requête d'interrogation synthétique. Il est bien évident pour l'homme du métier qu'une telle reconnaissance peut également porter sur la requête initiale, non synthétisée. La reconnaissance de la requête d'interrogation synthétique permet néanmoins de ne pas nécessiter de grande puissance de traitement. En effet, comme la requête d'interrogation synthétique peut être vue comme un « raccourci » de la requête d'interrogation développée, il est moins consommateur de ressource de
reconnaître une requête d'interrogation synthétique qu'une requête d'interrogation développée puisque la requête d'interrogation synthétique est plus courte.
L'invention concerne également un système de traitement. Selon l'invention un tel système comprend : - une entité émettrice d'une requête d'interrogation destinée à être transmise à au moins une entité réceptrice d'un réseau de communication, comprenant : des moyens de réception d'une requête d'interrogation développée, préalablement formulée ; - des moyens de sélection d'une forme synthétique adaptée à ladite requête d'interrogation développée, parmi un ensemble de formes synthétiques préétablies ; des moyens de construction d'une requête d'interrogation synthétique, à partir de ladite forme synthétique sélectionnée, ladite requête d'interrogation synthétique étant destinée à être transmise à l'entité réceptrice. une entité réceptrice d'une requête d'interrogation synthétique construite à partir d'une forme synthétique correspondant à une requête d'interrogation développée, comprenant : - des moyens de recherche, à partir de ladite requête d'interrogation synthétique, d'une réponse à ladite requête d'interrogation synthétique, parmi un ensemble de réponses disponibles associées à des requêtes d'interrogation ; des moyens de construction de ladite réponse ; - des moyens de stockage de ladite réponse dans ledit ensemble de réponses disponibles ;
Selon un mode de réalisation original de l'invention, ledit système de traitement comprend en outre : au moins une entité interceptrice d'une requête d'interrogation synthétique construite à partir d'une forme synthétique correspondant à une requête
d'interrogation développée, comprenant : des moyens de recherche, à partir de ladite requête d'interrogation synthétique, d'une réponse à ladite requête d'interrogation synthétique, parmi un ensemble de réponses disponibles associées à des requêtes d'interrogation ; des moyens de transmission de la requête d'interrogation synthétique à destination d'une entité réceptrice ; des moyens de réception de ladite réponse à ladite requête d'interrogation synthétique, en provenance de ladite entité réceptrice ; des moyens de stockage de ladite réponse à ladite requête d'interrogation dans ledit ensemble de réponses disponibles. Selon un autre aspect, l'invention concerne également un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, et comprenant des instructions de code de programme pour l'exécution du procédé de génération tel que décrit précédemment.
Selon un autre aspect, l'invention concerne également un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, et comprenant des instructions de code de programme pour l'exécution du procédé de traitement tel que décrit précédemment. 4 LISTE DES FIGURES
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : la figure 1 est un diagramme de bloc illustrant le principe de requête d'interrogation synthétique ; - la figure 2 est un diagramme de bloc présentant le principe d'interception
de requête ; la figure 3 décrit un exemple d'architecture pour un mode de mise en œuvre de l'invention ; la figure 4 décrit un enchaînement d'actions entraînant une réponse à une requête d'interrogation synthétique non interceptée, dans l'architecture de la figure 3 ; la figure 5 décrit un enchaînement d'actions entraînant une réponse à une requête d'interrogation synthétique interceptée dans l'architecture de la figure 3 ; - les figures 6, 7 et 8 décrivent succinctement les architectures matérielles des entités de mise en œuvre du procédé de l'invention. 5 DESCRIPTION DETAILLEE DE L'INVENTION
5.1 Rappel du principe de l'invention
L'invention permet de réduire les charges de traitement des entités qui reçoivent de multiples requêtes d'interrogation. De telles entités peuvent par exemple être des serveurs d'informations de guide de programme. L'invention n'est cependant pas limitée à ces seuls serveurs d'informations, mais est plus généralement applicable à tout type d'entité recevant des requêtes d'interrogation complexes. De telles requêtes sont par exemple construites sous la forme d'une structure de données nécessitant des ressources de traitement importantes de la part de l'entité.
En effet, le langage à balise XML est puissant puisqu'il permet de décrire des données de manière ouverte et structurée. Deux requêtes identiques peuvent s'écrire de manière très différentes ce qui rend la reconnaissance d'une réplique très coûteuse en temps machine. Il possède cependant un inconvénient majeur : les entités (serveurs, clients, gestionnaires de bases de données...) qui sont chargées de le mettre en œuvre doivent posséder des ressources de calcul importantes, ne serait-ce que pour permettre une construction des structure de données en mémoire. Or si de telles ressources sont généralement disponibles pour traiter quelques fichiers, elles deviennent plus difficiles à obtenir lorsqu'il
s'agit pour une entité serveur par exemple, de traiter plusieurs milliers de requêtes simultanément.
Il est donc toujours nécessaire d'augmenter le dimensionnement des ces entités serveurs afin de répondre aux sollicitations. L'invention permet de réduire la charge des entités et évite de devoir multiplier les ressources allouées. L'invention comprend deux aspects différents : la synthétisation des requêtes, qui permet de créer une forme raccourcie d'une requête émise à destination d'une entité. Cette forme raccourcie, de part sa compacité, ne nécessite pas de ressources importantes pour être identifiée et permet ainsi de réduire la charge de l'entité réceptrice. l'interception de requêtes, qui est un mécanisme permettant à une entité intermédiaire du réseau de communication, chargée par exemple du routage de celle-ci, d'analyser la requête et de vérifier si elle ne possède pas déjà une réponse à cette requête. Ces deux mécanismes différents, ingénieusement mis en œuvre par les inventeurs, peuvent dans certains modes de réalisation particuliers, être combinés pour permettre une diminution encore plus importante des charges de traitement des entités de traitement des requêtes d'interrogation.
On présente, en relation avec la figure 1, un diagramme de bloc expliquant de manière synthétique, le fonctionnement général de la synthétisation de requête selon l'invention.
Une entité émettrice 10 souhaite obtenir une réponse à une requête d'interrogation développée 100, préalablement formulée, soit par une entité dédiée à cette effet, soit par l'entité émettrice 10 elle même. L'entité émettrice 10 est connectée à un réseau de communication. Préalablement à l'émission de la requête d'interrogation développée 100, l'entité émettrice vérifie (1000) la présence d'une forme synthétique 101 pour la requête d'interrogation à émettre. Si une telle forme est présente, elle construit (1001) une requête d'interrogation synthétique 102 à partir de la forme synthétique 101 et de la requête d'interrogation développée 100. Cette requête d'interrogation synthétique 102 est
alors insérée dans la requête d'interrogation développée 100. La requête d'interrogation développée (qui contient donc la requête d'interrogation synthétique 102) est transmise (1002) à destination de l'entité réceptrice.
L'entité réceptrice 12 reçoit (1003) la requête d'interrogation développée 100 et identifie (1004) la présence de la requête d'interrogation synthétique 102.
L'entité réceptrice 12 procède alors en deux temps (Tl et T2), en se basant sur la requête d'interrogation synthétique 102 (en non sur la plus volumineuse requête d'interrogation développée 100) :
Tl : elle recherche (1005) une réponse préalablement construite à la requête d'interrogation synthétique 102, réponse 103 qu'elle envoie (1006) alors à l'entité émettrice si elle l'a trouve ;
T2 : elle construit (1007) une réponse à la requête d'interrogation synthétique 102, réponse 103 qu'elle envoie (1006) alors à l'entité émettrice si elle l'a trouve après qu'elle l'ait sauvegardée (1008) pour une éventuelle utilisation ultérieure.
Ainsi, la synthétisation de requête selon l'invention a permis de réduire la charge de l'entité réceptrice en deux temps : d'une part en réduisant le temps d'analyse de la requête, puisque l'on n'analyse pas la requête d'interrogation développée en tant que telle, mais seulement la requête d'interrogation synthétique. D'autre part, en permettant la recherche d'une réponse préalablement construite correspondant à la requête d'interrogation synthétique (et non à la requête d'interrogation développée).
On présente, en relation avec la figure 2, un diagramme de bloc expliquant de manière synthétique, le fonctionnement général de l'interception de requête selon l'invention (les références de la figure 1 ont été conservées pour plus de facilité).
Une entité émettrice 10 souhaite obtenir une réponse à une requête d'interrogation développée 100. L'entité émettrice 10 est connectée à un réseau de communication. Elle transmet (1002) la requête d'interrogation développée 100 à destination de l'entité réceptrice 12. Une entité intermédiaire 11, telle qu'un
routeur, un DSLAM, ou une autre entité du réseau de communication (serveur local ou régional) par laquelle transite la requête d'interrogation développée 100, intercepte (1002-0) la requête d'interrogation développée et procède en deux temps : - elle recherche (1002-1) une réponse préalablement construite à la requête d'interrogation développée 100, réponse 103 qu'elle envoie (1006) alors à l'entité émettrice si elle l'a trouve. Elle interrompt (1002-2) alors le transfert de la requête d'interrogation développée 100. elle transfère (1002-3) la requête d'interrogation développée 100 à l'entité réceptrice 12 si elle ne possède pas de réponse à cette requête d'interrogation développée 100.
Lors du passage (1006) de la réponse à la requête d'interrogation développée 100, l'entité interceptrice 11, examine (1006-0) cette réponse et vérifie (1006-1) si elle n'est pas déjà présente dans une zone de conservation des réponses. Si ce n'est pas le cas, cette réponse 103 est conservée (1006-2) dans la mémoire de l'entité interceptrice 11 pour une éventuelle utilisation ultérieure.
Il est bien entendu qu'une chaîne d'interception peut être formée et qu'il n'est pas obligatoire de ne procéder qu'à une seule interception, de sorte que si l'entité de routage suivante peut trouver une réponse préalablement enregistrée à la requête d'interrogation développée, elle met en œuvre le même mécanisme que l'entité d'interception initiale. Ce principe est également valable pour les réponses. L'invention permet ainsi de construire une architecture pyramidale de distribution de requêtes d'interrogation et de réponses correspondantes jusqu'à l'entité réceptrice, qui est située en dernier échelon de la pyramide.
Les inventeurs ont également ingénieusement combiné les deux principes présentés précédemment. Cette combinaison permet : de ne pas modifier, ni connaître les normes prises en charge par les équipements intermédiaires, en insérant la requête d'interrogation synthétique au sein de la requête d'interrogation développée ;
de pouvoir faire fonctionner l'invention combinée sur des entités intermédiaires possédant de faibles puissances de calcul sans bases de données indispensables à la génération de réponse, en n'analysant, au sein de celles-ci, que la requête d'interrogation synthétique, et non pas la requête d'interrogation développée plus volumineuse ; d'utiliser des ressources de sauvegarde des différentes entités du réseau de communication de manière efficace pour fournir, au plus vite, l'information attendue par l'équipement émetteur.
L'invention n'est nullement limitée à cette présentation succincte, dans laquelle l'entité émettrice est également celle qui recherche une correspondance avec une forme synthétique de la requête. Une telle mise en œuvre suppose des ressources spécifiques au niveau de cette entité émettrice. Il est bien évidemment possible que de telles ressources ne soient pas disponible et qu'un équipement intermédiaire du réseau de communication remplisse, en lieu et place de l'entité émettrice, cette fonction de recherche de correspondance.
Par la suite, on présente notamment le cas d'une mise en œuvre des mécanismes de l'invention appliqués au protocole de requêtes XML défini et normalisé par le forum « TV Anytime ». Il est clair cependant que l'invention ne se limite pas à cette mise en œuvre particulière, mais peut également être mise en appliquée dans de nombreux autres domaines, notamment les protocoles d'interrogation utilisant le langage XML comme médium de définition d'interrogation et plus généralement dans tous les cas où les avantages procurés par l'invention sont intéressants.
5.2 Description générale d'un mode de réalisation On présente dans ce mode de réalisation, la mise en œuvre des mécanismes de l'invention aux architectures définies par le forum « TV Anytime ». Ce forum a normalisé sous la référence TS 102 822-6-1 un protocole de requêtes XML pour demander à un serveur de métadonnées des informations sur un ou des contenus, sur une ou des chaînes. Dans ce mode de mise en œuvre, le portocole IP est utilisé comme protocole de transport. Le protocole applicatif est le protocole HTTP. Le
protocole d'encapsulation de données est SOAP. Il permet de transporter les requêtes XML d'interrogation de l'entité émettrice vers l'entité réceptrice.
Dans ce mode de réalisation de l'invention, les entités émettrices sont des terminaux, par exemple des terminaux de visualisation de programmes TV par l'intermédiaire du protocole IP. Les entités interceptrices, équipements intermédiaires d'interceptions, sont des routeurs qui sont chargés d'aiguiller les requêtes d'interrogation émises par les terminaux à destination de l'entité réceptrice, qui dans ce mode de réalisation est un serveur d'information de guide dé programmes. De manière rapide, cette mise en œuvre du procédé de l'invention comprend les phases suivantes :
Les terminaux envoient des requêtes d'interrogation des informations de programmes les plus courantes non pas sous la forme développée des requêtes mais sous la forme synthétique ; - Les équipements intermédiaires, qui reçoivent des requêtes d'interrogation synthétiques, recherchent si cette requête n'est pas présente dans leur liste de requêtes d'interrogation synthétiques déjà reçues.
Si la requête a déjà été reçue et que la durée de validité de la réponse n'est pas épuisée, alors l'équipement intermédiaire répond immédiatement au terminal en renvoyant la réponse stockée ;
Si la requête d'interrogation synthétique n'a pas encore été reçue, elle est stockée dans l'équipement intermédiaire et retransmise vers le serveur central
Le serveur central fait la même recherche sur la requête d'interrogation synthétique et s'il ne l'a pas déjà reçue, il va la traiter en faisant une extraction des informations de programme demandées de la base de données et préparer une réponse qu'il va stocker localement (dans une unité d'obtention des réponses préalablement construite, par exemple une base de données) avec une copie de la requête d'interrogation synthétique reçue (avec durée de validité).
Dans un mode de réalisation complémentaire de l'invention, le serveur central, sur réception d'une requête d'interrogation développée au format XML classique, construit la requête d'interrogation synthétique correspondante et stocke son résultat pour permettre la diffusion plus rapide et moins coûteuse (en terme de temps de traitement) de son résultat lors d'une recherche ultérieure.
A la réponse du serveur central, l'équipement intermédiaire stocke la réponse et retransmet la réponse au terminal, avec sa durée de validité. Dans ce mode de réalisation, seules les requêtes d'interrogation synthétiques sont analysées par les équipements intermédiaires. Ils ne possèdent en effet pas de base de données pour traiter les commandes dans le format XML classique, ni la connaissance du protocole d'interrogation XML (requête et réponse). Plus particulièrement, les éléments techniques essentiels de ce mode de réalisation sont les suivants :
Définition d'un code de commande pour chacune des requêtes les plus fréquentes ;
Définition d'une syntaxe stricte pour le codage des codes de commande ainsi que des paramètres de ces commandes pour permettre une reconnaissance rapide de la commande tant par le serveur central que par d'éventuels équipements intermédiaires ;
Définition d'un code dans les réponses pour signaler que c'est la réponse à une requête d'interrogation synthétique ; - Positionnement de l'indication d'une réponse à une question synthétique, ainsi que sa durée de validité à un point rapidement accessible sans avoir à comprendre la syntaxe des réponses. 5.3 Description détaillée d'un mode de réalisation
On présente, en relation avec la figure 3, la configuration générale de la mise en œuvre de l'invention.
Cinq entités émettrices (des terminaux récepteurs) 30, 31, 32, 33 et 34 sont connectées à deux routeurs ou serveurs locaux (entités interceptrices) 35 et 36. Les terminaux récepteurs 30 et 31 sont connectés au routeur 35 tandis que les terminaux 32, 33 et 34 sont connectés au routeur 36. Les deux routeurs 35 et 36 sont connectés à un serveur central d'information de guide des programmes 37 qui dispose de moyens d'interrogation d'une base de données d'information de programmes 38.
Usuellement, dans ce type d'architecture, le protocole normalisé sous la référence TS 102 822-6-1 est utilisé pour créer des requêtes XML d'interrogation à destination d'un serveur de métadonnées pour requérir des informations sur un ou des contenus, sur une ou des chaînes.
On présente ci-après un exemple de requête pour rechercher les contenus qui ont le mot "titanic" dans le titre :
<?xml version»"! .0" encoding≈"UTP-8'"?> <get_Data xmlns≈urn: tva;transport :2ÛÛS ...> <Qu«ryConstxaiπts>
<BinaryPredicate fieldID≈"tvaf :Title" fieldValue≈"Titanic" test="containa"/>
</QueryConstraints> <RequestedTables>
<Table type="FrogramInformationTable">
<SortCriteria fieldID="tvaf : CRID" order≈"ascending"/> </Table>
</RequestedTables> </get_Data>
On présente également un autre exemple de recherche des informations sur les programmes diffusés sur 3 chaînes dans une tranche horaire de deux jours :
<?xml version="l .0" encoding="UTF-8" ?> <get_Data xrolns=υrn; tva; transport; 2005 ...> <QueryConstraints>
<PredicateBag type="AND">
<BinaryPredicate fieldID≈"tvaf :PublishedTime" fieldValue≈"20O2-O9-26T00:Q0:0OZ" test="greater_than_or_equals"/>
<BinaryPredicate fieldID≈"tvaf :PublishedTime" fieldvalue=" 2002-09-27τ23: 59 :59Z" test="less_than_or_equaXs"/>
<PredieateBag tyρe≈"OR">
<BinaryPredicate fIeIdID= "tvaf :ServiceURL" fieldValue≈"dvb: //1.2. l"/>
<BinaryPredicate fieldID≈"tvaf : ΞerviceURL" fieldValue="dvb: /11.2 ,2'7>
<BinaryPredicate fieldID≈"tvaf : ServiceURL" fieldValue="dvb://1.2.3"/> </PredicateBag>
</PredicateBag> </QueryConΞtraints> <RequeatedTables>
<Table type="Programlnformat ionTable"/> </RequestedTables> </get_Data>
La figure 4, dans lesquelles les références numériques de la figure 3 ont été conservées, montre un terminal récepteur 30 qui fait (401) une demande au serveur central d'informations de programme 37. Cette demande n'a pas encore été reçue d'un autre récepteur (après une recherche (402) dans une base de données de stockage 39 des requêtes et des réponses, ladite base de données 39 étant l'unité d'obtention des réponses préalablement construites, dans ce mode de réalisation de l'invention), le serveur central extrait (403) les informations de la base de données, formate une réponse et la stocke sur le serveur (404) avec une durée maximale de validité et la renvoie (405) au récepteur 30.
Il reçoit (406) ensuite la même demande synthétique du récepteur 31, il retrouve (407) la réponse déjà prête (dans la base de données de stockage 39) et elle est immédiatement transmise (408) au récepteur 31 sans faire de recherche dans la base de données. D'une manière générale, l'utilisation de XML pour les requêtes est peu efficace et demande des capacités de traitement importantes de la part des équipements qui les utilisent.
Pour améliorer les performances de tous les équipements amenés à traiter des requêtes ou des réponses XML, dans ce mode de réalisation particulier de l'invention, on introduit dans les entêtes des requêtes d'interrogation et des réponses XML un « raccourci » de ces requêtes ou réponses, facile à détecter sans impact sur le schéma "xsd" de définition de ces requêtes et réponses la description. Ce « raccourci » est donc une requête d'interrogation synthétique, dans la mesure où elle est plus courte que la requête d'interrogation développée, et parce qu'elle contient toutes les informations utiles contenues dans la requête XML d'origine. On présentera par la suite un autre mode de réalisation dans lequel le schéma "xsd" de définition de ces requêtes et réponses la description sera impacté.
Dans ce mode de réalisation, la syntaxe de ce « raccourci » comprend : Eventuellement une indication de schéma de requête ou de réponse, si on veut pouvoir intercepter plusieurs protocoles de requêtes XML indépendants - Un code de requête/réponse synthétique de type "chaîne"
Eventuellement, si la requête le nécessite, un paramètre de type "chaîne" pour pouvoir accepter n'importe quel paramètre et même plusieurs paramètres séparés par un délimiteur à choisir
Ainsi, la précédente requête d'interrogation développée de recherche des contenus comprenant le mot « titanic » dans le titre est formée de la manière suivante :
<?xrol ver.sioo="l .0" encoding="UTF-8"?> <! — ]a23]124]titâttic—>
<get_Bata xmlns≈urn: tva: transport t 2005 ..-> <OueryConstraints>
<BinaryPredicate fieldID≈"tvaf :Title" fieldValue≈"Titanie" test="contains"/>
</QueryConΞtraints> <RequeatedTables>
<Table type="Programinformat ion.Table">
<SortCriteria fieldID≈"tvaf : CRID" order≈"aacending"/> </Table>
</RequestedTableΞ> </get_Data> Au sein de cette requête XML, la requête d'interrogation synthétique est la suivante :
[ < ! — ] a23] 1241 titanic — >
Elle correspond à une forme synthétique de la requête d'interrogation développée au format classique. Elle est insérée entre deux balises de commentaire (les balises « < ! — » et « — > ») ce qui garantit que les équipements qui ne sont pas à même de reconnaître la syntaxe particulière de la requête d'interrogation synthétique ne soient pas mis en défaut de fonctionnement. En d'autres termes :
Le raccourci de commande est inséré comme un commentaire tout au début après la déclaration de type de codage des caractères de la requête ou réponse (pour être localisé le plus rapidement possible) ;
Le caractère "]" ou tout autre marqueur est inséré en début de commentaire pour confirmer qu'il s'agit d'un raccourci de commande ; Un code de requête XML sur un caractère (toutes les lettres en minuscules et majuscules sans accents et tous les chiffres sont autorisés, ce qui fait 62 codes de commandes) est inséré à la suite (dans notre exemple "a" remplace "get_Data"), il remplace le nom complet de la requête XML qui se trouve sur la ligne suivante ;
Un code de schéma (dans notre exemple "23") est inséré éventuellement immédiatement après le code de requête pour distinguer plusieurs protocoles de requêtes ;
Un séparateur est inséré pour terminer le code schéma ici par exemple "]" ; Un code de commande (dans notre exemple " 124") est inséré pour remplacer toute la commande détaillée qui suit. Le code "124" indique ici une requête de tous contenus ayant la valeur du paramètre suivant dans l'élément "titre". On pourra par exemple se passer de paramètre, si un paramètre de commande ne peut prendre que deux valeurs, on pourra créer deux codes de commandes correspondant à ces deux valeurs possibles de paramètres ; Un séparateur est inséré pour terminer le code de commande et le séparer de l'élément suivant, ici par exemple "]" ;
Un code de paramètre (dans notre exemple "titanic"), ceci lorsque les valeurs possibles du paramètre sont trop nombreuses pour leur attribuer un code de commande spécifique correspondant à chacune d'entre elles. Dans ce mode de réalisation de l'invention, le mécanisme décrit appliqué au deuxième exemple précédent entraînera la création de la requête suivante :
<?xml version=" l .0 " enco.ding="UTF-8" ?>
< ! — ] a23 ] 047 ] dvb : // 1 . 2 . l & dvb : // 1 . 2 .2 & dvb : // 1 . 2 .3 — > <gÊt_Data ailtis≈urn : tva s transport 12005 . . » > <Que r y Co n s t x a int s >
<PredicateBag type≈"AND">
<BinaryPredicate fieldID="tvaf :PublishedTime" fieldValue="20O2-O9-26T00;00:0θZ" test≈"greater_than_or_equals"/>
<BinaryPredicate fieldID="tvaf :PublishedTime"
fieldValue=" 2002-09-27T23: 59 :59Z" test≈"le5smthan_or_equals"/>
<PredicateBag type="OR">
<BinaryPredicate £ieldID="tvaf :ServiceURL" fieldValue≈"dvb: //1.2. l"/>
<BinaryPredicate fieldID="tvaf :ServiceURL" fieldValue≈"dvb://1.2.2"/>
<BinaryPredieate fieldID≈"tvaf t ServiceURL" fieldValue="dvb: IH ,2.3"/>
</PredicateBag> </PredicateBag> </QueryConstraints> <RequeatedTables>
<Table type="ProgramInformationTable"/> </RequestedTables> </get_Data> où la requête d'interrogation synthétique est la suivante :
I <!— ]a233047] dvb: //1.2. l&dvb: //1.2.2&dvb: //1.2.3—>
La commande La requête d'interrogation synthétique, encore une fois, est nettement plus courte et plus facilement identifiable et sécable que la commande d'interrogation initiale. Le code de commande "047" indique une requête de tous les contenus diffusés aujourd'hui sur les N chaînes indiquées en paramètre. Pour assurer la compatibilité avec les implémentations existantes qui ne comprennent pas les raccourcis de commandes insérés dans le commentaire inséré au début de la requête, on conserve le reste de la commande dans sa forme actuelle.
Il faut donc définir une liste de codes de commandes correspondant aux requêtes les plus fréquentes.
On comprend alors que la commande détaillée qui suit le raccourci de commande est devenue inutile et pourrait être supprimée, rendant la commande encore plus compact et donc moins coûteuse en bande passante et en temps de traitement.
<?xml vexsiσn=<f1 .0" eπcoding="UTF-8<f ?> < ! — ] a23 J 124 ] titanie — >
S'il est nécessaire d'avoirs plusieurs paramètres pour une commande synthétique, on choisit un délimiteur non utilisé dans la syntaxe des paramètres à regrouper pour les séparer et on impose un ordre précis des paramètres pour faciliter la reconnaissance des commandes synthétiques avec plusieurs paramètres. Dans ce mode de réalisation, il n'est pas nécessaire de modifier le schéma de description des réponses XML.
Le serveur central qui reçoit les requêtes XML reconnaît qu'il y a une requête d'interrogation synthétique par son marqueur de début dans le champ commentaire dans l'entête de la requête. Il prend tout le commentaire et va rechercher dans sa table des réponses disponibles, si cette requête a déjà été reçue et traitée.
Pour cela il lui suffit de prendre "a23] 124]titanic" (premier exemple) et "a23]047]dvb://1.2.1&dvb://1.2.2&dvb://1.2.3" (deuxième exemple) comme critère de recherche dans la table des réponses disponibles à trois colonnes ("raccourci de requête XML", "réponse à renvoyer", "date d'expiration"). Si la requête a déjà été reçue et traitée, la réponse est prête à être envoyée.
Dans le cas contraire, il faudra faire une recherche dans la base de métadonnées pour extraire les éléments de réponse et construire la réponse, que le serveur stockera dans sa table des réponses déjà renvoyées et qui sont associées à des requêtes d'interrogation synthétiques. La recherche dans la base de métadonnées se fait à partir de la requête d'interrogation synthétique. En variante, la recherche dans la base de métadonnées se fait à partir de la requête d'interrogation développée. La requête d'interrogation développée utilisée pour effectuer la recherche dans la base de métadonnées est la requête encapsulant la requête d'interrogation synthétique reçue par l'entité réceptrice. Dans un mode particulier de l'invention, la requête d'interrogation développée utilisée pour effectuer la recherche dans la base de métadonnées est construite dans l'entité réceptrice à partir de la requête d'interrogation synthétique.
On présente ci-après deux types de réponses que peut recevoir l'entité émettrice si elle a émis une requête d'interrogation synthétique pour rechercher des contenus ayant le mot "titanic" dans le titre : a) soit la réponse au format habituel
<?xml version≈"! O" encoding≈"UTP-8
<get_Data_Resuit servieeVersion≈"! " truncated≈ ="false">
</get_Data_Kesult>
b) soit la réponse suivante si le serveur sait qu'il existe des serveurs- répondeurs locaux qui peuvent reconnaître les requêtes d'interrogation synthétiques et les réponses à ces requêtes.
<?xml versiσn≈"l .0" encoding="tlTP-8"?>
<! ~~}23] 124] titanic—>
<!—2007-07-18Tl 8 r 00-08: 00—>
<get_Data_Result servieeVersion≈"l " truncated≈"false">
</get_ϋata_Result> Dans le commentaire dans l'entête de la requête, on insère tout au début un marqueur qui indique qu'il s'agit d'une réponse à une requête XML. Dans l'exemple le caractère " }" est utilisé comme marqueur de ce type.
<! — }23] 124] titanic—>
La suite du commentaire est identique à la requête XML d'interrogation synthétique dont le traitement a généré cette requête. Une telle mise en oeuvre permet de reconnaître rapidement la requête d'interrogation développée.
Ce n'est pas la synthèse de la réponse qui se trouve insérée dans le commentaire mais seulement le rappel de la requête XML qui a provoqué cette réponse. II est nécessaire, pour les entités réceptrice et les entités interceptrices d'indiquer la durée de validité des réponses : il s'agit des dates et heures à partir des quelles, il convient de détruire cette réponse et laisser passer la première requête suivante identique pour obtenir une réponse dont les données ont été mises à jour. Il s'agit d'un procédé d'horodatage des réponses qui permet donc d'éliminer progressivement les réponses qui sont devenues inutiles.
< ! — 2007-07-18T18; 00-08 ; 00— >
Ce mode de mise en œuvre de l'invention dans lequel la requête d'interrogation synthétique est insérée dans un commentaire immédiatement après la balise "<?xml>" et avant la requête elle-même permet de ne pas perturber les anciens récepteurs ou autres équipements pour lesquels une modification de la norme n'est pas acceptable. Dans le cas de ces anciens équipements, inadaptés à la mise en œuvre de l'invention, les réponses reçues aux requêtes qu'ils
transmettent ne contiendront pas le raccourci de commande XML, puisqu'ils n'ont pas pu envoyer de requête XML avec raccourci de requête.
En parallèle, et dans ce mode de réalisation, en combinaison avec cette insertion de requêtes d'interrogation synthétiques dans les requêtes et les réponses, on obtient des requêtes et des réponses synthétiques faciles à reconnaître pour des équipements intermédiaires, ce qui permet d'introduire des répéteurs ou serveurs locaux avec un minimum de traitement à faire selon le fonctionnement suivant, décrit en relation avec la figure 5, dans laquelle les références utilisées dans les figures 3 et 4 ont été conservées pour plus de facilité. Dans la figure 5, un terminal récepteur 30 qui fait (401) une demande au serveur central d'informations de programme 37, qui transite par l'entité interceptrice 35. L'entité interceptrice 35 n'a pas de référence à cette requête et la stocke (501) dans sa base de données 50. Cette demande n'a pas encore été reçue d'un autre récepteur (après une recherche (402) dans une base de données de stockage 39 des requêtes et des réponses), le serveur central extrait (403) les informations de la base de données, formate une réponse et la stocke sur le serveur (404) avec une durée maximale de validité et la renvoie (405) au récepteur 30, qui transite par l'entité interceptrice 35, qui s'aperçoit qu'il s'agit d'une réponse à la requête d'interrogation précédente et la stocke (502) dans sa base de données 50.
L'entité interceptrice 35 reçoit (406) ensuite la même requête d'interrogation synthétique du récepteur 31, elle retrouve (503) la réponse déjà prête et elle est immédiatement transmise (408) au récepteur 31 sans que la requête soit transmise au serveur central 37. Dans ce mode de réalisation de l'invention, parmi les requêtes d'interrogation XML synthétiques qui remontent vers l'entité émettrice de la requête initiale, l'équipement intermédiaire (l'entité interceptrice dans ce mode de réalisation) reconnaît ces requêtes (par exemple en extrayant la partie utile du premier commentaire dans l'entête de la requête XML) et stocke ce début de requête pour pouvoir le comparer aux requêtes reçues précédemment et renvoyer
immédiatement la réponse au récepteur si la même requête a déjà été reçue et si une réponse valide est encore disponible.
A défaut la requête synthétique poursuit son chemin vers le serveur central. Au retour l'équipement intermédiaire local (l'entité interceptrice dans ce mode de réalisation) reconnaît une réponse à une requête XML précédente avec raccourci de requête, par l'analyse du premier commentaire sans l'entête de réponse XML. Il extrait le raccourci de requête XML, il recherche dans une table à plusieurs éléments (sensiblement identique à celle du serveur central) la requête XML et enregistrer la réponse pour ses besoins futurs éventuels. L'équipement intermédiaire enregistre également la date d'expiration de la réponse, qui se trouve dans le commentaire suivant, dans sa table des réponses disponibles.
Comme cette solution ne remet pas en cause la syntaxe existante des requêtes en exploitation, elle est donc généralisable et applicable à toutes les requêtes SOAP non seulement à celles définies par TV Anytime mais également à toutes celles qui pourraient être définies dans tout autre protocole de requêtes
SOAP en format XML.
5.4 Modification du format XML de la requête
On présente, dans ce mode de réalisation, une mise en œuvre de la synthétisation de requête selon l'invention sous la forme d'une modification de schéma « xsd ».
Selon le même principe que le mode de réalisation précédent, une requête d'interrogation synthétique est insérée dans la requête d'interrogation développée.
Cependant, au lieu d'être insérée sous la forme d'un commentaire, cette requête d'interrogation synthétique est insérée sous la forme d'un élément XML qui comporte les attributs qui permettent la synthétisation.
Ainsi, au début de la requête d'interrogation développée usuelle, un nouvel élément XML est ajouté :
<?xml version»"! .0" encoding≈"UTP-8"?> <shorteut fldl≈"a23" fld2≈"124" paraml≈"titanic"/> <get_Data xrolns=υrn; tva; transport; 2005 ...> <OueryConstraints>
<BinaryPredicate fieldID="tvaf :Title" fieldValue="Titanic" test≈"coπtains"/> </QueryConstraints> <RequestedTables>
<Table tyρe≈"ProgramInformationTable">
<SortCriteria fieldID="tvaf : CRID" order="ascending"/> </Table>
</RequestedTables> </get_Data> Au sein de cette requête XML, La requête d'interrogation synthétique est la suivante : <shσrtcut fldî.="a23" fld2="124" paraml="titaoîcg/>
Ainsi, dans ce mode de réalisation de l'invention, La requête d'interrogation synthétique peut être comprise dans l'arbre XML, ce qui peut permettre, dans certains mode de réalisation de l'invention, une certaine souplesse dans les traitements, ou encore la vérification de la cohérence des requêtes. 5.5 Autres caractéristiques optionnelles et avantages On présente, en relation avec la figure 6, un mode de réalisation d'une entité émettrice selon l'invention. Une telle entité comprend une mémoire 61 constituée d'une mémoire tampon, une unité de traitement 62, équipée par exemple d'un microprocesseur μP, et pilotée par le programme d'ordinateur 63, mettant en œuvre le procédé de traitement selon l'invention.
A l'initialisation, les instructions de code du programme d'ordinateur 63 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 62. L'unité de traitement 62 reçoit en entrée au moins une information I à transmettre (telle qu'une requête d'interrogation développée). Le microprocesseur de l'unité de traitement 62 met en œuvre les étapes du procédé décrit précédemment, selon les instructions du programme d'ordinateur 63, pour délivrer une information traitée T (telle qu'une requête d'interrogation synthétique). Pour cela, l'entité émettrice comprend, outre la mémoire tampon 61, des moyens de recherche et de construction de requête d'interrogation synthétique, permettant notamment l'exécution du procédé selon l'invention. Ces moyens sont pilotés par le microprocesseur de l'unité de traitement 62.
On présente, en relation avec la figure 7, un mode de réalisation d'une entité interceptrice de mise en œuvre du procédé selon l'invention.
Une telle entité interceptrice comprend une mémoire 71 constituée d'une mémoire tampon, une unité de traitement 72, équipée par exemple d'un microprocesseur μP, et pilotée par le programme d'ordinateur 73, mettant en œuvre le procédé de traitement selon l'invention.
A l'initialisation, les instructions de code du programme d'ordinateur 73 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 72. L'unité de traitement 72 reçoit en entrée au moins une information I à transmettre (telle qu'une requête d'interrogation synthétique, ou une réponse à une telle requête). Le microprocesseur de l'unité de traitement 72 met en œuvre les étapes du procédé décrit précédemment, selon les instructions du programme d'ordinateur 73, pour délivrer une information traitée T (tel qu'une réponse). Pour cela, le entité interceptrice comprend, outre la mémoire tampon 71, des moyens de routage de requête et de réponse, et des moyens de traitement d'informations, permettant notamment l'exécution du procédé selon l'invention. Ces moyens sont pilotés par le microprocesseur de l'unité de traitement 72.
On présente, en relation avec la figure 8, un mode de réalisation d'une entité réceptrice de mise en œuvre du procédé selon l'invention.
Une telle entité réceptrice comprend une mémoire 81 constituée d'une mémoire tampon, une unité de traitement 82, équipée par exemple d'un microprocesseur μP, et pilotée par le programme d'ordinateur 83, mettant en œuvre le procédé de traitement selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur 83 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 82. L'unité de traitement 82 reçoit en entrée au moins une information I à transmettre, comme des requêtes d'interrogation synthétiques. Le microprocesseur de l'unité de traitement 82 met en œuvre les étapes du procédé décrit précédemment, selon les instructions du programme
d'ordinateur 83, pour délivrer une information traitée T, telles que des réponses aux requêtes d'interrogation synthétiques. Pour cela, l'entité réceptrice comprend, outre la mémoire tampon 81, des moyens de formulation de requête et de réponse, et des moyens de traitement d'informations, permettant notamment l'exécution du procédé selon l'invention. Ces moyens sont pilotés par le microprocesseur de l'unité de traitement 82.
Claims
1. Procédé de génération d'une requête d'interrogation destinée à être transmise à au moins une entité réceptrice d'un réseau de communication, caractérisé en ce qu'il comprend : - une étape de réception d'une requête d'interrogation développée, préalablement formulée ; une étape de sélection d'une forme synthétique adaptée à ladite requête d'interrogation développée, parmi un ensemble de formes synthétiques préétablies ; - une étape de construction d'une requête d'interrogation synthétique, à partir de ladite forme synthétique sélectionnée, ladite requête d'interrogation synthétique étant destinée à être transmise à l'entité réceptrice.
2. Procédé de génération selon la revendication 1, caractérisé en ce que ladite requête d'interrogation synthétique est encapsulée dans ladite requête d'interrogation développée préalablement à la transmission de ladite requête d'interrogation synthétique.
3. Procédé de génération selon la revendication 1 ou 2, dans lequel ladite requête d'interrogation synthétique est construite à partir de ladite forme synthétique sélectionnée et d'au moins un paramètre d'interrogation spécifié dans ladite requête d'interrogation développée.
4. Procédé de traitement d'une requête d'interrogation synthétique construite à partir d'une forme synthétique correspondant à une requête d'interrogation développée, caractérisé en ce qu'il comprend : une étape de recherche, à partir de ladite requête d'interrogation synthétique, d'une réponse à ladite requête d'interrogation synthétique, parmi un ensemble de réponses disponibles associées à des requêtes d'interrogation.
5. Procédé de traitement selon la revendication précédente, caractérisé en ce qu'il comprend, lorsque ladite réponse n'a pas été trouvée à partir de ladite requête d'interrogation synthétique parmi l'ensemble de réponses disponibles : une étape de construction de ladite réponse ; et une étape de stockage de ladite réponse dans ledit ensemble de réponses disponibles.
6. Procédé de traitement selon la revendication 5, caractérisé en ce qu'il comprend, postérieurement à ladite étape de construction : une étape d'horodatage de ladite réponse stockée, définissant une date de péremption de ladite réponse.
7. Procédé de traitement selon la revendication 4, caractérisé en ce qu'il comprend : lorsque ladite réponse n'a pas été trouvée à partir de ladite requête d'interrogation synthétique parmi ledit ensemble de réponses disponibles, une étape de transmission de ladite requête d'interrogation synthétique à destination d'une entité réceptrice.
8. Procédé de traitement selon la revendication précédente caractérisé en ce qu'il comprend : - une étape de réception de ladite réponse à ladite requête d'interrogation synthétique, en provenance de ladite entité réceptrice ; une étape de stockage de ladite réponse à ladite requête d'interrogation dans ledit ensemble de réponses disponibles.
9. Entité émettrice d'une requête d'interrogation destinée à être transmise à au moins une entité réceptrice d'un réseau de communication, caractérisé en ce qu'il comprend : des moyens de réception d'une requête d'interrogation développée, préalablement formulée ; - des moyens de sélection d'une forme synthétique adaptée à ladite requête d'interrogation développée, parmi un ensemble de formes synthétiques préétablies ; des moyens de construction d'une requête d'interrogation synthétique, à partir de ladite forme synthétique sélectionnée, ladite requête d'interrogation synthétique étant destinée à être transmise à l'entité réceptrice.
10. Entité réceptrice d'une requête d'interrogation synthétique construite à partir d'une forme synthétique correspondant à une requête d'interrogation développée, caractérisé en ce qu'elle comprend : des moyens de recherche, à partir de ladite requête d'interrogation synthétique, d'une réponse à ladite requête d'interrogation synthétique, parmi un ensemble de réponses disponibles associées à des requêtes d'interrogation ; - des moyens de construction de ladite réponse ; des moyens de stockage de ladite réponse dans ledit ensemble de réponses disponibles.
11. Entité interceptrice d'une requête d'interrogation synthétique construite à partir d'une forme synthétique correspondant à une requête d'interrogation développée, caractérisé en ce qu'elle comprend : des moyens de recherche, à partir de ladite requête d'interrogation synthétique, d'une réponse à ladite requête d'interrogation synthétique, parmi un ensemble de réponses disponibles associées à des requêtes d'interrogation ; des moyens de transmission de ladite requête d'interrogation synthétique à destination d'une entité réceptrice ; des moyens de réception de ladite réponse à ladite requête d'interrogation synthétique, en provenance de ladite entité réceptrice ; - des moyens de stockage de ladite réponse à ladite requête d'interrogation dans ledit ensemble de réponses disponibles.
12. Système de traitement caractérisé en ce qu'il comprend : une entité émettrice d'une requête d'interrogation destinée à être transmise à au moins une entité réceptrice d'un réseau de communication, comprenant : des moyens de réception d'une requête d'interrogation développée, préalablement formulée ; des moyens de sélection d'une forme synthétique adaptée à ladite requête d'interrogation développée, parmi un ensemble de formes synthétiques préétablies ; des moyens de construction d'une requête d'interrogation synthétique, à partir de ladite forme synthétique sélectionnée, ladite requête d'interrogation synthétique étant destinée à être transmise à l'entité réceptrice. une entité réceptrice d'une requête d'interrogation synthétique construite à partir d'une forme synthétique correspondant à une requête d'interrogation développée, comprenant : des moyens de recherche, à partir de ladite requête d'interrogation synthétique, d'une réponse à ladite requête d'interrogation synthétique, parmi un ensemble de réponses disponibles associées à des requêtes d'interrogation ; des moyens de construction de ladite réponse ; des moyens de stockage de ladite réponse dans ledit ensemble de réponses disponibles.
13. Système de traitement selon la revendication précédente caractérisé en ce qu'il comprend en outre : au moins une entité interceptrice d'une requête d'interrogation synthétique construite à partir d'une forme synthétique correspondant à une requête d'interrogation développée, comprenant : des moyens de recherche, à partir de ladite requête d'interrogation synthétique, d'une réponse à ladite requête d'interrogation synthétique, parmi un ensemble de réponses disponibles associées à des requêtes d'interrogation ; des moyens de transmission de ladite requête d'interrogation synthétique à destination d'une entité réceptrice ; des moyens de réception de ladite réponse à ladite requête d'interrogation synthétique, en provenance de ladite entité réceptrice ; des moyens de stockage de ladite réponse à ladite requête d'interrogation dans ledit ensemble de réponses disponibles.
14. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution du procédé de génération selon l'une au moins des revendications 1 à 3.
15. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution du procédé de traitement selon l'une au moins des revendications 4 à 6.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/680,695 US20100293188A1 (en) | 2007-09-28 | 2008-09-26 | Method for reducing the workload of servers, corresponding terminal, device and computer software product |
EP08840080A EP2191646A1 (fr) | 2007-09-28 | 2008-09-26 | Procede de reduction de charge de serveurs, terminal, dispositif, et produit programme d'ordinateur correspondants |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0757946A FR2921783A1 (fr) | 2007-09-28 | 2007-09-28 | Procede de reduction de charge de serveurs,terminal, dispositif,et produit programme d'ordinateur correspondants |
FR0757946 | 2007-09-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2009050391A1 true WO2009050391A1 (fr) | 2009-04-23 |
Family
ID=39386162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR2008/051731 WO2009050391A1 (fr) | 2007-09-28 | 2008-09-26 | Procede de reduction de charge de serveurs, terminal, dispositif, et produit programme d'ordinateur correspondants |
Country Status (4)
Country | Link |
---|---|
US (1) | US20100293188A1 (fr) |
EP (1) | EP2191646A1 (fr) |
FR (1) | FR2921783A1 (fr) |
WO (1) | WO2009050391A1 (fr) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10559000B2 (en) * | 2011-08-19 | 2020-02-11 | Google Llc | Advertiser campaign script execution management |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1638336A1 (fr) * | 2004-09-17 | 2006-03-22 | Korea Electronics Technology Institute | Méthode pour fournir des champs demandés par une opération Get-Data dans un service de méta-données TV-Anytime |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4506326A (en) * | 1983-02-28 | 1985-03-19 | International Business Machines Corporation | Apparatus and method for synthesizing a query for accessing a relational data base |
US6912547B2 (en) * | 2002-06-26 | 2005-06-28 | Microsoft Corporation | Compressing database workloads |
US7136873B2 (en) * | 2002-07-20 | 2006-11-14 | Microsoft Corporation | Dynamic filtering in a database system |
US7010542B2 (en) * | 2002-07-20 | 2006-03-07 | Microsoft Corporation | Result set formatting and processing |
US7096216B2 (en) * | 2002-07-20 | 2006-08-22 | Microsoft Corporation | Performing operations on a set of objects in a database system |
US7477909B2 (en) * | 2005-10-31 | 2009-01-13 | Nuance Communications, Inc. | System and method for conducting a search using a wireless mobile device |
-
2007
- 2007-09-28 FR FR0757946A patent/FR2921783A1/fr not_active Withdrawn
-
2008
- 2008-09-26 US US12/680,695 patent/US20100293188A1/en not_active Abandoned
- 2008-09-26 WO PCT/FR2008/051731 patent/WO2009050391A1/fr active Application Filing
- 2008-09-26 EP EP08840080A patent/EP2191646A1/fr not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1638336A1 (fr) * | 2004-09-17 | 2006-03-22 | Korea Electronics Technology Institute | Méthode pour fournir des champs demandés par une opération Get-Data dans un service de méta-données TV-Anytime |
Also Published As
Publication number | Publication date |
---|---|
FR2921783A1 (fr) | 2009-04-03 |
EP2191646A1 (fr) | 2010-06-02 |
US20100293188A1 (en) | 2010-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2007144361A1 (fr) | Procede d'affichage d'une image mosaïque au sein d'un recepteur pour la selection de programmes audiovisuels, recepteurs et serveurs associes | |
FR2844370A1 (fr) | Document electronique de description d'un service informatique | |
EP1303812B1 (fr) | Procede de transmission d'un agent mobile dans un reseau; emetteur, recepteur, et agent mobile associes | |
WO2008012273A1 (fr) | Procede de synchronisation entre un equipement mobile et une carte a puce | |
FR3007602A1 (fr) | Procede de communication pour une application interactive entre terminaux dans une salle de projection sur ecran | |
EP1562342A1 (fr) | Procédé et système de traitement d'un message multimédia | |
WO2012056170A1 (fr) | Exécution déportée d'une application logicielle au sein d'un réseau | |
EP2656589B1 (fr) | Procede et dispositif de communication de donnees numeriques | |
EP3231190B1 (fr) | Procédé et dispositifs permettant une transmission d'un flux de données selon un mode de transmission multipoint | |
EP2191646A1 (fr) | Procede de reduction de charge de serveurs, terminal, dispositif, et produit programme d'ordinateur correspondants | |
FR3031862A1 (fr) | Procede de transmission d'un flux de donnees utilisant un protocole de diffusion en direct. | |
EP2145477A1 (fr) | Procédé de création d'un contenu, procédé de suivi des actions d'utilisation d'un contenu, terminal et signaux correspondants | |
EP1737191A1 (fr) | Procédé de création d'un terminal éclaté entre un terminal de base et des équipements connectés en serie | |
WO2017064400A1 (fr) | Enrichissement contextuel par reconnaissance audio | |
WO2023180274A1 (fr) | Gestion perfectionnée d'un code visuel en cours d'affichage dans un contenu multimédia | |
FR2819072A1 (fr) | Procede de synchronisation de donnees sur une liaison serie | |
WO2009112556A1 (fr) | Procede de restitution d'au moins un contenu multimedia personnalise, terminal et programme d'ordinateur correspondants | |
FR2857191A1 (fr) | Systeme de transmission de parametres caracteristiques d'une session de communication d'un terminal vers un serveur distant | |
FR3071374A1 (fr) | Procede et systeme pour distribuer un contenu multimedia a des terminaux informatiques | |
FR3079705A1 (fr) | Communication par video conference | |
EP2820821A1 (fr) | Procede et dispositif de mise a disposition d'au moins une donnee de communication | |
FR3000357A1 (fr) | Procede de transfert de communication audio et/ou video depuis un premier terminal vers un deuxieme terminal | |
WO2016156386A1 (fr) | Système de diffusion de contenus audio et/ou vidéo par un réseau wifi local, et appareils mettant en œuvre le procédé | |
WO2009013440A1 (fr) | Procede d'echange de messages entre serveur de donnees de session et des services clients | |
EP3110109A1 (fr) | Procédé et dispositif de mise à jour des capacités d'un objet connecté à un réseau de communications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08840080 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2008840080 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12680695 Country of ref document: US |