DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Objections
Claims 1, 8 and 9 are objected to because of the following informalities: the abbreviations of network protocols TCP and UCP are explained before using the acronym. Dependent claims 2-7 and 10 are objected to for possessing the same informalities. Appropriate correction is required.
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, 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.
Claim(s) 1-2, 4, 7-9 is/are rejected under 35 U.S.C. 103 as being unpatentable over Friedrich, US 20190319991 A1 (hereafter referred to as Freidrich) in view of Ponec et al., US 20140059168 A1 (hereafter referred to Ponec).
Claim 1, Freidrich teaches a method for streaming data accessing (abstract), comprising:
transmitting a TCP request for streaming data (p. 28, “When the client device 130 now sends a request for content to the first edge server 110, the request will include a URL for the next content packets to be sent, … The request will also comprise its socket 5-tuple of origin, which includes a set of five different values that comprise a Transmission Control Protocol/Internet Protocol (TCP/IP) connection, as is known in the art.” p. 32, “… the edge server (corresponding to edge server 110) redirects the client device 130 to the Traffic Router 170 … ”);
obtaining a TCP response containing an identification key (p. 32, “… the edge server (corresponding to edge server 110) redirects the client device 130 to the Traffic Router 170 … ” And p. 34, “A response of the traffic router 170 may then be sent via proxy directly to the client device 130 …” See also p. 48, “At step 680, the traffic router 170 sends an HTTP 302 redirection (or other protocol-appropriate redirection, as described above) to the client device 130 directing the client device 130 to send future requests for content to the second edge server 120.” The redirection information includes enough to provide identity and location information to access the second edge server similar to the destination information of the tuple, p. 28, “The 5-tuple includes a source IP address and port number, destination IP address and port number and identify a protocol to use when processing the request.”);
transmitting a UDP request for the streaming data to a space addressable by the identification key (p. 48, “At step 690, the client device 130 establishes communications with the second edge server 120, and requests the packets of streaming content.” The identity and address of the second edge server 120 is the identification key. And p. 16, “… “the request to access the URL may be sent using the Real-Time Transport Protocol (RTP) (also a UDP protocol).” Teaching capability of accessing the streaming data using UDP protocol.); and
obtaining the streaming data (p. 48, “At step 695, the second edge server 120 responds to the request by providing the packets of streaming content.”).
Freidrich does a UDP request in the same embodiment. However, in the field of endeavor, Ponec teaches transmitting a UDP request for the streaming data (p. 11, “In the response headers, the client finds information on how to connect to the same server over UDP protocol (or also other extra alternate server references.” “Once this information is received from the server, the client initiates a UDP connection by sending a SYN UDP packet to the server based on the information provided in the HTTP response headers (IP address, UDP port number, other port number, etc.).” The identification key in this instance is “IP address, UDP port number, other port number, etc.”). It would have been obvious to one of ordinary skill in the art to modify Freidrich to substitute a UDP request from Ponec for the UDP request from Freidrich as an equivalent mechanism. The motivation would have been to use UDP as a known video delivery transfer protocol and leverage the significant improvement of delivery of video over a hybrid HTTP/UDP delivery protocol.
Claim 2, Freidrich-Ponec teaches the method according to claim 1, wherein the TCP request is transmitted to a load balancer (Freidrich, p. 34, “the first edge server 110 may make a redirection request to the traffic router 170 on behalf of the client device 130…” And p. 28, “The request will also comprise its socket 5-tuple of origin, which includes a set of five different values that comprise a Transmission Control Protocol/Internet Protocol (TCP/IP) connection, as is known in the art.” The redirected request to the load balancer of similar form.).
Claim 4, Freidrich-Ponec teaches the method according to claim 1, wherein the UDP request is transmitted directly to the space addressable by the identification key (Ponec, p. 11, “Once this information is received from the server, the client initiates a UDP connection by sending a SYN UDP packet to the server based on the information provided in the HTTP response headers (IP address, UDP port number, other port number, etc.).”).
Claim 7, Freidrich-Ponec teaches the method according to claim 1, wherein the identification key includes IP information, node information, pod information or port information (Freidrich, p. 28, “The 5-tuple includes a source IP address and port number, destination IP address and port number and identify a protocol to use when processing the request.”).
Claim 8, Freidrich teaches a system for streaming data accessing, comprising one or a plurality of processors, wherein the one or plurality of processors execute a machine-readable instruction (p. 38, “The exemplary device 400 is suitable for implementing the systems, methods or processes described above. The exemplary device 400 comprises one or more processors, such as processor(s) 401, providing an execution platform for executing machine readable instructions such as software.“) to perform:
transmitting a TCP request for streaming data (p. 28, “When the client device 130 now sends a request for content to the first edge server 110, the request will include a URL for the next content packets to be sent, … The request will also comprise its socket 5-tuple of origin, which includes a set of five different values that comprise a Transmission Control Protocol/Internet Protocol (TCP/IP) connection, as is known in the art.” p. 32, “… the edge server (corresponding to edge server 110) redirects the client device 130 to the Traffic Router 170 … ”);
obtaining a TCP response containing an identification key (p. 32, “… the edge server (corresponding to edge server 110) redirects the client device 130 to the Traffic Router 170 … ” And p. 34, “A response of the traffic router 170 may then be sent via proxy directly to the client device 130 …” See also p. 48, “At step 680, the traffic router 170 sends an HTTP 302 redirection (or other protocol-appropriate redirection, as described above) to the client device 130 directing the client device 130 to send future requests for content to the second edge server 120.” The redirection information includes enough to provide identity and location information to access the second edge server similar to the destination information of the tuple, p. 28, “The 5-tuple includes a source IP address and port number, destination IP address and port number and identify a protocol to use when processing the request.”);
transmitting a UDP request for the streaming data to a space addressable by the identification key (p. 48, “At step 690, the client device 130 establishes communications with the second edge server 120, and requests the packets of streaming content.” The identity and address of the second edge server 120 is the identification key. And p. 16, “… “the request to access the URL may be sent using the Real-Time Transport Protocol (RTP) (also a UDP protocol).” Teaching capability of accessing the streaming data using UDP protocol.); and
obtaining the streaming data (p. 48, “At step 695, the second edge server 120 responds to the request by providing the packets of streaming content.”).
Freidrich does a UDP request in the same embodiment. However, in the field of endeavor, Ponec teaches transmitting a UDP request for the streaming data (p. 11, “In the response headers, the client finds information on how to connect to the same server over UDP protocol (or also other extra alternate server references.” “Once this information is received from the server, the client initiates a UDP connection by sending a SYN UDP packet to the server based on the information provided in the HTTP response headers (IP address, UDP port number, other port number, etc.).” The identification key in this instance is “IP address, UDP port number, other port number, etc.”). It would have been obvious to one of ordinary skill in the art to modify Freidrich to substitute a UDP request from Ponec for the UDP request from Freidrich as an equivalent mechanism. The motivation would have been to use UDP as a known video delivery transfer protocol and leverage the significant improvement of delivery of video over a hybrid HTTP/UDP delivery protocol.
Claim 9 comprises steps similar to the steps of claim 1 above. Claim 9 is rejected on a similar rationale as claim 1 above. Freidrich-Ponec teaches obtaining, at a space addressable by the identification key (Ponec, p. 11, “In the response headers, the client finds information on how to connect to the same server over UDP protocol (or also other extra alternate server references, e.g., for multi-source content acquisition).”), a UDP request for the streaming data (Ponec, p. 11, “This information typically includes an IP address, a UDP port number, optionally some other special port number (to identify which flow the communication belongs to, because there may be many such connections on the same server's UDP port), version, and token T. Once this information is received from the server, the client initiates a UDP connection by sending a SYN UDP packet to the server based on the information provided in the HTTP response headers (IP address, UDP port number, other port number, etc.).”). It would have been obvious to one of ordinary skill in the art to modify Freidrich to substitute a UDP request from Ponec for the UDP request from Freidrich as an equivalent mechanism. The motivation would have been to use UDP as a known video delivery transfer protocol and leverage the significant improvement of delivery of video over a hybrid HTTP/UDP delivery protocol.
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, 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.
Claim(s) 3 is/are rejected under 35 U.S.C. 103 as being unpatentable over Freidrich and Ponec as applied to claim 1 above further in view of Previdi et al., US 20070208874 A1 (hereafter referred to as Previdi).
Claim 3, Freidrich-Ponec teaches the method according to claim 2, further comprising directing the TCP request, by the load balancer, to the space addressable by the identification key (Freidrich, p. 34, “A response of the traffic router 170 may then be sent via proxy directly to the client device 130 …” And Previdi, p. 58, “If so configured, in this instance, the application client may re-send the request 400 to the corresponding application server, i.e., with the selected application server address in destination address field 414.”). Freidrich-Ponec does not specifically detail the structure of an identification key. However, in the same field of endeavor, Previdi teaches obtaining a TCP response containing an identification key (p. 58, “the client router may reply to the application client with the corresponding server ID, … If so configured, in this instance, the application client may re-send the request 400 to the corresponding application server, i.e., with the selected application server address in destination address field 414.”). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Freidrich-Ponec to incorporate Previdi’s returned server id and address for the information to resend the request from Freidrich-Ponec to inform the application client of the corresponding updated server destination to enable the client to resend to future requests.
Claim(s) 5-6 and 10 is/are rejected under 35 U.S.C. 103 as being unpatentable over Freidrich and Ponec as applied to claim 1 above, and further in view of Inamdar et al., US 20200112487 A1 (hereafter referred to as Inamdar).
Claim 5, Freidrich-Ponec teaches the method according to claim 1, as cited above. Freidrich-Ponec does not specifically teach wherein the space corresponds to a pod in a Kubernetes cluster. However, in the same field of endeavor, Inamdar teaches wherein the space corresponds to a pod in a Kubernetes cluster (p. 60, “Each container pod of the edge proxy service 402 can comprise …. one or more application containers (e.g., the containers 228 of FIG. 2 or the containers 328 of FIG. 3), including one or more Session Initiation Protocol (SIP) application containers … for initiating, maintaining, modifying, and terminating real-time sessions related to video, … a network (e.g., an IP network).” The IP address is the destination container. And p. 37, “… the container orchestrator platform 200 can correspond to the Kubernetes® (K8s) system from the Cloud Native Computing Foundation®.”). It would have been obvious to one ordinary skill in the art before the effective filing date of the claimed invention to modify Freidrich-Ponec to incorporate space corresponding to a pod in a Kubernetes cluster from Inamdar to improve effectiveness for adaptations for implementing virtual services for providing streaming and thereby expand industrial applications.
Claim 6, Freidrich-Ponec-Inamdar teaches the method according to claim 5, further comprising creating the identification key for the space, wherein the identification key is configured to be utilized by a user terminal outside the Kubernetes cluster to access the space (Inamdar, p. 60, “Each container pod of the edge proxy service 402 can comprise …. one or more application containers … including one or more Session Initiation Protocol (SIP) application containers. SIP is a signaling protocol used for initiating, maintaining, modifying, and terminating real-time sessions related to video, voice, messaging, and other communications applications and services between two or more endpoints in a network (e.g., an IP network).” The destination IP address corresponds to the destination endpoint.).
Claim 10, Freidrich-Ponec teaches the method according to claim 9, further comprising creating the identification key for the space as cited above. Freidrich-Ponec does not specifically teach wherein the space corresponds to a pod in a Kubernetes cluster, and the identification key is configured to be utilized by a user terminal outside the Kubernetes cluster to access the space. However, in the same field of endeavor, Inamdar teaches the space corresponds to a pod in a Kubernetes cluster (p. 37, “the container orchestrator platform 200 can correspond to the Kubernetes® (K8s) system from the Cloud Native Computing Foundation®”), and the identification key is configured to be utilized by a user terminal outside the Kubernetes cluster to access the space (p. 60, “Each container pod of the edge proxy service 402 can comprise …. one or more application containers … including one or more Session Initiation Protocol (SIP) application containers. SIP is a signaling protocol used for initiating, maintaining, modifying, and terminating real-time sessions related to video, voice, messaging, and other communications applications and services between two or more endpoints in a network (e.g., an IP network).” The destination IP address corresponds to the destination endpoint.). It would have been obvious to one ordinary skill in the art before the effective filing date of the claimed invention to modify Freidrich-Ponec to incorporate space corresponding to a pod in a Kubernetes cluster from Inamdar to improve effectiveness for adaptations for implementing virtual services for providing streaming and thereby expand industrial applications.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Merwaday et al., US 20220038554 A1, teaches each edge node 1422, 1424 may implement the use of containers, such as with the use of a container “pod” 1426, 1428 providing a group of one or more containers. Edge Node enrollment is supported using K8s cluster join.
Jacobs et al., US 20220092208 A1, teaches mobile device 102A can place and receive phone calls (e.g., using VoIP protocols) and retrieve electronic documents and/or streams, such as web pages, photographs, and videos, over the wireless network 112, gateway 116, and wide area network 114 (e.g., using TCP/IP or UDP protocols).
Park et al., US 20200106778 A1, teaches the content router 302 may provide load balancing functionality by distributing incoming requests to different CDN computing devices 301. The user device 303 may be a tablet computer running an Internet browser following the Hypertext Transfer Protocol (HTTP), and may be used to access a video streaming website and request a streaming session of a particular movie. The user device 303 may be a tablet computer running an Internet browser following the Hypertext Transfer Protocol (HTTP), and may be used to access a video streaming website and request a streaming session of a particular movie.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to PATRICE L WINDER whose telephone number is (571)272-3935. The examiner can normally be reached M-F 10am-6pm.
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, KAMAL B DIVECHA can be reached at (571)272-5863. 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.
/Patrice L Winder/Primary Examiner, Art Unit 2453