European Case Law Identifier: | ECLI:EP:BA:2021:T111219.20210930 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Date of decision: | 30 September 2021 | ||||||||
Case number: | T 1112/19 | ||||||||
Application number: | 13775157.4 | ||||||||
IPC class: | H04L 29/06 G06F 17/30 H04L 29/08 |
||||||||
Language of proceedings: | EN | ||||||||
Distribution: | D | ||||||||
Download and more information: |
|
||||||||
Title of application: | Systems and methods for scalable structured data distribution | ||||||||
Applicant name: | Goldman Sachs & Co. LLC | ||||||||
Opponent name: | - | ||||||||
Board: | 3.5.03 | ||||||||
Headnote: | - | ||||||||
Relevant legal provisions: |
|
||||||||
Keywords: | Inventive step - main and first to fourth auxiliary requests (no): any prior art rendering the claimed solution obvious is a suitable starting point and no "problem invention" Admittance of request filed with the grounds of appeal - fifth auxiliary request - (no): "fresh case" |
||||||||
Catchwords: |
- |
||||||||
Cited decisions: |
|
||||||||
Citing decisions: |
|
Summary of Facts and Submissions
I. The appeal was lodged by the applicant against the decision of the examining division to refuse the present European patent application for lack of inventive step (Article 56 EPC) with respect to the claims of a main request and four auxiliary requests.
II. During the examination proceedings, the examining division referred inter alia to the following prior-art document:
D1: US 2011/0246463 A1.
III. Oral proceedings before the board were held on 30 September 2021 by videoconference in accordance with the appellant's request.
The appellant requested that the decision under appeal be set aside and that a patent be granted on the basis of the claims of any of a main request and first to fourth auxiliary requests subject to the impugned decision, or, alternatively, of a fifth auxiliary request filed with the statement of grounds of appeal.
At the end of the oral proceedings, the board's decision was announced.
IV. Claim 1 of the main request reads as follows:
"A system comprising:
a bundler (510) configured to:
receive streaming raw data from a data producer (110);
bundle the raw data into a series of data packages; and
associate with each of the data packages a unique identifier having a monotonically increasing order based on upload from the data producer (110);
a transformer (530) configured to receive the data packages having the associated unique identifiers and generate loadable data structures for a reporting store associated with a data subscriber;
a loader (550) configured to receive and store the loadable data structures into a storage device associated with the data subscriber based on the monotonically increasing order;
a data channel configured to allow data from the data producer (110) to be continuously streamed to the data subscriber through the bundler;
a messaging channel configured to provide a current status of the data being continuously streamed from the data producer (110) to the data subscriber; and
a control channel separate from the data channel and configured to allow the data subscriber to request replay of the data."
Claim 1 of the first auxiliary request reads as follows (board's highlighting indicating differences vis-à-vis claim 1 of the main request):
"A system comprising:
a bundler (510) configured to:
receive streaming raw data from a data producer (110);
bundle the raw data into a series of data packages; and
associate with each of the data packages a unique identifier having a monotonically increasing order comprising an increasing series of integers without gaps, based on upload from the data producer (110);
a transformer (530) configured to receive the data packages having the associated unique identifiers and generate loadable data structures for a reporting store associated with a data subscriber;
a loader (550) configured to receive and store the loadable data structures into a storage device associated with the data subscriber based on the monotonically increasing order;
a data channel configured to allow data from the data producer (110) to be continuously streamed to the data subscriber through the bundler;
a messaging channel configured to provide a current status of the data being continuously streamed from the data producer (110) to the data subscriber; and
a control channel separate from the data channel and configured to allow the data subscriber to request replay of the data."
Claim 1 of the second auxiliary request is identical to claim 1 of the first auxiliary request, save for the following addition at the end:
"wherein the streaming raw data comprises multiple streams."
Claim 1 of the third auxiliary request reads as follows (board's highlighting indicating differences vis-à-vis claim 1 of the second auxiliary request):
"A system comprising:
a computer-implemented bundler (510) configured to:
receive streaming raw data from a data producer (110);
bundle the raw data into a series of data packages; and
associate with each of the data packages a unique identifier having a monotonically increasing order comprising an increasing series of integers without gaps, based on upload from the data producer (110);
a computer-implemented transformer (530) configured to receive the data packages having the associated unique identifiers and generate loadable data structures for a reporting store associated with a data subscriber;
a computer-implemented loader (550) configured to receive and store the loadable data structures into a storage device associated with the data subscriber based on the monotonically increasing order;
a data channel configured to allow data from the data producer (110) to be continuously streamed to the data subscriber through the bundler;
a messaging channel configured to provide a current status of the data being continuously streamed from the data producer (110) to the data subscriber; and
a control channel separate from the data channel and configured to allow the data subscriber to request replay of the data;
wherein the streaming raw data comprises multiple streams."
Claim 1 of the fourth auxiliary request reads as follows (board's highlighting indicating differences vis-à-vis claim 1 of the third auxiliary request):
"A system comprising:
a computer-implemented bundler (510) configured to:
receive streaming raw data from a data producer (110);
bundle the raw data into a series of data packages; and
associate with each of the data packages a unique identifier having a monotonically increasing order comprising an increasing series of integers without gaps, based on upload from the data producer (110);
a computer-implemented transformer (530) configured to receive the data packages having the associated unique identifiers and generate loadable data structures for a reporting store associated with a data subscriber;
a computer-implemented loader (550) configured to receive and store the loadable data structures into a storage device associated with the data subscriber based on the monotonically increasing order;
a data channel configured to allow data from the data producer (110) to be continuously streamed to the data subscriber through the bundler over a data distribution network;
a messaging channel configured to provide a current status of the data being continuously streamed from the data producer (110) to the data subscriber; and
a control channel separate from the data channel and configured to allow the data subscriber to request replay of the data;
wherein the streaming raw data comprises multiple streams."
Claim 1 of the fifth auxiliary request reads as follows:
"A method comprising:
receiving, with programmable circuitry, streaming data from a data producer;
determining from the streaming data, with the programmable circuitry, that the streaming data should be bundled together in accordance with a set of bundling parameters;
bundling, with the programmable circuitry, the streaming data into packages of data having a standard format with a first portion and a second portion, wherein the first portion includes a unique identifier of a package of data and a quality indicator generated by the data producer, and wherein the second portion includes data;
ordering, with the programmable circuitry, each of the packages of data using a series of consecutive integers produced by a master clock;
archiving, with the programmable circuitry, the packages of data in a memory;
simultaneously to archiving, assigning the packages of data to parallel data streams, and publishing at least the first portion of the packages of data in the parallel data streams;
receiving requests generated by data consumers through an Application Programming Interface, wherein the requests include a request for a subscription to a portion of the streaming data; and
delivering to the data consumers packages of data corresponding to the subscription."
Reasons for the Decision
1. The board finds it expedient to start its analysis with the present fourth auxiliary request first.
2. FOURTH AUXILIARY REQUEST
Claim 1 of the fourth auxiliary request comprises the following limiting features (outline used in the decision under appeal):
F1 A system comprising: a computer-implemented bundler configured to: receive streaming raw data from a data producer; bundle the raw data into a series of data packages; and
F2 associate with each of the data packages a unique identifier having a monotonically increasing order comprising an increasing series of integers without gaps, based on upload from the data producer;
F3 a computer-implemented transformer configured to receive the data packages having the associated unique identifiers and generate loadable data structures for a reporting store associated with a data subscriber;
F4 a computer-implemented loader configured to receive and store the loadable data structures into a storage device associated with the data subscriber based on the monotonically increasing order;
F5 a data channel configured to allow data from the data producer to be continuously streamed to the data subscriber through the bundler over a data distribution network;
F6 a messaging channel configured to provide a current status of the data being continuously streamed from the data producer to the data subscriber; and
F7 a control channel separate from the data channel and configured to allow the data subscriber to request replay of the data;
F8 wherein the streaming raw data comprises multiple streams.
2.1 Claim 1 - inventive step (Article 56 EPC)
Suitable starting point
2.1.1 The inventive-step reasoning in the decision under appeal uses D1 as the starting point. D1 concerns a system where a "summarised stream" is created using data originating from individual data streams from different servers. The streams in D1 are dynamic collections of data that are subject to change such as blog postings, updated news events, comment sections of web sites, social network status updates, chat room data, user group updates, RSS feed data, and the like. Streams also can include text, video, photographs, audio, and other data. In one embodiment, a computer obtains the summarised stream from a "summarisation server" over a data network and presents it to the user.
2.1.2 The appellant submitted that D1 was not an appropriate starting point for the assessment of inventive step. The application discussed that, by keeping data in its raw form, it could be replayed by the user ("data subscriber") from any point, potentially into new database solutions. D1, rather than being concerned with the transmission of streams of data, was concerned with summarising those streams, which was not, in the words of T 606/89 (cited also in the Guidelines for Examination), a similar use.
2.1.3 This argument is not persuasive, for the following reasons:
First, the board adheres to the view that, if inventive step is to be denied, the choice of the starting point for the assessment of inventive step requires no specific justification since the claimed subject-matter must be inventive over any state of the art according to Article 56 EPC (see e.g. T 967/97, Catchword II, also cited in the Guidelines for Examination; T 694/15, Reasons 13; T 816/16, Reasons 3.7.1; T 261/19, Reasons 2.5). Hence, a document which serves a different purpose as the present invention may also be selected as a suitable starting point (see e.g. T 1294/16, Reasons 5; see also T 2101/12, Reasons 6.3, using even a non-technical disclosure as a suitable starting point). While it has to be ensured that the objective technical problem is a realistic one and does not contain pointers towards the claimed solution, the application of the problem-solution approach to such a starting point may still convincingly lead to the conclusion that the claimed subject-matter is obvious. In any case, the more technically remote a prior-art document is from the claimed invention, the easier it usually becomes for an applicant or patent proprietor to demonstrate that the notional person skilled in the art under Article 56 EPC would have never come up with the claimed solution. Therefore, the selection of a piece of prior art directed to an arguably different purpose does not prejudice the legitimate interests of an applicant or a patent proprietor.
Second, the board does consider D1 to be directed to a similar purpose as the claimed invention. The claim generally refers to "streaming raw data", which is not limited to the databases mentioned in the description and encompasses the streams of D1. Furthermore, the claimed "bundling" operation does not exclude further processing of the raw data, such as the "summarisation" of D1. In this respect, attention is drawn to the fact that the replay operation in the present application likewise requires a transformation of the data packages into a requested "loadable format", according to paragraph [075] of the application as published.
Hence, the board sees no reason to disqualify prior-art document D1 as a suitable starting point for an inventive-step reasoning.
Distinguishing features
2.1.4 Using the wording of claim 1, D1 discloses:
F1 A system comprising: a computer-implemented bundler (Fig. 1: "SUMMARIZATION SERVER") configured to: receive streaming raw data (Fig. 1: "STREAM 104") from a data producer (Fig. 1: "SERVER 102A", "SEARCH SERVER 102B"); bundle the raw data into a series of data packages (Fig. 1: "SUMMARIZED STREAM 112"); and
F2 [deleted: associate with each of the data packages a unique identifier having a monotonically increasing order comprising an increasing series of integers without gaps, based on upload from the data producer;]
F3 a computer-implemented transformer configured to receive the data packages [deleted: having the associated unique identifiers] and generate loadable data structures for a reporting store (see [0093], last sentence: "... hosting the data from the summarized stream 112 to allow a remote system or user to access the data ...") associated with a data subscriber (Fig. 1: "COMPUTER 114");
F4 a computer-implemented loader configured to receive and store the loadable data structures into a storage device associated with the data subscriber (see [0030], second sentence: "... the computer 114 is configured to access the summarization server 102C, obtain the summarized stream 112 via the network 106 ...") [deleted: based on the monotonically increasing order];
F5 a data channel (see [0021]: "posted data") configured to allow data from the data producer to be continuously streamed to the data subscriber through the bundler over a data distribution network (Fig. 1: "NETWORK 106");
F6 a messaging channel (see [0021]: "metadata") configured to provide a current status of the data being continuously streamed from the data producer to the data subscriber;
F7 [deleted: a control channel separate from the data channel and configured to allow the data subscriber to request replay of the data];
F8 wherein the streaming raw data comprises multiple streams ([0026], [0032]: "streams 104").
2.1.5 Thus, in agreement with point 1.1.2 of the decision under appeal, the subject-matter of claim 1 differs from the disclosure of D1 in that:
U1 the bundler is configured to associate with each of the data packages a unique identifier having a monotonically increasing order comprising an increasing series of integers without gaps, based on upload from the data producer;
U2 the system further comprises a control channel separate from the data channel and configured to allow the data subscriber to request replay of the data.
2.1.6 These differences have not been disputed by the appellant.
Technical effect and objective technical problem
2.1.7 The technical effects associated with differences U1 and U2 are that they allow the data subscriber to replay the data packages in the correct order, to detect missing data packages, and, if need be, to obtain retransmissions of the missing data packages (see also paragraph [0039] of the application as published).
The board follows, in the appellant's favour, the objective technical problem framed by the appellant at the oral proceedings before the board as "ensuring a complete replay of data by the data subscriber". The skilled person to be tasked with that problem is consequently a person versed in the field of data communications.
Determination of obviousness (could-would approach)
2.1.8 The subject-matter of claim 1 does not involve an inventive step (Article 56 EPC) starting out from D1 for the following reasons:
The use of "unique identifiers" in the form of a "monotonically increasing series of integers without gaps" constitutes a straightforward measure for the person skilled in the field of packet-based data communications, e.g. the sequence number field appearing in packets according to the
Real-Time-Protocol (RTP). The use of a separate "control channel" for requesting retransmission of data packages identified by such integers is also well-known in packet-based data communication, e.g. the RTP Control Protocol (RTCP) implements a separate feedback channel for a stream transmitted with the RTP protocol and may be used for retransmission requests of RTP packets.
In D1, according to paragraph [0030], the computer 114 (i.e. the "data subscriber") is configured to access the summarisation server 102C (i.e. the "bundler"), obtain the summarised stream 112 via the network 106, and present the summarised stream 112 to a user. When network 106 is a packet-based data network, such as the Internet, it would have been plausible to consider the out-of-order arrival and loss of packets containing parts of the summarised stream 112. In such case, the skilled person using no more than customary skills would have applied the well-known techniques mentioned above, arriving thereby at the introduction of features U1 an U2 into the system of D1 in a straightforward manner.
2.1.9 The appellant submitted that even considering that the skilled person were to start with D1, there was no reason to require "replay" in the system of D1, which was directed to providing a summary of a stream. The summarised stream of D1 was not distributed over databases; there was no need for a particularly reliable playback of that stream. In D1, there was no discussion or appreciation of the objective problem and no teaching to go towards the invention starting therefrom, which should be rather considered a "problem invention".
2.1.10 This is not convincing.
First, the board recalls that the closest prior art does not have to disclose the "objective technical problem", which is only determined in the second step of the problem-solution approach on the basis of the technical effect(s) provided by those features which distinguish the claimed invention from that prior art (see e.g. T 698/10, Reasons 3.4; T 910/90; Reasons 5.1, last sentence).
Second, the fact that the stream presented by computer 114 of D1 is a summarised stream does not mean that data integrity of the summarised stream can be dispensed with. Nor does "bundling" as claimed necessarily exclude a reduction of the amount of information being combined, as indicated in point 2.1.3 above. As to the meaning of "replay", the claims are not limited to (re-)population of databases. Actually, the word "database" is never mentioned in the claims. Furthermore, the computer 114 obtains the summarised stream 112 from the summarisation server 102C, which necessarily implies a (re-)play of the data hosted at that summarisation server 102C. According to paragraphs [0004] and [0020], the data can include text, video, photographs, audio, and other data, which does not rule out (re-)population of databases.
Third, regardless of the question whether a "problem invention" is compatible with the assessment of inventive step according to the problem-solution approach or to which extent it may generally justify the presence of an inventive step, the objective problem formulated above is typically apparent in packet-based data networks, where the underlying data packets may be sent over different data paths. This is known to inherently involve the risk of data packets being lost or arriving out of order. With these considerations in mind, the skilled person would have deemed the objective technical problem likely to arise in the data network 106 of D1 as well, without any need to have it explicitly mentioned in the same document. In conclusion, the recognition of that problem would have been obvious to the skilled person in the field of telecommunications and therefore cannot be a "problem invention" within the meaning of T 2/83.
2.2 It follows that the fourth auxiliary request is not allowable under Article 56 EPC.
3. MAIN AND FIRST TO THIRD AUXILIARY REQUESTS
3.1 Claim 1 - inventive step (Article 56 EPC)
3.1.1 The features of claim 1 of the main request and of each of the first to third auxiliary requests are essentially a subset of the features of claim 1 of the fourth auxiliary request.
3.1.2 Hence, the reasoning set out above applies mutatis mutandis to the subject-matter of claim 1 of the main request and of each of the first to third auxiliary requests. As a consequence, the subject-matter of claim 1 of those claim requests does not involve an inventive step starting out from D1 either.
3.2 Accordingly, the main request and the first to third auxiliary requests are likewise not allowable under Article 56 EPC.
4. FIFTH AUXILIARY REQUEST
Claim 1 of the fifth auxiliary request comprises the following limiting features (board's outline):
A method comprising:
V1 receiving, with programmable circuitry, streaming data from a data producer;
V2 determining from the streaming data, with the programmable circuitry, that the streaming data should be bundled together in accordance with a set of bundling parameters;
V3 bundling, with the programmable circuitry, the streaming data into packages of data having a standard format with a first portion and a second portion, wherein the first portion includes a unique identifier of a package of data and a quality indicator generated by the data producer, and wherein the second portion includes data;
V4 ordering, with the programmable circuitry, each of the packages of data using a series of consecutive integers produced by a master clock;
V5 archiving, with the programmable circuitry, the packages of data in a memory;
V6 simultaneously to archiving, assigning the packages of data to parallel data streams, and publishing at least the first portion of the packages of data in the parallel data streams;
V7 receiving requests generated by data consumers through an Application Programming Interface, wherein the requests include a request for a subscription to a portion of the streaming data; and
V8 delivering to the data consumers packages of data corresponding to the subscription.
4.1 Admittance (Article 12(4) RPBA 2007)
4.1.1 Claims 1 and 13 of the fifth auxiliary request allegedly have their basis in original claims 1, 5, 9 and 12 and paragraphs [006], especially fourth and penultimate sentences, [037], [042] and [043] of the application as published. The appellant submitted that the independent claims of this claim request still had the "unique identifier" (U1) and a mechanism through which a subscriber could obtain a "replay" (U2) (see feature V4).
As such, the same reasons as expressed for the other claim requests were equally applicable to the assessment of novelty and inventive step inherent to the claimed invention in this auxiliary request. Furthermore, D1 did not suggest simultaneously archiving and streaming the respective data stream (see features V5 and V6). These changes were made in response to the arguments put forward by the examining division in the first-instance oral proceedings.
4.1.2 In accordance with Article 12(4) RPBA 2007, the board has the power to hold inadmissible requests which could have been presented in the first-instance proceedings.
4.1.3 The appellant's case on novelty and inventive step presented in the statement of grounds of appeal concerning the fifth auxiliary request is based not only on differences U1 and U2, but also on the presence of additional features V4 to V8, which were not considered in the decision under appeal at all. Consequently, this claim request indeed constitutes a "fresh case" which would require examination from the ground up and possibly the assessment of inventive step using documents other than D1 as starting point. This, however, is not the purpose of appeal proceedings.
Moreover, this claim request could and should have been presented in the first-instance proceedings, e.g. as a reaction to the deficiencies pointed out by the examining division. The fact that those deficiencies were indicated during the first-instance oral proceedings should have prompted the appellant to react directly and immediately before the examining division, even if such reaction would have required an extension or a postponement of those oral proceedings.
4.2 Consequently, the board did not admit the fifth auxiliary request into the appeal proceedings (Article 12(4) RPBA 2007).
5. Since there is no allowable claim request, the appeal must be dismissed.
Order
For these reasons it is decided that:
The appeal is dismissed.