None.
None.
The present disclosure pertains to the field of telecommunications.
The present disclosure pertains more particularly to the reduction of processing workloads dictated on certain apparatuses of telecommunications networks.
Indeed, one of the direct effects of the constant growth in the number of persons connected at high bit-rates, especially through ADSL offers, is a great increase in the number of demands made on servers responsible for rendering services to the users.
Such demands are made especially in fields such as interactive services, proposed especially through television or video-on-demand offers. These offers are also present to a great extent in telephony services, especially telephony-on-IP services, implemented for example by means of IMS architectures.
The major demands made on servers have two consequences in particular:
Thus, for example, in the field of interactive television services, servers are used to provide information on request about the programs broadcast. These servers are responsible for receiving query requests from terminals implemented by users and for responding to these queries.
In the case of interactive television services such as the one referred to here above, it is not possible to know the contents of the users' queries in advance. Indeed, the possibilities of querying that are offered to the user are vast. One example of an information service of this kind is that of program guides (electronic program guides) known as “TV-Anytime”. These services are based on the use of protocols to request program information on a central site. The “TV-Anytime” service uses a protocol which has been standardized under the reference “TS 102822-6-1”.
For example, a user can use his terminal to ask for:
the title of a content currently broadcast on a particular channel;
the time at which the following program starts on another particular channel.
It regularly happens that servers receive a burst of several queries from the terminals. Generally, these queries “in bursts” arrive simultaneously and correspond to prime times or to advertisement breaks for example. They cause workload peaks at the servers because of the simultaneous reaction of the users watching a big-audience channel. The users all interact together at precise points in time: at half-time during a match, or at the start of the advertisement.
In addition, it may happen that these queries are identical. That is, the user of a terminal A will formulate the same request as the user of a terminal B. These two queries will be processed identically by the server as if they were two different queries.
In order to reduce the workload of the servers in improving the above solution, it is assumed that server is likely to receive numerous identical queries.
This server therefore records the responses in a database, thus preventing it from having to rebuild a response identical to the one it has just built. This however does not prevent it from having to re-analyze the totality of the next request before ascertaining that an adequate response exists.
The approach proposed by an exemplary embodiment of the invention does not have these drawbacks of the prior art. The approach indeed pertains to a method for generating a query request designed to be transmitted to at least one receiving entity of a communications network. According to an embodiment of the invention, such a method comprises:
Thus, an embodiment of the invention can be used to formulate a synthesis query request that is not as bulky as the expanded query request. The synthesis query request is not a compression of the expanded query request but a different form of formulating this request. The result of this is a drastic fall in the workload of the entity that receives the synthesis query request. The synthesis query request can also be called a “shortened” request inasmuch as it is shorter than the expanded query request. It indeed represents the same piece of information as the expanded query request but in a reduced way. In other words, the size of the synthesis query request is diminished without there being any compression of this request, but, by the establishment of a correspondence between the expanded query request and the synthesis query request. Synthesis forms of queries are preliminarily available. When an expanded query request has to be formulated, an embodiment of the invention makes it possible to check for the existence of a correspondence between the expanded query request and a form of synthesizing this request. Thus, if there is a synthesis form in existence, a synthesis query request is built. If not, the expanded form is built and transmitted.
According to one particular embodiment of the invention, said synthesis query request is encapsulated in said expanded query request prior to the transmission of said synthesis query request.
Thus, an embodiment of the invention can be used to provide for total compatibility with existing apparatuses. Indeed, an embodiment of the invention reduces the workload of the servers by means of synthesis query requests. It is nevertheless necessary to make sure that such synthesis query requests do not disturb the conventional working of the prior art devices which would be incapable of taking full advantage of an embodiment of the invention. To this end, the synthesis query requests are ingeniously encapsulated in the expanded query request. Such an implementation ensures compatibility of the method of an embodiment of the invention with the existing technologies for processing queries. This encapsulation is done so as not to disturb intermediate apparatuses.
According to one particular characteristic of an embodiment of the invention, the synthesis query request is built out of said selected synthesis form and at least one query parameter specified in said expanded query request.
An embodiment of the invention also pertains to a method for processing a synthesis query request built out of a synthesis form corresponding to an expanded query request.
According to an embodiment of the invention, such a method comprises a step of searching, from said synthesis query request, for a response to said synthesis query request from amongst a set of available responses associated with query requests.
Thus, an embodiment of the invention can be used to take account of similar or identical queries which have already been the object of a response. Indeed, rather than overloading the entity with identical processing operations, the synthesis query request is compared, during the search, with other prior synthesis query requests received by the entity. If a response to this synthesis request can be identified, then this response is obtained. If this is not the case, the response is built by the entity.
Thus, the method of an embodiment of the invention substantially reduces the workload of the entities of the communications network and especially that of the receiving entity by swiftly identifying, on the basis of the synthesis query request, a response built prior to this request.
According to one particular embodiment of the invention, said processing method comprises, when said request has not been found from the synthesis request from amongst the set of available responses:
a step for building said response, and;
a step for storing said response in said set of available responses.
Thus, an embodiment of the invention further reduces the time taken to process the request when it reaches the receiving entity. Indeed, the receiving entity which implements the method of an embodiment of the invention swiftly identifies a synthesis query request and is capable of searching for a response to this request without it's being necessary to “decode” an expanded query request that is more complex than the synthesis query request. The time taken to process the synthesis query request is therefore smaller than that of the initial request, thus improving the performance of the server and therefore the performance of the system in its totality.
According to one particular characteristic of an embodiment of the invention, said processing method comprises, subsequently to said building step, a step for time-stamping said stored request defining a date of expiry of said response.
An embodiment of the invention therefore averts the possibility of giving any response whatsoever to a synthesis query request but makes it possible to provide a response that is not out of date. Indeed, since the queries are synthesized, it can happen for example that a same synthesis query request will not lead to the provision of the same response depending for example on the time at which the synthesis query request has been formulated. Thus, a synthesis query request aimed at obtaining the name of the program being broadcast on channel 1 will not obtain the same response if it is sent at 18.00 hours on the one hand and at 22.00 hours on the other hand. An embodiment of the invention therefore overcomes this constraint by making a comparison, during the search for a pre-built response, between the date of the synthesis query request and the date of expiry of the pre-built response.
According to one particular embodiment of the invention, said processing method comprises a step, when said response has not been found from the synthesis query request amongst said set of available responses, for transmitting the synthesis query request to a receiving entity.
According to one particular characteristic of an embodiment of the invention, said processing method comprises:
Thus, an embodiment of the invention ensures that the occurrence of an synthesis query request identical to the one saved by the intercepting entity will not prompt the transmission of this request to the receiving entity. This synthesis query request for which the intercepting entity has a response will therefore not increase the workload of the receiving entity.
An embodiment of the invention also pertains to a sender entity sending a query request designed to be transmitted to at least one receiving entity of a communications network. According to an embodiment of the invention, such an entity comprises:
In one particular embodiment of the invention, such an entity may for example take the form of a communications terminal such as an IP/TV terminal.
An embodiment of the invention also pertains to a receiving entity for receiving a synthesis query request built out of a synthesis form corresponding to an expanded query request. According to an embodiment of the invention, such an entity comprises:
In one particular embodiment of the invention, such a receiving entity may be an application server in charge of supplying a service. For example, it may be an IP/TV server complying with the <<TV Anytime>> standard.
An embodiment of the invention also pertains to an intercepting entity for intercepting a synthesis query request built out of a synthesis form corresponding to an expanded query request. According to an embodiment of the invention, such an entity comprises
In one particular embodiment of the invention, such an intercepting entity can take the form of a router of said communications network. In another embodiment of the invention, such an entity can take the form of a DSLAM, an apparatus responsible for linking the communications terminal to the IP network of a telecommunications operator.
In this embodiment, the means implemented can be used to ascertain that the intercepting entity has a response to the request transmitted. If this is so, the intercepting entity is capable of giving the expected response to the request-sending entity. In this embodiment of the invention, the recognition by the intercepting entity has a bearing on the synthesis query request. It is quite clear to those skilled in the art that a recognition of this kind can also pertain to the initial non-synthesized request. The recognition of the synthesis query request nevertheless removes the need for high processing power. Indeed, since the synthesis query request can be seen as a “shortened” form of the expanded query request, it consumes fewer resources for recognizing a synthesis query request than an expanded query request since the synthesis query request is shorter.
An embodiment of the invention also pertains to a processing system. According to an embodiment of the invention, such a system comprises:
According to an original embodiment of the invention, said processing system furthermore comprises:
According to another aspect, an embodiment of the invention also pertains to a computer software product downloadable from a communications network and/or recorded on a computer-readable carrier and/or executable by a microprocessor, and comprising program code instructions for executing the method for generating as described here above
According to another aspect, an embodiment of the invention also pertains to a computer software product downloadable from a communications network and/or recorded on a computer-readable carrier and/or executable by a microprocessor and comprising program code instructions for executing the method for processing as described here above.
Other features and advantages shall appear more clearly in the following description of a preferred embodiment given by way of a simple illustratory and non-exhaustive example, and from the appended drawings, of which:
An embodiment of the invention can be used to reduce the processing workloads of the entities that receive multiple query requests. Such entities may be for example servers providing information on program guides. An embodiment of the invention however is not limited solely to these information servers but is more generally applicable to any type of entity receiving complex query requests. Such queries are for example built in the form of a data structure requiring substantial processing resources on the part of the entity.
Indeed, the markup language XML is powerful since it can be used to describe data in an open and structured manner. Two identical queries can be written in very different ways, making the recognition of a reply very costly in machine time. However, this method has a major drawback: the entities (servers, customers, database managers etc) responsible for implementing it must possess substantial computation resources only to enable a building of the memory data structure. Now, while such resources are generally available for processing a few files, it becomes more difficult to obtain these resources when a server entity for example has to process several thousands of queries simultaneously.
It is therefore always necessary to increase the sizing of these server entities in order to respond to demands. An embodiment of the invention enables the reduction of the workload of the entities and prevents the need to multiply the allocated resources. An embodiment of the invention comprises two different aspects:
These two different mechanisms, ingeniously implemented by the inventors, can be combined in certain preferred embodiments to obtain an even greater diminishing of the workloads of the entities for processing query requests.
Referring now to
A sender entity 10 wishes to obtain a response to an expanded query request 100, pre-formulated either by an entity dedicated to this purpose or by the sender entity 10 itself. The sender entity 10 is connected to a communications network. Prior to the sending of the expanded query request 100, the sender entity ascertains (1000) the presence of a synthesis form 101 of the query request to be sent. If such a form is present, it builds (1001) a synthesis query request 102 on the basis of the synthesis form 101 and the expanded query request 100. This synthesis query request 102 is then inserted into the expanded query request 100. The expanded query request (which therefore contains the synthesis query request 102) is transmitted (1002) to the receiving entity.
The receiving entity 12 receives (1003) the expanded query request and identifies (1004) the presence of the synthesis query request 102. The receiving entity 12 then proceeds in two stages (T1 and T2), on the basis of the synthesis query request 102 (and not on the voluminous expanded query request 100):
Thus, the synthesizing of queries according to an embodiment of the invention reduces the workload of the receiving entity in two stages: firstly by reducing the time taken to analyze the request since it is not the expanded query request that is analyzed as such but only the synthesis query request, and secondly by enabling a search for a pre-built response corresponding to the synthesis query request (and not the expanded query request).
Referring now to
A sender entity 10 wishes to obtain a response to an expanded query request 100. The sender entity 10 is connected to a communications network. It transmits (1002) the expanded query request 100 to the receiving entity 12. An intermediate entity 11 such as a router, a DSLAM, or another entity of the communications network (such as a local or regional server) through which the expanded query request 100 travels in transit, intercepts (1002-0) the expanded query request and proceeds in two stages:
Clearly, an interception sequence can be formed and it is not compulsory to carry out only one interception so that if the next routing entity can find a pre-recorded response to the expanded query request, it implements the same mechanism as the initial interception entity. This principle is also valid for the responses. An embodiment of the invention thus makes it possile to build a pyramidal architecture of distribution of query requests and responses to the receiving entity which is situated at the last step of the pyramid.
The inventors have also ingeniously combined the two principles presented here above. Through this combination it is possible:
The invention is in no way restricted to this concise presentation in which the sender entity is also the one that searches for a correspondence with a synthesis form of the request. Such an implementation assumes specific resources on the part of this sender entity. It is clear that it possible that such resources will not be available and that an intermediate apparatus of the communications network will fulfill this correspondence search function instead of the sender entity.
Here below, we present especially the case of an implementation of the mechanisms of an embodiment of the invention applied to the XML queries protocol defined and standardized by the “TV Anytime” forum. It is clear however that the invention is not limited to this special form of implementation but can also be applied in many other fields especially those of query protocols using the XML language as a query defining medium and more generally in all cases where the advantages of embodiments of the invention are promising.
In this embodiment, we present the implementation of the mechanisms of the invention with architectures defined by the “TV Anytime” forum. This forum has standardized an XML request protocol, referenced TS 102 822-6-1 to request a metadata server for information on one or more contents or on one or more channels. In this mode of implementation, the IP protocol is used as a transportation protocol. The applications protocol is the HTTP protocol. The data encapsulation protocol is SOAP. It enables the XML query requests to be conveyed from the sender entity to the receiving entity.
In this embodiment of the invention, the sender entities are terminals, for example TV program viewing terminals using the IP protocol. The intercepting entities, which are intermediate interception apparatuses, are routers responsible for routing the query requests sent out by the terminals to the receiving entity which in this embodiment is the program guide information server.
Briefly, this implementation of method of an embodiment of the invention comprises the following phases:
In this embodiment, only the synthesis query requests are analyzed by the intermediate apparatuses. Indeed, they possess no databases to process commands in the classic XML format nor knowledge of the XML query protocol (request and response).
More particularly, essential technical elements of this embodiment are the following:
Referring to
Five sender entities (receiver entities) 30, 31, 32, 33 and 34 are connected to two local routers or servers (intercepting entities) 35 and 36. The receiver 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 information server of the program guide 37 which has available a means of querying of an information database for programs 38.
Usually, in this type of architecture, the protocol, which is standardized under the reference TS 102 822-6-1, is used to create XML query requests intended for a metadata server to request information on one or more contents, from one or more channels.
Here below, we present an example of a request designed to search for information which contain the word “titanic” in the title:
We also present another example of a search for information on the programs broadcast on three channels in a two-day time slot:
Then, it receives (406) the same synthesis request from the receiver 31, finds (407) the response already ready (in the storage database 39) and this response is immediately transmitted (408) to the receiver 31 without making any search in the database.
In general, the use of XML for the queries is of low efficiency and calls for substantial processing capacities on the part of the apparatuses that use them.
To improve the performances of all the apparatuses that have to process XML queries and responses, this particular embodiment of the invention introduces a “shortening” of these queries or responses into the headers of the XML query requests and responses, which are easy to detect without any impact on the “xsd” scheme defining these queries and responses. This shortened form is therefore a synthesis query request inasmuch as it is shorter than the expanded query request and because it contains all the payload information contained in the original XML request. Here below, we present another embodiment in which the “xsd” scheme for defining these queries and responses will be affected.
In this embodiment, the syntax of this “shortened form” comprises:
Thus, the previous expanded query request for searching for contents comprises the word “titanic” in the title and is formed as follows:
Within this XML request, the synthesis query request is the following:
It corresponds to a synthesis form of the expanded query request in the classic format. It is inserted between two commentary markup tags (the markup tags “<!-->> and <<-->”). This ensures that all the apparatuses incapable of recognizing the particular syntax of the synthesis request query are not put into a state of malfunction.
In other words:
In this embodiment of the invention, the mechanism described applied to the second example here above gives rise to the creation of the following request:
Where the synthesis query request is the following:
The synthesis query request once again is appreciably shorter and more easily identifiable and subdividable than the initial querying command. The command code “047” indicates a request for all the contents broadcast on the current date on the N channels indicated as a parameter. To ensure compatibility with the existing applications which to do not include shortened commands inserted in the commentary inserted at the beginning of the request, the rest of the command will be preserved in its current form.
It is therefore necessary to define a list of command codes corresponding to the most frequent queries.
It will be understood then that the detailed command that follows the shortened command has become unnecessary and could be eliminated, making the command even more compact and therefore less costly in bandwidth and processing time.
If it is necessary to have several parameters for a synthesis command, a delimiter is chosen that is not used in the syntax of the parameters to be assembled in order to separate them and a precise order is imposed on the parameters to facilitate the recognition of the synthesis commands with several parameters. In this embodiment, it is not necessary to modify the scheme for describing XML responses.
The central server which receives the XML queries recognizes the fact that there is a synthesis query request by its starting marker in the commentary field in the header of the request. It takes the entire commentary and will make a search in the table of available responses to see if this request has already been received and processed.
To this end, it suffices for it to take “a23]124]titanic” (first example) and “a23]047]dvb://1.2.1&dvb://1.2.2&dvb://1.2.3” (second example) as search criteria in the table of responses available having three columns (“shortened XML request”, “response to be sent”, “date of expiry”).
If the request has already been received and processed, the response is ready to be sent. If not, it is necessary to make a search in the meta database to extract the response elements and build the response that the server will store in its table of responses which have already been sent and are associated with synthesis query requests.
The search in the meta database is made on the basis of the synthesis query request. As a variant, the search in the meta database is done on the basis of the expanded query request. The expanded query request used to make the search in the database is the request encapsulating the synthesis query request received by the receiving entity. In one particular embodiment of the invention, the expanded query request used to make a search in the meta database is built in the receiving entity from the synthesis query request.
Here below, we present two types of responses that can be received by the sender entity if it has sent a synthesis query request to search for contents having the word “titanic” in the title. These are:
a) either the response in the usual format
b) or the next response if the server knows that there are local servers/responders which can recognize the synthesis query request and the responses to these queries.
In the commentary in the header of the request, at the very beginning, a marker is inserted indicating that this is a response to an XML request. In the example the character “}” is used as a marker of this type.
The rest of the commentary is identical to the synthesis XML query request whose processing has generated this request. An implementation of this kind enables speedy recognition of the expanded query request.
It is not the synthesis of the response that is inserted into the commentary but only a reminder of the XML request that had prompted this response.
It is necessary for the receiving entities and the intercepting entities to indicate the duration of validity of the responses: these are dates and times as of which it is appropriate to destroy this response and let through the first following identical request to obtain a response for which the pieces of data have been updated. This is a method of time-stamping the responses which therefore enable a gradual elimination of the responses that have become unnecessary.
This mode of implementing an embodiment of the invention in which the synthesis query request is inserted into a commentary immediately after the markup tag “<?xml>” and before the request itself makes it possible not to disturb the former receivers or other apparatuses for which a modification of the standard is not acceptable. In the case of these old apparatuses, which are unsuited to implementing an embodiment of the invention, the received responses to the queries that they transmit will not contain any shortening of an XML command since they were unable to send XML queries with shortening of queries.
At the same time, and in this embodiment, in combination with this insertion of synthesis query requests into the queries and responses, we obtain synthesis queries and responses that are easy to recognize for intermediate apparatuses, enabling the introduction of local repeaters or services with a minimum of processing to be done according to the following mode of operation described with reference to
In
The intercepting entity 35 then receives (406) the same synthesis query request from the receiver 31. It finds (503) the response which is already ready and this response is immediately transmitted (408) to the receiver 31 without the request being transmitted to the central server 37.
In this embodiment of the invention, among the synthesis XML query requests which are sent back to the sender entity sending the initial request, the intermediate apparatus (the intercepting entity in this embodiment) recognizes these queries (for example by extracting the useful part of the first commentary in the header of the XML request) and stores this beginning of a request to be able to compare it with the already received queries, and immediately return the response to the receiver if the same request has already been received and if a valid response is still available.
If not, the synthesis request continues its path to the central server. In return, the local intermediate apparatus (the intercepting entity in this embodiment) recognizes a response to a previous XML request with a shortened request, by analysis of the first comment without XML response header. It extracts the shortened XML request, searches in a table with several elements (substantially identical with that of the central server) for the XML request and records the response for its possible future needs.
The intermediate apparatus also records the date of expiry of the response which is situated in the next commentary in its table of available responses.
Since this approach does not question the existing syntax of the queries being exploited, it can be made general and applicable to all the SOAP queries, not only those defined by “TV_Anytime” but also all those that could be defined in any other protocol of SOAP queries in the XML format.
In this embodiment, we present an implementation of the synthesizing of queries in the form of a modification of an “xsd” scheme.
According to the same principle as in the previous embodiment, a synthesis query request is inserted into the expanded query request. However, instead of being inserted in the form of a commentary, synthesis query request is inserted in the form on an XML element which comprises the attributes that enable the synthesizing.
Thus, at the start of the usual expanded query request, a new XML element is added:
Within this XML request, the synthesis query request is the following:
Thus, in this embodiment of the invention, the synthesis query request can be included in the XML tree, and this can make it possible in certain embodiments of the invention to obtain a certain degree of flexibility in the processing or again it provides for checking the consistency of the queries.
Referring to
Such an entity has a memory 61 constituted by a buffer memory, a processing unit 62 equipped for example with a microprocessor μP and driven by a computer program 63 implementing the processing method of an embodiment of the invention.
At initialization, the instructions of the code of the computer program 63 are for example loaded into a RAM and then executed by the processor of the processing unit 62. At input, the processing unit 62 receives at least one piece of information I to be transmitted (such as, for example, a synthesis query request). The microprocessor of the processing unit 62 implements the steps of the method described here above, according to the instructions of the computer program 63, to deliver a piece of processed information T (such as a synthesis query request). To this end, the sender unit comprises, in addition to the buffer memory 61, means to search for and build synthesis query requests, enabling especially the execution of the method according to an embodiment of the invention. These means are driven by the microprocessor of the processing unit 62.
Referring to
Such an entity has a memory 71 constituted by a buffer memory, a processing unit 72 equipped for example with a microprocessor μP and driven by a computer program 73 implementing the processing method of an embodiment of the invention.
At initialization, the instructions of the code of the computer program 73 are for example loaded into a RAM and then executed by the processor of the processing unit 72. At input, the processing unit 72 receives at least one piece of information I to be transmitted (such as, for example, a synthesis query request or a response to such a request). The microprocessor of the processing unit 72 implements the steps of the method described here above, according to the instructions of the computer program 73, to deliver a piece of processed information T (such as a response). To this end, the sender unit comprises, in addition to the buffer memory 71, means for routing queries and responses and information-processing means, enabling especially the execution of the method according to an embodiment of the invention. These means are driven by the microprocessor of the processing unit 72.
Referring to
Such an entity has a memory 81 constituted by a buffer memory, a processing unit 82 equipped for example with a microprocessor μP and driven by a computer program 83 implementing the processing method of an embodiment of the invention.
At initialization, the instructions of the code of the computer program 83 are for example loaded into a RAM and then executed by the processor of the processing unit 82. At input, the processing unit 82 receives at least one piece of information I, such as synthesis query requests, to be transmitted. The microprocessor of the processing unit 82 implements the steps of the method described here above, according to the instructions of the computer program 83, to deliver a piece of processed information T, such as responses to the synthesis query requests. To this end, the sender unit comprises, in addition to the buffer memory 81, means for formulating queries and responses and information-processing means, enabling especially the execution of the method according to an embodiment of the invention. These means are driven by the microprocessor of the processing unit 82.
Although the present disclosure has been described with reference to one or more examples, workers skilled in the art will recognize that changes may be made in form and detail without departing from the scope of the disclosure and/or the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
0757946 | Sep 2007 | FR | national |
This Application is a Section 371 National Stage Application of International Application No. PCT/FR2008/051731, filed Sep. 26, 2008 and published as WO 2009/050391 on Apr. 23, 2009, not in English.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/FR08/51731 | 9/26/2008 | WO | 00 | 6/7/2010 |