DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
Claim Status
No claims are amended.
No claims are canceled.
No newly added claims.
Claims 1-21 are presented for examination.
Response to Arguments
Applicant's arguments filed in the amendment filed on 10/24/2025 have been fully considered but they are not persuasive. Reasons are set forth below.
Applicant argues (Remarks page 8-10) that cited arts do not teach or suggest "generating, based on the determination of the continuity between the representation of the content item located at the first computing device and the representation of the content item located at the second computing device, a data file associated with the content item" as claimed. Applicant argues that Mosko, teaches local nodes receives an advertisement corresponding to a remote manifest at a remote node and determines that the remote manifest and local manifest of the local node indicates the same collection of content object. Mosko further teaches that a manifest represents a collection of content objects at a node. However, Mosko fails to further teach that either of the local manifest or the root manifest indicate representations of the content object located at a first node and a second node. Mosko is silent with regard to determining a "continuity between the representation of the content item located at the first computing device and the representation of the content item located at the second computing device." Moreover, Mosko fails to teach that a data file is generated "based on the determination of the continuity [...]." Mosko teaches that the local manifest may be updated with the missing content object, wherein a new root hash value may be generated for the manifest. However, Mosko does not teach that a new manifest "file" is generated. Mosko is devoid of any teaching or suggestion of "generating, based on the determination of the continuity between the representation of the content item located at the first computing device and the representation of the content item located at the second computing device, a data file associated with the content item."
In response, the examiner respectfully points out that, rejection was combination of Kazerani, Mosko and Sathyanarayana. Where Kazerani teaches determining continuity between a representation of a content located at the first computing device and a second computing device, Kazerani par. 0033 discloses manifest file also identifies unicast addresses that supplement the customization offered by multicast group, unicast address identify a content source or other servers that host the event content for client device to receive the event content with each unicast address providing the event content at a different quality level encoding, fig. 1 shows the multicast group providing specific quality level located at IP address (i.e. first host device hosting source of event content) and unicast level providing same quality level from IP address (i.e. second host device hosting source of event content).
However, Kazerani explicitly does not disclose, based on receiving indication of the second computing device, determining a continuity between content at located at first device and content located at the second computing device and generating, based on the determination of the continuity between the representation of the content item located at the first computing device and the second computing device, a data file associated with the content item.
Mosko was cited to teach this feature. Mosko in par. Par. 0065, fig. 2 and 3, A local node receives an advertisement (i.e. indication) corresponding to a remote manifest at a remote node. Local node determines if the manifests indicate the same collection of content by comparing the collection name, or routing prefix, of the manifests, i.e. determining by comparing the content name that content is same as located on local node and remote node = determining continuity between content representation of content at local (i.e. first) node and representation of content at remote (i.e. second) node, here teaching of determining continuity between content on first device and content on second device is based on attribute comparison, such as in this example name of the content. This teaching can be applied to comparing any attribute of the content such as Kazerani’ attribute of resolution, quality or format of the content.
Mosko further teaches in par. 0077, fig. 6B, local node 106 receives a hash advertisement from remote node 102 of manifest 140, Local node 106 determines that its manifest 160 represents the same collection of data as remote manifest 140 (i.e. determining continuity between content at remote node and local node) and retrieves manifest 140. Local node 106 then determines the set difference between its local manifest 160 and remote manifest 140. local node 106 updates it manifest 160 with the missing content object. Based on the contents of manifest 160 at time T2, the system generates a new root hash value for manifest 160, which now equals the root hash value of the remote manifest. Hence, Mosko clearly teaches that updating (i.e. in order to update the file, system generates the new copy of the old file with updated information) the local manifest using determining similarity between content located to remote node and local node.
Regarding applicant’s arguments (Remarks page 10-11) about combination of Mosko and Sathyanarayana Kazerani is demonstrative of improper piecemeal examination. Combination of Mosko and Sathyanarayana with Kazerani employs improper "hindsight reasoning" that "uses the invention as a road map to find its prior art components
In response to applicant's arguments against the references individually, one cannot show nonobviousness by attacking references individually where the rejections are based on combinations of references. See In re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed. Cir. 1986).
Combination of Mosko and Sathyanarayana with Kazerani improves Kazerani’s multiple host devices having content with similar attributes that manifest located at one host indicates the similar information with similar attributes located at other host, where it will improve Kazerani’s system with teaching of Mosko to discover the content service provided by other peer host and update the manifest to include similar content service provided by the other peer host to provide synchronized collection of content data provided by plurality of hosts, as disclosed in Mosko, par. 0002, 0003.
In response to applicant's argument that the examiner's conclusion of obviousness is based upon improper hindsight reasoning, it must be recognized that any judgment on obviousness is in a sense necessarily a reconstruction based upon hindsight reasoning. But so long as it takes into account only knowledge which was within the level of ordinary skill at the time the claimed invention was made, and does not include knowledge gleaned only from the applicant's disclosure, such a reconstruction is proper. See In re McLaughlin, 443 F.2d 1392, 170 USPQ 209 (CCPA 1971).
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102 of this title, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1, 3, 6-11, 14-18, and 20 are rejected under U.S.C. 103 as being unpatentable over Kazerani et al. (US 20160080445), in view of Mosko (US 20150288754), in further view of Sathyanarayana et al. (US 20190036986).
Regarding claim 1, Kazerani discloses, A method comprising: a first computing device, second computing device (par. 0033 discloses manifest file also identifies unicast addresses that supplement the customization offered by multicast group, unicast address identify a content source or other servers that host the event content for client device to receive the event content with each unicast address providing the event content at a different quality level encoding, fig. 1 shows the multicast group providing specific quality level located at IP address (i.e. first host device hosting source of event content) and unicast level providing same quality level from IP address (i.e. second host device hosting source of event content));
determining, based on the second computing device, a continuity between a representation of a content item located at the first computing device and a representation of the content item located at the second computing device, (par. 0033 discloses manifest file also identifies unicast addresses that supplement the customization offered by multicast group, unicast address identify a content source or other servers that host the event content for client device to receive the event content with each unicast address providing the event content at a different quality level encoding, fig. 1 shows the multicast group providing specific quality level located at IP address (i.e. first host device hosting source of event content) and unicast level providing same quality level from IP address (i.e. second host device hosting source of event content), here continuity element is being quality level of content available from second host such as specified by numeric number such as quality level, 0, 1, 2 similar to first source providing quality level 0, 1, 2, par. 0067 discloses process of fig. 7 is performed by a content source, which includes generating a manifest file as shown in fig. 7 step 750, here content source can be any of the machine hosting the event content, as there are multiple source providing the same event content as disclosed in par. 0089, another machine hosting serving the content source event content);
a data file associated with the content item, wherein the data file comprises a reference to the second computing device and the continuity element indicative of the continuity (par. 0033 discloses manifest (i.e. a data file that is generated) associated with the event content that refers to unicast address (i.e. second host specified by IP address different from IP address of multicast source) that is providing the event content and quality level (i.e. continuity element));
receiving, by the first computing device from a user device, a request for the content item (par. 0036 discloses client application loads on the user device, client application sends a request for the particular event stream from content source, par. 0037 discloses content source sends manifest file in response to the request); and
sending, by the first computing device to the user device, the data file and a first portion of the content item, wherein the data file causes the user device to send a request for a second portion of the content item to the second computing device (par. 0037 discloses content source sends manifest file in response to the request. par. 0038 discloses based on manifest file receive particular event stream by joining multicast group, here multicast group has associated IP address as show in fig. 1, therefore multicast source (i.e. first source) content source providing initial portion of event content. Par. 0089, fig. 10 discloses, the failover occurs by establishing (at 1080) a connection with the destination identified at the unicast address and submitting (at 1085) a request for a stream of the event content from the destination, i.e. manifest files provide information or causes the client device to receive remaining portion (i.e. or second portion) from unicast source (i.e. second computing device) after the failover).
Kazerani explicitly does not disclose, receiving, by a first computing device, an indication of a second computing device, determining, based on the indication of the second computing device, a continuity between a content item located at the first computing device and the content item located at the second computing device,
generating, based on the determination of the continuity between the presentation of the content item located at the first computing device and the representation of the content item located at the second computing device, a data file associated with the content item, wherein the data file comprises a reference to the second computing device and continuity element indicative of the continuity.
Mosko discloses, receiving, by a first computing device, an indication of a second computing device (Par. 0065, fig. 2 and 3, the local node is depicted as node 106 in FIG. 2 and the remote node is depicted as node 102 in FIG. 2. A local node receives an advertisement corresponding to a remote manifest at a remote node (operation 302)),
determining, based on the indication of the second computing device, a continuity between a content item located at the first computing device and the content item located at the second computing device (Par. 0065, fig. 2 and 3. the local node determines if the manifests indicate the same collection of content by comparing the collection name, or routing prefix, of the manifests, i.e. determining by comparing the content name that content is same as located on local node and remote node = determining continuity between content representation at local (i.e. first) node and remote (i.e. second) node, here teaching of determining continuity between content on first device and content on second device is based on attribute comparison, such as in this example name of the content. This teaching can be applied to comparing any attribute of the content such as other attributes being resolution, quality or format of the content);
generating, based on the determination of the continuity between the presentation of the content item located at the first computing device and the representation of the content item located at the second computing device, a data file associated with the content item (Par. 0077, fig. 6B, local node 106 receives a hash advertisement from remote node 102 of manifest 140, Local node 106 determines that its manifest 160 represents the same collection of data as remote manifest 140 (i.e. determining continuity between content at remote node and local node) and retrieves manifest 140. Local node 106 then determines the set difference between its local manifest 160 and remote manifest 140. local node 106 updates it manifest 160 with the missing content object. Based on the contents of manifest 160 at time T2, the system generates a new root hash value for manifest 160, which now equals the root hash value of the remote manifest).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the method of Kazerani, by teachings of receiving indication of peer host device, determining based on received indication, a continuity between content item located at the first computing device and the content item located at the second computing device, generating based on the determination of the continuity between presentation of the content item located at second computing device, a file associated with the content item. as taught by Mosko, to discover the content service provided by other peer host and update the manifest to include similar content service provided by the other peer host to provide synchronized collection of content data provided by plurality of hosts, as disclosed in Mosko, par. 0002, 0003.
Kazerani in view of Mosko does not disclose, the generated data file comprises a reference to the second computing device and continuity element indicative of the continuity.
Sathyanarayana discloses, the generated data file comprises a reference to the second computing device and continuity element indicative of the continuity (Par. 0048, dynamically generate manifests or modify manifests obtained from different sources with links to failover sources when the manifests obtained from the original sources do not provide links to the corresponding source and at least one failover source. The generated or modified manifest with at least one added failover source is passed from the intermediary server of some embodiments to a client in place of the original manifest identifying a single source provided by the original source).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the method of Kazerani in view of Mosko, by teachings of the generated data file comprises a reference to the second computing device and continuity element indicative of the continuity, as taught by Sathyanarayana, to perform just in time failover of client to another source for uninterrupted failover to continue media stream from another source, as disclosed in Sathyanarayana, par. 0008.
Regarding claim 3, the method of claim 1,
Kazerani in view of Mosko in further view of Sathyanarayana further discloses, wherein determining, the continuity between the representation of the content item located at the first computing device and the representation of the content item located at the second computing device comprises:
determining at least one identifier associated with the representation of the content item at the first computing device matches at least one identifier associated with the representation of the content item located at the second computing device (Kazerani par. 0033 discloses manifest file also identifies unicast addresses that supplement the customization offered by multicast group, unicast address identify a content source or other servers that host the event content for client device to receive the event content with each unicast address providing the event content at a different quality level encoding, fig. 1 shows the multicast group providing specific quality level located at IP address (i.e. first host device) that has matching quality level from unicast source (i.e. second host device)).
Regarding claim 6, the method of claim 1,
Kazerani in view of Mosko in further view of Sathyanarayana further discloses, wherein the data file comprises at least one reference to a portion of the representation of the content item located at the first computing device (Kazerani par. 0032, fig. 1 discloses manifest file containing different time shifts of event content, here different time shift refers to a portion of the content item).
Regarding claim 7, the method of claim 1,
Kazerani in view of Mosko in further view of Sathyanarayana further discloses, further comprising determining that the first computing device is associated with the second computing device (Kazerani par. 0033 discloses manifest file identifies unicast addresses that can identify a content source (i.e. second computing device) that host the event content that distributes the content on behalf of the content source, i.e. first content source is associated with second content as both distributes same event content).
Regarding claim 8, the method of claim 7,
Kazerani in view of Mosko in further view of Sathyanarayana further discloses, wherein determining that the first computing device is associated with the second computing device comprises determining that the first computing device and the second computing device each comprise the representation of the content item (Kazerani par. 0033 discloses manifest file identifies unicast addresses that can identify a content source (i.e. second computing device) that host the event content that distributes the content on behalf of the content source, i.e. first content source is associated with second content as both distributes same event content).
Regarding claim 9, Kazerani discloses, A method comprising: receiving, by a first computing device from a user device, based on a failure associated with a second computing device, a request for a content item (par. 0088, fig. 10, If user device successfully joins the multicast group it will begin receiving (at 1060) packets from the multicast address identifying the multicast group. If any failure occurs (at 1070) during the stream, the process can perform the failover at step 1080. Par. 0089, the failover occurs by establishing (at 1080) a connection with the destination identified at the unicast address and submitting (at 1085) a request for a stream of the event content from the destination. In response, the process will begin receiving (at 1090) the event stream directly from the destination over the unicast connection. i.e. determining that failure occurs in associated with streaming from multicast source (i.e. source = second computing device), user device sends request for event stream to unicast source (i.e. a first computing device) ), wherein the request is based on a first data file generated by the second computing device based on a determination of continuity between representation of the content item located at the first computing device and a representation of the content item located at the second computing device (par. 0033 discloses manifest (i.e. a data file) is generated associated with the event content that refers to unicast address (i.e. first host specified by IP address different from IP address of second source, multicast source) and quality level (i.e. continuity element)), and wherein the user device received a first portion of the content item based on the first data file (par. 0038 discloses based on manifest file receive particular event stream by joining multicast group, here multicast group has associated IP address as show in fig. 1, therefore multicast source (i.e. second source) content source providing initial portion of event content ).
Kazerani does not disclose, determination of continuity between representation of the content item located at the first computing device and a representation of the content item located at the second computing device based on receiving an indication of the first computing device,
generating, by the first computing device, a second data file associated with the content item, wherein the second data file comprises a reference to the second computing device and the continuity element indicative of a continuity; and
and sending, by the first computing device to the user device, the second data file, wherein the second data file causes the user device to send a request for a second portion of the content item to the first computing device.
Mosko discloses, determination of continuity between representation of the content item located at the first computing device and a representation of the content item located at the second computing device based on receiving an indication of the first computing device (Par. 0065, fig. 2 and 3. the local node determines if the manifests indicate the same collection of content by comparing the collection name, or routing prefix, of the manifests, i.e. determining by comparing the content name that content is same as located on local node and remote node = determining continuity between content representation at local (i.e. first) node and remote (i.e. second) node, here teaching of determining continuity between content on first device and content on second device is based on attribute comparison, such as in this example name of the content. This teaching can be applied to comparing any attribute of the content such as other attributes being resolution, quality or format of the content);
generating, by the first computing device, a second data file associated with the content item (Par. 0077, fig. 6B, local node 106 receives a hash advertisement from remote node 102 of manifest 140, Local node 106 determines that its manifest 160 represents the same collection of data as remote manifest 140 (i.e. determining continuity between content at remote node and local node) and retrieves manifest 140. Local node 106 then determines the set difference between its local manifest 160 and remote manifest 140. local node 106 updates it manifest 160 with the missing content object. Based on the contents of manifest 160 at time T2, the system generates a new root hash value for manifest 160, which now equals the root hash value of the remote manifest).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the method of Kazerani, by teachings of receiving indication of peer host device, determining based on received indication, a continuity between content item located at the first computing device and the content item located at the second computing device, generating, by the first computing device, a second data file associated with the content item, as taught by Mosko, to discover the content service provided by other peer host and update the manifest to include similar content service provided by the other peer host to provide synchronized collection of content data provided by plurality of hosts, as disclosed in Mosko, par. 0002, 0003.
Kazerani in view of Mosko does not disclose, wherein the second data file comprises a reference to the second computing device and the continuity element indicative of a continuity; and
and sending, by the first computing device to the user device, the second data file, wherein the second data file causes the user device to send a request for a second portion of the content item to the first computing device.
Sathyanarayana discloses, wherein the second data file comprises a reference to the second computing device and the continuity element indicative of a continuity (Par. 0048, dynamically generate manifests or modify manifests obtained from different sources with links to failover sources when the manifests obtained from the original sources do not provide links to the corresponding source and at least one failover source. The generated or modified manifest with at least one added failover source is passed from the intermediary server of some embodiments to a client in place of the original manifest identifying a single source provided by the original source);
and sending, by the first computing device to the user device, the second data file (par. 0048, The generated or modified manifest with at least one added failover source is passed from the intermediary server of some embodiments to a client in place of the original manifest identifying a single source provided by the original source), wherein the second data file causes the user device to send a request for a second portion of the content item to the first computing device (Par. 0053, The modified manifest 595 is the manifest that the intermediary server sends to a client after modifying the original manifest to include additional alternative sources from which the client can access the manifests and segments of the live stream).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the method of Kazerani in view of Mosko, by teachings of first computing generating second data file comprising a reference to the second computing device and the continuity element, the first computing device sends the second data file to the user device, second data file causes the user device to send a request for a second portion of the content item to the first computing device, as taught by Sathyanarayana, to perform just in time failover of client to another source for uninterrupted failover to continue media stream from another source, as disclosed in Sathyanarayana, par. 0008.
Regarding claim 10. The method of claim 9,
Kazerani in view of Mosko in further view of Sathyanarayana discloses, wherein the second computing device determined the continuity element based on an asset value indicating the representation of the content item at the second computing device is perceptually identical to the representation of the content item located at the first computing device (Sathyanarayana par. 0047-0049, The modified manifest 595 includes links 610 and 620 to two different sources for each quality setting. More specifically, each quality setting is defined with the first link 610 and a second link 620. The first link 610 identifies the first source. The second link 620 identifies the different second source as a first failover source for the same live stream at the corresponding quality setting, i.e. as seen in fig. 6, content asset value such as filenames of the content segments determined to be identical as well as having same resolution).
Regarding claim 11. The method of claim 9,
Kazerani in view of Mosko in further view of Sathyanarayana further disclose, wherein second computing device determined the continuity element based on a service value indicating that at least one identifier associated with the representation of the content item at the second computing device matches at least one identifier associated with the representation of the content item located at the first computing device (Kazerani par. 0033 discloses manifest file also identifies unicast addresses that supplement the customization offered by multicast group, unicast address identify a content source or other servers that host the event content for client device to receive the event content with each unicast address providing the event content at a different quality level encoding, fig. 1 shows the multicast group providing specific quality level located at IP address (i.e. second host device) that has matching quality level from unicast source (i.e. first host device), here service value = value of quality level, such as providing higher level of service by higher quality, as specified by numeric number such as quality level, 0, 1, 2).
Regarding claim 14. The method of claim 11,
Kazerani in view of Mosko in further view of Sathyanarayana further disclose, wherein the first data file comprises at least one reference to a portion of the representation of the content item located at the first computing device (Kazerani par. 0032, fig. 1 discloses manifest file containing different time shifts of event content, here different time shift refers to a portion of the content item located at multicast source and unicast source, i.e. two different sources includes first or second).
Regarding claim 15. The method of claim 11,
Kazerani in view of Mosko in further view of Sathyanarayana further disclose, further comprising determining, by a control device, that the first computing device is associated with the second computing device (Sathyanarayana par. 0023, the intermediary server 210 initially distributes the objects of the particular live stream from the first source 220 to several clients. At some point, the intermediary server 210 fails over (for any of a variety of reasons) from the first source 220 to the second source 230. The intermediary server 210 then resumes distribution of the subsequent particular live stream objects to the several clients from the second source 230 after completing the fail over, i.e. intermediatory device controls the failover from first source to second source, therefore it determines the association of first source to second source).
Regarding claim 16. The method of claim 15,
Kazerani in view of Mosko in further view of Sathyanarayana further discloses, wherein determining, by the control device, that the first computing device is associated with the second computing device comprises determining that the first computing device and the second computing device each comprise the representation of the content item (Sathyanarayana par. 0023, the intermediary server 210 initially distributes the objects of the particular live stream from the first source 220 to several clients. At some point, the intermediary server 210 fails over (for any of a variety of reasons) from the first source 220 to the second source 230. The intermediary server 210 then resumes distribution of the subsequent particular live stream objects to the several clients from the second source 230 after completing the fail over, i.e. intermediatory device controls the failover from first source to second source, therefore it determines each of the first source and second source comprises the representation of the content item).
Regarding claim 17, Kazerani discloses, A method comprising:
sending, by a user device to a first computing device, a first request for a content item (par. 0036 discloses client application sends a request for the particular event stream to the content source 230);
receiving, from the first computing device, based on the first request, a first data file (0037 discloses content source sends manifest file in response to the request), wherein the first data file is generated by the first computing device based on a determination of a continuity between a representation of the content located at the first computing device and a representation the content item located at a second computing device (par. 0033 discloses manifest (i.e. a data file that is generated) associated with the event content that refers to unicast address (i.e. second host specified by IP address different from IP address of multicast source) that is providing the event content and quality level (i.e. continuity element). Par. 0067, in hybrid solution, multicast is used to provide different quality levels to the majority of user devices with unicast being used to support a minority of user devices. The manifest file or metadata identifies the quality level encodings for the intelligent client application allowing the application to select the quality level encoding that is best for the user or user device on which the application executes, i.e. generated manifest file has information about location of content on multicast source and unicast source with specific identification of quality, forming continuity between two sources), and wherein the first data file comprises a reference to a second computing device and a first continuity element (par. 0033, fig. 1 discloses manifest file identifies IP address of unicast addresses (i.e. of second content source) that supplement the customization offered by multicast group, fig. 1 shows the multicast group providing specific quality level located at IP address (i.e. first host device) and unicast level providing same quality level from IP address (i.e. second host device), here continuity element is being quality level of content available from second host device);
receiving, based on the first data file, a first portion of the content item from the first computing device (par. 0038 discloses based on manifest file receive particular event stream by joining multicast group, here multicast group has associated IP address as show in fig. 1, therefore content source providing initial portion of event content);
based on a failure associated with the first computing device (par. 0088, fig. 10, step 1070 discloses if any failure occurs at 1070 during streaming, the process can perform the failover step 1080, i.e. determining that failure occurs in associated with streaming from multicast source (i.e. source = computing device). par. 0089 discloses, the failover occurs by establishing (at 1080) a connection with the destination identified at the unicast address (i.e. second computing device) and submitting (at 1085) a request for a stream of the event content from the destination, Par. 0033, fig. 1 discloses unicast address supplements the customization offered by multicast groups, different unicast addressing is configured to allow the intelligent client application to receive the event content with a custom time shift with each unicast address providing the event content at a different quality level encoding, fig. 1 shows quality level 0,1, 2 provided by multicast group and unicast group therefore continuity element is determined that represents same quality level when switching from multicast to unicast when failover occurs) sending, to the second computing device, based on the continuity element, a second request for the content item (par. 0089, fig. 10 discloses, the failover occurs by establishing (at 1080) a connection with the destination identified at the unicast address and submitting (at 1085) a request for a stream of the event content from the destination).
Kazerani does not disclose, data file is generated by the first computing device based on a determination of a continuity between a representation of the content located at the first computing device and a representation the content item located at a second computing device based on receiving an indication of the second computing device;
receiving, from the second computing device, a second data file associated with the content item, wherein the second data file causes the user device to send a request for a second portion of the content item to the second computing device.
Mosko discloses, data file is generated by the first computing device based on a determination of a continuity between a representation of the content located at the first computing device and a representation the content item located at a second computing device based on receiving an indication of the second computing device (Par. 0065, fig. 2 and 3. the local node determines if the manifests indicate the same collection of content by comparing the collection name, or routing prefix, of the manifests, i.e. determining by comparing the content name that content is same as located on local node and remote node = determining continuity between content representation at local (i.e. first) node and remote (i.e. second) node, here teaching of determining continuity between content on first device and content on second device is based on attribute comparison, such as in this example name of the content. This teaching can be applied to comparing any attribute of the content such as other attributes being resolution, quality or format of the content. Par. 0077, fig. 6B, local node 106 receives a hash advertisement from remote node 102 of manifest 140, Local node 106 determines that its manifest 160 represents the same collection of data as remote manifest 140 (i.e. determining continuity between content at remote node and local node) and retrieves manifest 140. Local node 106 then determines the set difference between its local manifest 160 and remote manifest 140. local node 106 updates it manifest 160 with the missing content object. Based on the contents of manifest 160 at time T2, the system generates a new root hash value for manifest 160, which now equals the root hash value of the remote manifest).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the method of Kazerani, by teachings of receiving indication of peer host device, determining based on received indication, a continuity between content item located at the first computing device and the content item located at the second computing device, as taught by Mosko, to discover the content service provided by other peer host and update the manifest to include similar content service provided by the other peer host to provide synchronized collection of content data provided by plurality of hosts, as disclosed in Mosko, par. 0002, 0003.
Kazerani in view of Mosko does not disclose, Kazerani in view of Tan does not disclose, receiving, from the second computing device, a second data file associated with the content item, wherein the second data file causes the user device to send a request for a second portion of the content item to the second computing device.
Sathyanarayana discloses, receiving, from the second computing device, a second data file associated with the content item, wherein the second data file causes the user device to send a request for a second portion of the content item to the second computing device (par. 0048, The generated or modified manifest with at least one added failover source is passed from the intermediary server of some embodiments to a client in place of the original manifest identifying a single source provided by the original source. Par. 0053, The modified manifest 595 is the manifest that the intermediary server sends to a client after modifying the original manifest to include additional alternative sources from which the client can access the manifests and segments of the live stream);
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the method of Kazerani in view of Mosko, by, the first computing device sends the second data file to the user device, second data file causes the user device to send a request for a second portion of the content item to the first computing device, as taught by Sathyanarayana, to perform just in time failover of client to another source for uninterrupted failover to continue media stream from another source, as disclosed in Sathyanarayana, par. 0008.
Regarding claim 18, The method of claim 17,
Kazerani in view of Mosko in further view of Sathyanarayana further discloses, further comprising determining the failure associated with the first computing device, wherein determining the failure associated with the first computing device comprises receiving no additional portions of the content item from the first computing device (Kazerani par. 0088 discloses if any failure occur at step 1070 during the stream, the process can perform the failover step 1080, here failure during streaming = fail to receive further portion of the content item from original content source).
Regarding claim 20, The method of claim 17,
Kazerani in view of Mosko in further view of Sathyanarayana further discloses, wherein the second data file comprises a reference to the first computing device and a second continuity element (Sathyanarayana par. 0047-0049, The modified manifest 595 includes links 610 and 620 to two different sources for each quality setting. More specifically, each quality setting is defined with the first link 610 and a second link 620. The first link 610 identifies the first source. The second link 620 identifies the different second source as a first failover source for the same live stream at the corresponding quality setting, i.e. as seen in fig. 6, content asset value such as filenames of the content segments determined to be identical as well as having same resolution).
Claim 2, 12, and 19 are rejected under U.S.C. 103 as being unpatentable Kazerani et al. (US 20160080445), in view of Mosko (US 20150288754), in further view of Sathyanarayana et al. (US 20190036986), in further view of Sauer et al. (US 20190036763).
Regarding claim 2, the method of claim 1,
Kazerani in view of Mosko in further view of Sathyanarayana does not disclose, further discloses, wherein determining the continuity between the representation of the content item located at the first computing device and the representation of the content item located at the second computing device comprises:
determining a license associated with the representation of the content item at the first computing device is valid for the representation of the content item at the second computing device.
Sauer discloses, wherein determining the continuity between the representation of the content item located at the first computing device and the representation of the content item located at the second computing device comprises:
determining a license associated with the representation of the content item at the first computing device is valid for the representation of the content item at the second computing device (par. 0037-0038 discloses that multiple segmentation server are synchronized to provide failover capacity where segment numbers/ encryption and decryption keys are identical each of the segmentation servers, providing fault tolerance to provide the stream segments to client, i.e. encryption and decryption keys provides permission or authorization to access the content therefore license to access the content, having identification encryption and decryption keys are identical across all segmentation servers).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the method of Kazerani in view of Mosko in further view of Sathyanarayana, by teachings of determining whether a license associated with content item at first computing device is valid for the content item at the second computing device, as taught by Sauer, to automatically switch from one source to another source during failover for protected contents, as disclosed in Sauer, par. 0001-0006.
Regarding claim 12. The method of claim 9,
Kazerani in view of Mosko in further view of Sathyanarayana does not disclose, wherein second computing device determined the continuity element based on a content protection value indicating a license associated with the representation of the content item at the second computing device is valid for the representation of the content item at the first computing device.
Sauer discloses, wherein second computing device determined the continuity element based on a content protection value indicating a license associated with the representation of the content item at the second computing device is valid for the representation of the content item at the first computing device (par. 0037-0038 discloses that multiple segmentation server are synchronized to provide failover capacity where segment numbers/ encryption and decryption keys are identical each of the segmentation servers, providing fault tolerance to provide the stream segments to client, i.e. encryption and decryption keys provides permission or authorization to access the content therefore license to access the content, having identical encryption and decryption keys are identical across all segmentation servers).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the method of Kazerani in view of Mosko in further view of Sathyanarayana, by teachings of determining whether a license associated with content item at first computing device is valid for the content item at the second computing device, as taught by Sauer, to automatically switch from one source to another source during failover for protected contents, as disclosed in Sauer, par. 0001-0006.
Regarding claim 19, The method of claim 17,
Kazerani in view of Mosko in further view of Sathyanarayana further discloses, wherein based on the failure associated with the first computing device, determining, based on the continuity element, the representation of the content item at the second computing device comprises:
outputting any buffered portions of the content item (par. 0041 discloses segments that prefetched and buffered can continue playback (i.e. output) at the client device providing sufficient time for client to failover to the different source should the problem persist at the original source).
Kazerani in view of Mosko in further view of Sathyanarayana does not disclose, determining an asset value, wherein the asset value indicates whether the representation of the content item at the first computing device is perceptually identical to the representation of the content item located at the second computing device.
Sauer discloses, determining an asset value, wherein the asset value indicates whether the representation of the content item at the first computing device is perceptually identical to the representation of the content item located at the second computing device (par. 0047-0049, discloses the each segmentation server (i.e. whether it is first or second source computing device) creates identical set of stream segments for a given content stream and have a same filenames, par. 0075 discloses playlist includes URL for obtaining each of the segments in the set of segments, it also includes locations of the failover segmentation server for obtaining each segments, i.e. content asset value such as filenames of the content segments determined to be identical and they are included in the datafile like playlist in form of the URL by each segmentation server, in this case first or second).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the method of Kazerani in view of Mosko in further view of Sathyanarayana, by teachings of determining an asset value, wherein the asset value indicates whether the representation of the content item at the first computing device is perceptually identical to the representation of the content item located at the second computing device, as taught by Sauer, to automatically switch from one source to another source during failover, as disclosed in Sauer, par. 0001-0006..
Claims 4, 5, and 13 are rejected under U.S.C. 103 as being unpatentable over Kazerani et al. (US 20160080445), in view of Mosko (US 20150288754), in further view of Sathyanarayana et al. (US 20190036986), in further view of Giladi et al. (US 20140019587).
Regarding claim 4, the method of claim 1,
Kazerani in view of Mosko in further view of Sathyanarayana does not disclose, wherein the continuity element comprises an Extensible Markup Language (XML) element.
Giladi discloses, wherein the continuity element comprises an Extensible Markup Language (XML) element (par. 0044 discloses failover URL in MPD file which is in XML format, par. 0028 discloses MPD may be created using XML).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the method of Kazerani in view of Mosko in further view of Sathyanarayana, by teachings of the continuity element comprises an XML element, as taught by Giladi, for employing HTTP based dynamic adaptive steaming protocol for transmitting media content to client, as disclosed in Giladi, par. 0004.
Regarding claim 5, the method of claim 1,
Kazerani in view of Mosko in further view of Sathyanarayana does not disclose, wherein the data file comprises a media presentation description (MPD) file.
Giladi discloses, wherein the data file comprises a media presentation description (MPD) file (par. 0006, 0023 discloses MPD file is created by HTTP server with URL allowing DASH client to locate data segment).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the method of Kazerani in view of Mosko in further view of Sathyanarayana, by teachings of data file comprising MPD file, as taught by Giladi, for employing HTTP based dynamic adaptive steaming protocol for transmitting media content to client, as disclosed in Giladi, par. 0004.
Regarding claim 13. The method of claim 11,
Kazerani in view of Mosko in further view of Sathyanarayana does not disclose, wherein the first data file comprises a media presentation description (MPD) file.
Giladi discloses, wherein the first data file comprises a media presentation description (MPD) file (par. 0006, 0023 discloses MPD file is created by HTTP server with URL allowing DASH client to locate data segment).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the method of Kazerani in view of Mosko in further view of Sathyanarayana, by teachings of data file comprising MPD file, as taught by Giladi, for employing HTTP based dynamic adaptive steaming protocol for transmitting media content to client, as disclosed in Giladi, par. 0004.
Claim 21 is rejected under U.S.C. 103 as being unpatentable over Kazerani et al. (US 20160080445), in view of Mosko (US 20150288754), in further view of Sathyanarayana et al. (US 20190036986), in further view of Vincent et al. (US 20200162536).
Regarding claim 21, The method of claim 17,
Kazerani in view of Mosko in further view of Sathyanarayana does not disclose, wherein sending the request for the content item comprises sending the second request for the content item at a time point in the content item corresponding to a time point of the content item output by the first computing device at a time of the failure.
Vincent discloses, wherein sending the request for the content item comprises sending the second request for the content item at a time point in the content item corresponding to a time point of the content item output by the first computing device at a time of the failure (Par. 0096, receiver playback content transmitted by radio stream (i.e. from the source), event takes place that interrupts the playback and triggers, in the receiver, the storage of the precise instant of the interruption. A little later, the user introduces a new “Play” command to resume the playback, and the receiver then sends a request containing the precise instant of the interruption of this content to the audio content access adaptation server. The server then computes the URL that enables pointing, in the circular buffer, to the data frame of the content that follows the instant of the interruption and sends this URL to the receiver. This receiver then asks the server providing the content to send it back the frame identified by the URL transmitted, i.e. request content after first failure to receive, by requesting content from instant (i.e. time point in stream) when time at which output from initial source was stopped from receiving by receiver).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the method of Kazerani in view of Mosko in further view of Sathyanarayana, by teachings of sending the second request for the content item at the time point in the content item corresponding to a time point of the content item output by the first computing device at the time of failure, as taught by Vincent, to a precise method for enabling retrieval of the exact instant of the content at the instant of the interruption, as disclosed in Vincent, par. 0012.
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to AKSHAY DOSHI whose telephone number is (571)272-2736. The examiner can normally be reached M-F 9:30 AM to 6:00 PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, JOHN W MILLER can be reached at (571)272-7353. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/A.D./Examiner, Art Unit 2422
/JOHN W MILLER/Supervisory Patent Examiner, Art Unit 2422