WO2023144841A1 - Method & system for offline casting - Google Patents

Method & system for offline casting Download PDF

Info

Publication number
WO2023144841A1
WO2023144841A1 PCT/IN2023/050082 IN2023050082W WO2023144841A1 WO 2023144841 A1 WO2023144841 A1 WO 2023144841A1 IN 2023050082 W IN2023050082 W IN 2023050082W WO 2023144841 A1 WO2023144841 A1 WO 2023144841A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
server
file
protocol
data file
Prior art date
Application number
PCT/IN2023/050082
Other languages
French (fr)
Inventor
Abhisek CHAKRABORTY
Vikash Kumar
Original Assignee
Hurrey Tech Ventures Private Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hurrey Tech Ventures Private Limited filed Critical Hurrey Tech Ventures Private Limited
Publication of WO2023144841A1 publication Critical patent/WO2023144841A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment

Definitions

  • Embodiments of the present invention relates information technology and computer applications. More particularly, the present application relates to methods, and systems for casting content between devices.
  • Variousembodiments of present invention disclose varioussystems, components, and methods related to communicating streaming data between devices.
  • the present methods and system disclose steps for casting content between two devices. Aspects of the present application address the above-referenced matters, and others.
  • the present methods and systems are using a streaming protocol such as RTSP to aid network communications.
  • the object of the present invention relates to system, and methods for communicating streaming data to provide casting content securely.
  • the method for communicating streaming data to provide casting content includes thesteps of communicating a requestto a server via at least one client device to process the streaming data in a first protocol, processing by the server of an Internet of Things (loT) device a data file received via first protocol to retrieve at least one data parameter selected from a presentation description file, encoding, language, RTSP URLs, destination address, port, and other parameters, creating a message based on received data file information and generating a hash of the received data file information by the server includes applying a hash function to electronic data of the data file, allowing verification of a valid client based on decoding hash value, authenticating incoming request of data file and returning response of the authentication to the client device in the first protocol, obtaining by the loT device the received data file via a high- definition multimedia interface (HDMI) output interface, and displaying the request in a connected display device and communicating data file to be displayed on the connected display device via a high-definition multimedia interface (HDMI) in
  • HDMI high- definition multimedia interface
  • the data file includes a data file having a data form selected from a plurality of data forms comprising audiodata, video data, image data, and documentdata.
  • the first protocol is configured to cast specific content on Ul of the connected display device without compromising with user privacy.
  • the method furtherincludes the steps of: each of said at least one client device communicating an option command in said first protocol to said server, or said server communicating said option command in said first protocol to said client device to accept streaming of data via said data file; each of said at least one client device communicating a describe command in said first protocol to said server, and said clientdevice retrieves description of a presentation or media object identified bya request URLfrom said server; each of said at least oneclientdevice communicating an announce command in said first protocol to said server, said server initiating communication of said real-time streaming data that description of said presentation or media object identified by said request URL to said server has been posted; each of said at least one client device communicating a setup command in said first protocol to said server, said server allocate resources for said real-time streaming data and start an RTSP session; each of said at least one client device communicating a play command in said first protocol to said server and said server initiating communication of said real-time streaming data on a stream allocated via setup command to said each client device in response to said play command;
  • a system for communicating streaming data to provide casting content includes a client device configured to communicate a request to a server to process said streaming data via a first protocol and said request displayed on user interface of a connected display device.
  • the client device includes multiple modules; a database to store data file; and a processing unit coupled to said database for processing the multiple modules.
  • the multiple modules includes a command module for providing navigation commands to said server of an I n tern et of Things (loT) device via WiFi channel to operate navigation of data file; a data file application moduleallows client device users to select one data file application from multiple types of data file; a video management module configured to allow said client device users to input video content data to create a transferable data file to be communicated via said first protocol to said server, wherein video content is stored in said database; and said connected display device to display processed multiple modules and said streamed data is displayed on user interface of the connected display device.
  • a command module for providing navigation commands to said server of an I n tern et of Things (loT) device via WiFi channel to operate navigation of data file
  • a data file application module allows client device users to select one data file application from multiple types of data file
  • a video management module configured to allow said client device users to input video content data to create a transferable data file to be communicated via said first protocol to said server, wherein video content is stored in said database
  • the server of the Internet of Things (loT) device includes a creation module creating a message based on the received data file information and generating a hash of the received data file information; and a verification module allowing verification of a valid client based on decoding hash value.
  • generating a the high-definition multimedia interface (HDMI) input interface of the connected display device obtain data file from the loT device.
  • HDMI high-definition multimedia interface
  • the data file includes a data file having a data form selected from a plurality of data forms comprising audiodata, video data, image data, and documentdata.
  • the first protocol is configured to cast specific content on Ul of the connected display device without compromising with user privacy.
  • the method furtherincludes the steps of: each of said at least one client device communicating an option command in said first protocol to said server, or said server communicating said option command in said first protocol to said client device to accept streaming of data via said data file; each of said at least one client device communicating a describe command in said first protocol to said server, and said clientdevice retrieves description of a presentation or media object identified bya request URLfrom said server; each of said at least oneclientdevice communicating an announce command in said first protocol to said server, said server initiating communication of said real-time streaming data that description of said presentation or media object identified by said request URL to said server has been posted; each of said at least one client device communicating a setup command in said first protocol to said server, said server allocate resources for said real-time streaming data and start an RTSP session; each of said at least one client device communicating a play command in said first protocol to said server and said server initiating communication of said real-time streaming data on a stream allocated via setup command to said each client device in response to said play command;
  • a system for communicating streaming data to provide casting content includes a client device configured to communicate a request to a server to process said streaming data via a first protocol and said request displayed on user interface of a connected display device.
  • the client device includes multiple modules; a database to store data file; and a processing unit coupled to said database for processing the multiple modules.
  • the multiple modules includes a command module for providing navigation commands to said server of an I n tern et of Things (loT) device via WiFi channel to operate navigation of data file; a data file application moduleallows client device users to select one data file application from multiple types of data file; a video management module configured to allow said client device users to input video content data to create a transferable data file to be communicated via said first protocol to said server, wherein video content is stored in said database; and said connected display device to display processed multiple modules and said streamed data is displayed on user interface of the connected display device.
  • a command module for providing navigation commands to said server of an I n tern et of Things (loT) device via WiFi channel to operate navigation of data file
  • a data file application module allows client device users to select one data file application from multiple types of data file
  • a video management module configured to allow said client device users to input video content data to create a transferable data file to be communicated via said first protocol to said server, wherein video content is stored in said database
  • the server of the Internet of Things (loT) device includes a creation module creating a message based on the received data file information and generating a hash of the received data file information; and a verification module allowing verification of a valid client based on decoding hash value.
  • generating a hash of the received data file information includes applying a hash function to electronic data of the data file.
  • the first protocol includes RTSP
  • the request is a RTSP setup request.
  • FIG. 1 is a flow diagram of the present method, according to one embodiment of the present disclosure
  • FIG. 2 is a flow chart of the present method, according to another embodiment of the present disclosure.
  • FIG. 3 is a block system architectureof the presentsystem, accordingto oneembodiment of the present disclosure.
  • FIG. 4 is an exemplary clientdevice block diagram, according to one embodiment of the present disclosure.
  • a method of the present invention may be carried out by oneor more user's using computers, and a program productof the invention may include computer executable instructions that when executed by one or more computers cause one or more computers to carry out a method of the invention.
  • a program product of the invention may include computer code that resides on both a server and a clientcomputer/ client computing device, and causes both of the server and clientcomputers to carry outvariousactions.
  • one ormore computer(s) that contains a program product of the invention may embody a system of the invention.
  • FIG. 3 is a block system architecture of the present system 300, according to one embodiment of the present disclosure.
  • the present system 300 for communicating streaming data to provide casting content includes a client device 305, an Internet of Things (loT) device 329 and a connected display device 365 to display streamed data.
  • the network communications between the client device 305 and the Internet of Things (loT) device 329 is aided using a streaming protocol such as Real Time Streaming Protocol (“RTSP”).
  • RTSP Real Time Streaming Protocol
  • RTSP Real Time Streaming Protocol
  • RTSP is an application-level standard for facilitating incoming streaming data through the loT device.
  • RTSP is also known as the “Internet VCR remote control” protocol.
  • the client device 305 is configured to communicate a request to a server 330 of the Internet of Things (loT) device 329 to process the streaming data via a first protocol. Subsequently, the request is displayed on user interface of the connected display device 365. Moreover, the connected display device 365 display processed data from the multiple modules.
  • the server 330 may be configured to store and manage information associated with content streaming.
  • the server 330 may include processor(s), a memory, and a communication interface, which are coupled together by a bus or other communication link, although other numbers and/or types of network devices could be used.
  • the client device 305 includes a plurality of modules, a database 325 to store data file and a processing unit 402 coupled to the database 325 for processing the multiple modules.
  • the multiple modules include a command module 310, a data file application module 315 and a video management module 320.
  • the command module 310 (FIG. 3) provide navigation commands to the server 330 of the Internet of Things (loT) device 329 via the WiFi channel 318 to operate navigation of the data file.
  • the data file application module 315 allows client device users to select one data file application from multiple types of data file.
  • the data file includes a data file having a data form selected from a plurality of data forms including audio data, video data, image data, document data, portable document format (PDF), multimedia, docx, doc, jpeg, html, mp4, whiteboard and art.
  • PDF portable document format
  • the video management module 320 is configured to allow the client device users to input video content data to create a transferable data file to be communicated via the first protocol to the server 330.
  • the video content is stored in the database 325.
  • the server 330 of the Internet of Things (loT) device 329 includes a creation module 335, a verification module 340, a compute module 350, a viewer database 345, a PDF viewer module 355, an image viewer module 360, a whiteboard module (not shown) and a html viewer module 362.
  • the loT device 329 authenticatethe incoming requestusing any Hash function using which data is scrambled deterministically, can accept input of any length and output a fixed-length result.
  • the creation module 335 creates a message based on the received data file information via the WiFi channel 318 and generate a hash of the received data file information.
  • generating a hash of the received data file information includes applying a hash function to electronic data of the data file.
  • the verification module 340 is configured to allow verification of a valid clientbased on decoding hash value.
  • the hash operation may be SHA-256 algorithms.
  • the SHA- 256 which is a part of Secure Hash Algorithm is used to hash the keys in incoming request which is verified by the verification module 340 of the loT device 329 to determine its authenticity and the response is returned to the client device 305 after processing th e hash.
  • the first protocol includes RTSP.
  • the request is a RTSP setup request.
  • the present invention utilizes the RTSP protocol in combination with other steps to connecta userand display data through the connected display device 365.
  • the viewer database 345 is configured to store data sets selected from a Portable Document Format (PDF) format file, an image file, a html file, a whiteboard file and a video file.
  • PDF Portable Document Format
  • the PDF viewer module 355 is configured to retrieve a Portable Document Format (PDF) format file from the viewer database 345 and display on Ul of the connected display device 365 via HDMI streaming.
  • PDF Portable Document Format
  • the image viewermodule 360 is configured to retrieve image file from the viewer database 345 and display on Ul of the connected display device 365 via the HDMI streaming.
  • the html viewer module 362 is configured to retrieve a html file from the viewer database 345 and display on Ul of the connected display device 365 via the HDMI streaming.
  • a display unit (not shown) of the connected display device 365 is configured to display, on the screen the data file processed by the server 330 of the loT device 329.
  • the compute module 350 is configured to render at least one page of the document data, process incoming image file stream that have options to change colour, tint, brightness and the like, and process casting any html file to the browserand providing option and allowing userto scroll up and scroll down the html file on the connecteddisplay device 365.
  • the circuitry and additional components may support dual band WiFi (e.g., 2.4G and 5G).
  • server(s) 330, client device(s) 305, connected display device(s) 365, and/or components may be operatively linked via some other communication methods.
  • the connected display device(s) 365 can include, but is not limited to, a projector, a CRT, a television, a smart tv, LCDs, Plasma Displays, screen monitor or any other electronic device that is operable to display information.
  • the connected display device 365 is separate from the loT device 329.
  • the present system 300 may include a userinterface module to implement a GUI on the connected display device that may be stored in a mass storage device as executable software codes that are executed by the loT device(s).
  • This and other modules may include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
  • the word “component,” “system,” “database,” and the like, as used herein, can referto logic embodied in hardware or firmware, or to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, forexample, Java, C or C++.
  • a software component may be compiled and linked into an executable program, installed in a dynamic link library, or may be written in an interpreted programming language such as, for example, BASIC, Perl, or Python. It will be appreciated th at software components may be callablefrom other componentsor from themselves, and/or may be invoked in response to detected events or interrupts.
  • Software components configured for execution on computing devices may be provided on a computer readable medium, such as a compact disc, digital video disc, flash drive, magnetic disc, or any other tangible medium, or as a digital download (and may be originally stored in a compressed or installable format that requires installation, decompression or decryption prior to execution).
  • a computer readable medium such as a compact disc, digital video disc, flash drive, magnetic disc, or any other tangible medium, or as a digital download (and may be originally stored in a compressed or installable format that requires installation, decompression or decryption prior to execution).
  • Such software code may be stored, partially or fully, on a memory device of the executing computing device, forexecution by the computing device.
  • Software instructions may be embedded in firmware, such as an EPROM.
  • hardware components may be comprised of connected logic units, such as gates and flip-flops, and/or may be comprised of programmable units, such as programmable gate arrays or processors.
  • FIG. 4 is an exemplary client device 305 block diagram 400, according to one embodiment of the present disclosure.
  • the client device 305 includes, as non -limiting examples, any device capable of processing instructions and transmitting data to and from other computers, including a laptop, a full-sized personal computer, or a network computer lacking local storage capability.
  • the client device 305 can include all the components normally used in connection with a computer. For example, it can have a keyboard and mouse and/or various other types of input devices, such as pen-inputs, joysticks, buttons, touch screens, etc.
  • the client device 305 can also comprise an interface device 410 to communicate with other devices over a network.
  • the client device 305 can be a mobile device that includes, but is not limited to, a smart phone or tablet PC and the like.
  • the client device 305 can include all the components normally used in connection with mobile devices.
  • the client device 305 can have a touch screen display, a physical keyboard, a virtual touch screen keyboard, a camera, a speaker, a global positioning system, a microphone, and/ora transceiverfor transmitting long range and/or short-range wireless signals.
  • the client device 305 can also contain at least one processor 402 that can be arranged as different processing cores. For ease of illustration, one processor 402 is shown in FIG. 4, but it is understood that multiple processors can be employed simultaneously.
  • the processor 402 can be any numberof known processors, including, for example, as processors from Intel® Corporation. In another example, processor 402 can be an application specific integrated circuit (“ASIC”).
  • ASIC application specific integrated circuit
  • Processor 402 can be implemented as a hardware processor, a digital signal processor (“DSP”), an ASIC, a field programmable gate array (“FPGA”) or other programmable logic devices, a discrete gate or transistor logic device, a discrete hardware component, or any suitable combination of processing circuitry for executing the functions described in the present princi ples.
  • the processor 402 can also be implemented as a combination of computation devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in communication with the DSP or any other such configuration.
  • the described devices can include processing circuits, processors, FPGAs or ASICs, each of which can be in combination with software for execution.
  • a memory 404 can store information accessible by the processor 402, including instructions and/ordata.
  • the memory 404 can be any type of memory capable of storing information accessible by the processor 402 including, but not limited to, a memory card, read only memory (“ROM”), randomaccess memory (“RAM”), DVD, or other optical disks, as well as otherwrite-capable and read-only memories.
  • the client device 305 can include different combinations of the foregoing, whereby different portions of the instructions and data are stored on different types of media.
  • the memory 404 can be a n on-transitory computer readable medium that can include any computerreadable media with the exception of a transitory, propagating signal.
  • non -transitory computer readable media can include one of many physical media such as, for example, electronic, magnetic, optical, electromagnetic, and/or semiconductor media. More specific examples of suitable non- transitory computer-readable media include, but are not limited to, a portable magnetic computer diskette such as floppy diskettes or hard drives, an erasable programmable read-only memory, a portable compact disc or other storage devices that can be coupled to clientdevice 305 directly or indirectly.
  • the non -transitory computerreadable media can also include any combination of one or more of the foregoing and/or other devices as well. While only one memory is shown in FIG. 4, the client device 305 can actually comprise additional memories that can or cannot be stored within the same physical housing orlocation.
  • An interface device 410 can include hardware components (e.g., chipsets, controllers, antennas, etc.) and/or software that allow the client device 305 to transmit, and/or receive data.
  • the in terface device 110 can support one or more network interfaces including, but not limited to, Wi-Fi, worldwide interoperability for microwave access (“WiMAX”), 3rd generation mobile telecommunications (“3G”), code division multiple access (“CDMA”), Ethernet, special protocols proprietary to one or more companies, and various combinations of the foregoing.
  • An access controller408 can include processing circuitry for executing access controller functions described further below and an access controller 406 can be a software implementation of the access controller 408 which includes processing circuitry.
  • the access controller 406 can be implemented in the form of hardware and software combined and th at the examples herein are merely illustrative.
  • the access controller 406 can be encoded in any set of software instructions that are executable directly (such as machine code) or indirectly (such as scripts) by a processor.
  • the computer executable instructions can be stored in any computer language orformat, such as in object code or modules of source code.
  • FIG. 1 is a flow diagram of the present method 100, according to one embodiment of the present disclosure.
  • the method 100 starts at step 105 and proceeds to step 110.
  • the request to the server 330 is communicated via one or more clientdevices 305 to process the streaming data in the first protocol.
  • the method 100 proceeds to step 110.
  • the one or more client devices 305 issues a request in RTSP to the server 330.
  • the server 330 of the Internet of Things (loT) device 329 process the data file received by RTSP to retrieve at least one data parameter selected from a presentation description file, encoding, language, RTSP URLs, destination address, port, and other parameters.
  • the method 100 further proceeds to step 115.
  • LoT Internet of Things
  • the server 330 is configured to create a message based on received data file information.
  • a typical RTSP transaction includes initializing, playing/recording, and deinitializing one or more related streams.
  • Initialization consists of a “SETUP” request/response, which includes the specification of transport details of the associated stored stream. Included in these details are the protocol type and the client and server ports to be used. These details provide the information necessary to implement an application level gateway for RTSP.
  • each of the one or more clientdevice 305 communicates an option command in the first protocol to the server 330. Otherwise, the server 330 communicates the option command in the first protocol to the client device 305 to accept streaming of data via the data file.
  • each of the one or more clientdevice 305 communicates a describe command in the first protocol to the server 330, and the client device 305 retrieves description of a presentation or media object identified by a request URL from the server 330.
  • each of the one or more client devices 305 communicates an announce command in the first protocol to the server330.
  • the description of the presentation or media object is identified by the request URL is communicated to the server 330.
  • the announce command in the first protocol is communicated by the server 330 to the client device 305
  • the session description of the presentation or media object identified by the request URL is updated in real-time.
  • the navigation commands are provided to the server 330 of the Intern et of Things (loT) device 329 via WiFi channel to operate navigation of the data file.
  • the method 100 proceeds to step 115.
  • the server 330 is configured to apply a hash function to electronic data of the data file and generate a hash.
  • the applied hash function is SHA256 to hash the keys in incoming request.
  • the creation module 335 of the server 330 creates the message based on the received data file information and generates a hash of the received data file information.
  • the method 100 proceeds to step 120.
  • the verification module 340 of the server 330 allows verification of a valid client based on decoding hash value to determine the authenticity and the response is returned to the client device 305 after the processing via the first protocol.
  • the method 100 proceeds to step 125.
  • the server 330 authenticates incoming request of data file and returns response of the authentication to the client device 305 in the first protocol.
  • each of the one or more clientdevices 305 communicates a setup command in the first protocol to the server 330.
  • the server 330 allocate resources for the real-time streaming data and start an RTSP session.
  • each of the one or more clientdevices 305 communicates a play command in the first protocol to the server 330.
  • the server 330 initiates communication of the real-time streaming data on a stream allocated via the setup command to the clientdevice 305 in response to the play comman d.
  • each of the one or more client devices 305 communicates a teardown command in the first protocol to the server 330.
  • the loT device 329 thereby stopping streaming of data being communicated from the client device 305 following reception of the teardown command and freeing all resources associated with streaming of data.
  • each of the one or more client devices 305 communicates a pause command in the first protocol to the server 330 and the client device 305 initiatestemporarily halt in streaming of data withoutfreeing anyresourcefrom the server 330.
  • the method 100 proceeds to step 130.
  • the requested data file is displayed in the connected display device 365.
  • the communicating data file to be displayed on the connected display device 365 via a high-definition multimedia interface (HDMI) in put interface.
  • HDMI high-definition multimedia interface
  • the high-definition multimedia interface (HDMI) input interface of the connected display device 365 obtain data file from the loT device 329 via the high-definition multimedia interface (HDMI) output interface of the loT device 329.
  • HDMI high-definition multimedia interface
  • the HDMI for the connected display device 365 obtains the data file from the loT device connected to the connected display device 365.
  • the data file includes a data file having a data form selected from multiple data forms including audio data, video data, image data, and document data.
  • the first protocol is configured to cast specific content on Ul of the connected display device 365 without compromising with user privacy.
  • the loT device 329 may include any combinations of the components.
  • the components may be implemented as ICs, portions thereof, discrete electronic devices, or other modules, logic, hardware, software, firmware, or a combination thereof adapted in the loT device 329, or as components otherwise incorporated within a chassis of a larger system.
  • the loT device 329 may include a processor, which may be a microprocessor, a multi-core processor, a multithreaded processor, an ultra-low voltage processor, an embedded processor, or other known processing element.
  • the processor may be a part of a system on a chip (SoC) in which the processor an doth er components are formed into a single integrated circuit, or a single package.
  • SoC system on a chip
  • the processor may communicate with a system memory. Any number of memory devices may be used to provide for a given amount of system memory.
  • the memory can be random access memory (RAM) and flashing memory.
  • the flashing memory can be an SD card or eMMC storage.
  • a mass storage may also couple to the processor.
  • the mass storage may be implemented via a solid state disk drive (SSDD).
  • SSDD solid state disk drive
  • HDD micro hard disk drive
  • any number of new technologies may be used for the mass storage in addition to, or instead of, the technologies described, such resistance change memories, phase change memories, holographic memories, or chemical memories, among others.
  • the loT device 329 may incorporate the 3D XPOINT memories from Intel and Micron.
  • the bus may couple the processor to an interface that is used to connect external devices.
  • the external devices may include cameras, sensors, such as flow sensors, temperature sensors, motion sensors, wind speed sensors, pressure sensors, barometric pressure sensors, and the like.
  • FIG. 2 is a flow chart of the presentmethod 200, accordingto anotherembodiment of the present disclosure.
  • the method starts at step 205 and proceeds to step 210.
  • the client communicates data file setup request in the first protocol to the server 330 of the loT device 329 via the client device 305.
  • the method 200 proceeds to step 215.
  • the server 330 is configured to apply a hash function to electronic data of the data file and generate a hash.
  • the applied hash function is SHA256 to hash the keys in incoming request.
  • the creation module 335 of the server 330 creates the message based on the received data file information and generates a hash of the received data file information.
  • the method 200 proceeds to determination step 220.
  • the IOT device 329 authenticates the incoming request using any Hash function using which data is scrambled deterministically, can accept inputof any length and output a fixed-length result. If the determination is “NO”, the method 200 proceeds to step 240.
  • step 225 the valid clientis verified by the module of the server 330 and the response is returned to the client after the processing to the client device 305 via WiFi channel.
  • the method 200 proceeds to step 230.
  • step 230 incoming request of the data file is authenticated and one or more steps of method 100 are followed by the modules of the server 330 of the loT device 329.
  • step 235 specific content is casted on the Ul of the connected display device 365.
  • the RTSP cast the required portion or specific content to the screen be it a video, Image, PDF, whiteboard content or any kind of document.
  • the advantage of the present method is that everything can be casted without compromising with the user privacy. Further, the casting is deployed without the internet.
  • the method 200 proceeds to step 240. At step 240, the method 200 ends.
  • the present invention has many advantages for example, the present technology can cast any kind of content without internet connectivity so if any user cast video, image, PDF etc. only th at specific portion will be casted notwhole screen of userdevice screen.
  • RTSP uses the same concepts as basic HTTP, which makes RTSP easily compatible with existing HTTP networks.
  • the protocol also allows for a great deal of flexibility.
  • RTSP is a control protocol that initiates and directs delivery of streaming multimedia data from media servers. It is the "Internet VCR remote control protocol". Further, the user is free to use the device for any other application while the casting process is ongoing.
  • module does not imply th at the components or functionality described or claimed as part of the module are all configured in a common package. Indeed, any or all of the various components of a module, whethercontrol logic or other components, can be combined in a single package or separately maintained and can furtherbe distributed in multiple groupings orpackages or across multiple locations.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A method for communicating streaming data to provide casting content includes the steps of communicating a request to a server via at least one client device to process the streaming data in a first protocol, processing by the server a data file received via first protocol to retrieve at least one data parameter, creating a message based on received data file information and generating a hash of the received data file information by the server includes applying a hash function to electronic data of the data f ile, allowing verification of a valid client based on decoding hash value, authenticating incoming request of data file and returning response of the authentication to the client device in the first protocol.

Description

Method & System for Offline Casting
BACKGROUND OF THE INVENTION
Field of the Invention
[001] Embodiments of the present invention relates information technology and computer applications. More particularly, the present application relates to methods, and systems for casting content between devices.
Description of the Related Art
[002] With the growth of media streaming cast devices like Chromecast™ and Apple TV™, users can stream data from their wireless mobile devices or the Internet. In using these devices, users are consuming data from various sources on the Internet and on theirwireless mobile devices. Currently, Peer 2 Peervideo casting is not possible without the presence of external server. Moreover, user privacy gets compromised in case of full screen casting. The quality of the display suffers when the connection quality bit rate drops in existing casting technologies in an embedded device connected to a display unit [003] It is been known thatusers are increasingly using wireless mobile devices such as smart phones, tablets, and the like that provide Internet connectivity. Accordingly, there remains a need in the art to develop technologies catering to user privacy while casting contenton display units.
SUMMARY OF THE INVENTION
[004] Variousembodiments of present invention disclose varioussystems, components, and methods related to communicating streaming data between devices. The present methods and system disclose steps for casting content between two devices. Aspects of the present application address the above-referenced matters, and others. The present methods and systems are using a streaming protocol such as RTSP to aid network communications. The object of the present invention relates to system, and methods for communicating streaming data to provide casting content securely.
[005] In one embodiment, the method for communicating streaming data to provide casting contentincludesthesteps of communicating a requestto a server via at least one client device to process the streaming data in a first protocol, processing by the server of an Internet of Things (loT) device a data file received via first protocol to retrieve at least one data parameter selected from a presentation description file, encoding, language, RTSP URLs, destination address, port, and other parameters, creating a message based on received data file information and generating a hash of the received data file information by the server includes applying a hash function to electronic data of the data file, allowing verification of a valid client based on decoding hash value, authenticating incoming request of data file and returning response of the authentication to the client device in the first protocol, obtaining by the loT device the received data file via a high- definition multimedia interface (HDMI) output interface, and displaying the request in a connected display device and communicating data file to be displayed on the connected display device via a high-definition multimedia interface (HDMI) in put interface, wherein the high-definition multimedia interface (HDMI) input interface of the connected display device obtain data file from the loT device.
[006] In yet another embodiment, the data file includes a data file having a data form selected from a plurality of data forms comprising audiodata, video data, image data, and documentdata. Particularly, the first protocol is configured to cast specific content on Ul of the connected display device without compromising with user privacy.
[007] In yet another embodiment, the method furtherincludes the steps of: each of said at least one client device communicating an option command in said first protocol to said server, or said server communicating said option command in said first protocol to said client device to accept streaming of data via said data file; each of said at least one client device communicating a describe command in said first protocol to said server, and said clientdevice retrieves description of a presentation or media object identified bya request URLfrom said server; each of said at least oneclientdevice communicating an announce command in said first protocol to said server, said server initiating communication of said real-time streaming data that description of said presentation or media object identified by said request URL to said server has been posted; each of said at least one client device communicating a setup command in said first protocol to said server, said server allocate resources for said real-time streaming data and start an RTSP session; each of said at least one client device communicating a play command in said first protocol to said server and said server initiating communication of said real-time streaming data on a stream allocated via setup command to said each client device in response to said play command; and each of said at least one client device communicating a teardown command in said first protocol to said server, and, said loT device thereby stopping streaming of data being communicated from said at least one client device following reception of said teardown command and freeing all resources associated with streaming of data. In use, the navigation commands are provided to the server of the Internet of Things (loT) device via WiFi channel to operate navigation of the data file.
[008] In one embodiment, a system for communicating streaming data to provide casting content includes a client device configured to communicate a request to a server to process said streaming data via a first protocol and said request displayed on user interface of a connected display device. Particularly, the client device includes multiple modules; a database to store data file; and a processing unit coupled to said database for processing the multiple modules. The multiple modules includes a command module for providing navigation commands to said server of an I n tern et of Things (loT) device via WiFi channel to operate navigation of data file; a data file application moduleallows client device users to select one data file application from multiple types of data file; a video management module configured to allow said client device users to input video content data to create a transferable data file to be communicated via said first protocol to said server, wherein video content is stored in said database; and said connected display device to display processed multiple modules and said streamed data is displayed on user interface of the connected display device.
[009] In one embodiment, the server of the Internet of Things (loT) device includes a creation module creating a message based on the received data file information and generating a hash of the received data file information; and a verification module allowing verification of a valid client based on decoding hash value. In operation, generating a the high-definition multimedia interface (HDMI) input interface of the connected display device obtain data file from the loT device.
[006] In yet another embodiment, the data file includes a data file having a data form selected from a plurality of data forms comprising audiodata, video data, image data, and documentdata. Particularly, the first protocol is configured to cast specific content on Ul of the connected display device without compromising with user privacy.
[007] In yet another embodiment, the method furtherincludes the steps of: each of said at least one client device communicating an option command in said first protocol to said server, or said server communicating said option command in said first protocol to said client device to accept streaming of data via said data file; each of said at least one client device communicating a describe command in said first protocol to said server, and said clientdevice retrieves description of a presentation or media object identified bya request URLfrom said server; each of said at least oneclientdevice communicating an announce command in said first protocol to said server, said server initiating communication of said real-time streaming data that description of said presentation or media object identified by said request URL to said server has been posted; each of said at least one client device communicating a setup command in said first protocol to said server, said server allocate resources for said real-time streaming data and start an RTSP session; each of said at least one client device communicating a play command in said first protocol to said server and said server initiating communication of said real-time streaming data on a stream allocated via setup command to said each client device in response to said play command; and each of said at least one client device communicating a teardown command in said first protocol to said server, and, said loT device thereby stopping streaming of data being communicated from said at least one client device following reception of said teardown command and freeing all resources associated with streaming of data. In use, the navigation commands are provided to the server of the Internet of Things (loT) device via WiFi channel to operate navigation of the data file.
[008] In one embodiment, a system for communicating streaming data to provide casting content includes a client device configured to communicate a request to a server to process said streaming data via a first protocol and said request displayed on user interface of a connected display device. Particularly, the client device includes multiple modules; a database to store data file; and a processing unit coupled to said database for processing the multiple modules. The multiple modules includes a command module for providing navigation commands to said server of an I n tern et of Things (loT) device via WiFi channel to operate navigation of data file; a data file application moduleallows client device users to select one data file application from multiple types of data file; a video management module configured to allow said client device users to input video content data to create a transferable data file to be communicated via said first protocol to said server, wherein video content is stored in said database; and said connected display device to display processed multiple modules and said streamed data is displayed on user interface of the connected display device.
[009] In one embodiment, the server of the Internet of Things (loT) device includes a creation module creating a message based on the received data file information and generating a hash of the received data file information; and a verification module allowing verification of a valid client based on decoding hash value. In operation, generating a hash of the received data file information includes applying a hash function to electronic data of the data file.
[0010] In one embodiment, the first protocol includes RTSP, and the request is a RTSP setup request.
[0011] Embodiments of the present disclosure will now be described in more detail in conjunction with accompanying figures. Although embodiments of the present disclosure are shown in the accompanying figures, it should be understood that the present disclosure can be embodied in various ways but not be limited to the embodiments depicted herein. Instead, the embodiments are provided herein to make the disclosure more thorough and complete and convey the scope of the present disclosure to those skilled in the art.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a flow diagram of the present method, according to one embodiment of the present disclosure;
FIG. 2 is a flow chart of the present method, according to another embodiment of the present disclosure;
FIG. 3 is a block system architectureof the presentsystem, accordingto oneembodiment of the present disclosure; and
FIG. 4 is an exemplary clientdevice block diagram, according to one embodiment of the present disclosure;
DETAILED DESCRIPTION
[0012] Before discussing exemplary embodiments of the present invention in detail, it will be appreciated that the invention may be embodied in a method, a system, and/or in a computer program product. For example, a method of the present invention may be carried out by oneor more user's using computers, and a program productof the invention may include computer executable instructions that when executed by one or more computers cause one or more computers to carry out a method of the invention. A program product of the invention, for example, may include computer code that resides on both a server and a clientcomputer/ client computing device, and causes both of the server and clientcomputers to carry outvariousactions. Further, one ormore computer(s) that contains a program product of the invention may embody a system of the invention. It will accordingly be appreciated thatin describing a particularembodimentof the present invention, description of other embodiments may also be made. For example, it will be understood that when describing a method of the invention, a system and/or a program product of the invention may likewise be described.
[0013] Before describing embodiments of the invention, itwill also be appreciated th at the present invention will prove beneficial and advantageous when practiced with any of a number of applications for communicating two-way streaming data over a data network (for example, WiFi channel). Examples include real-time streaming data being communicated between two devices. Other applications will be apparent to those knowledgeable in the art. Although exemplary embodiments of the invention are believed to have particular utility when practiced with data applications, the present invention is contemplated for practice with other applications. Illustration herein of exemplary data file applications are not intended to limit the scope of the invention.
[0014] Reference in the specification to “one embodiment” or “an embodiment” or “another embodiment” means that a particular feature, structure, or characteristic described in conjunction with theembodimentcan be included in atleastoneembodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification do not necessarily all refer to the same embodiment.
[0015] FIG. 3 is a block system architecture of the present system 300, according to one embodiment of the present disclosure. The present system 300 for communicating streaming data to provide casting content includes a client device 305, an Internet of Things (loT) device 329 and a connected display device 365 to display streamed data. The network communications between the client device 305 and the Internet of Things (loT) device 329 is aided using a streaming protocol such as Real Time Streaming Protocol (“RTSP”). RTSP is an application-level standard for facilitating incoming streaming data through the loT device. RTSP is also known as the “Internet VCR remote control” protocol.
[0016] Particularly, the client device 305 is configured to communicate a request to a server 330 of the Internet of Things (loT) device 329 to process the streaming data via a first protocol. Subsequently, the request is displayed on user interface of the connected display device 365. Moreover, the connected display device 365 display processed data from the multiple modules. The server 330 may be configured to store and manage information associated with content streaming. The server 330 may include processor(s), a memory, and a communication interface, which are coupled together by a bus or other communication link, although other numbers and/or types of network devices could be used.
[0017] In one embodiment, the client device 305 includes a plurality of modules, a database 325 to store data file and a processing unit 402 coupled to the database 325 for processing the multiple modules. In operation, the multiple modules include a command module 310, a data file application module 315 and a video management module 320.
[0018] The command module 310 (FIG. 3) provide navigation commands to the server 330 of the Internet of Things (loT) device 329 via the WiFi channel 318 to operate navigation of the data file. The data file application module 315 allows client device users to select one data file application from multiple types of data file.
[0019] In one embodiment, the data file includes a data file having a data form selected from a plurality of data forms including audio data, video data, image data, document data, portable document format (PDF), multimedia, docx, doc, jpeg, html, mp4, whiteboard and art.
[0020] In one embodiment, the video management module 320 is configured to allow the client device users to input video content data to create a transferable data file to be communicated via the first protocol to the server 330. The video content is stored in the database 325.
[0021] In one embodiment, the server 330 of the Internet of Things (loT) device 329 includes a creation module 335, a verification module 340, a compute module 350, a viewer database 345, a PDF viewer module 355, an image viewer module 360, a whiteboard module (not shown) and a html viewer module 362. The loT device 329 authenticatethe incoming requestusing any Hash function using which data is scrambled deterministically, can accept input of any length and output a fixed-length result. Particularly, the creation module 335 creates a message based on the received data file information via the WiFi channel 318 and generate a hash of the received data file information. Particularly, generating a hash of the received data file information includes applying a hash function to electronic data of the data file. The verification module 340 is configured to allow verification of a valid clientbased on decoding hash value.
[0022] In one embodiment, the hash operation may be SHA-256 algorithms. The SHA- 256 which is a part of Secure Hash Algorithm is used to hash the keys in incoming request which is verified by the verification module 340 of the loT device 329 to determine its authenticity and the response is returned to the client device 305 after processing th e hash.
[0023] In one embodiment, the first protocol includes RTSP. Particularly, the request is a RTSP setup request. The present invention utilizes the RTSP protocol in combination with other steps to connecta userand display data through the connected display device 365.
[0024] In one embodiment, the viewer database 345 is configured to store data sets selected from a Portable Document Format (PDF) format file, an image file, a html file, a whiteboard file and a video file.
[0025] In yet anotherembodiment, the PDF viewer module 355 is configured to retrieve a Portable Document Format (PDF) format file from the viewer database 345 and display on Ul of the connected display device 365 via HDMI streaming. The image viewermodule 360 is configured to retrieve image file from the viewer database 345 and display on Ul of the connected display device 365 via the HDMI streaming. The html viewer module 362 is configured to retrieve a html file from the viewer database 345 and display on Ul of the connected display device 365 via the HDMI streaming. Particularly, a display unit (not shown) of the connected display device 365 is configured to display, on the screen the data file processed by the server 330 of the loT device 329.
[0026] In use, the compute module 350 is configured to render at least one page of the document data, process incoming image file stream that have options to change colour, tint, brightness and the like, and process casting any html file to the browserand providing option and allowing userto scroll up and scroll down the html file on the connecteddisplay device 365.
[0027] In one embodiment, the circuitry and additional components may support dual band WiFi (e.g., 2.4G and 5G). In some implementations, server(s) 330, client device(s) 305, connected display device(s) 365, and/or components may be operatively linked via some other communication methods.
[0028] In one embodiment, the connected display device(s) 365 can include, but is not limited to, a projector, a CRT, a television, a smart tv, LCDs, Plasma Displays, screen monitor or any other electronic device that is operable to display information. The connected display device 365 is separate from the loT device 329.
[0029] The present system 300 may include a userinterface module to implement a GUI on the connected display device that may be stored in a mass storage device as executable software codes that are executed by the loT device(s). This and other modules may include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
[0030] In general, the word “component,” “system,” “database,” and the like, as used herein, can referto logic embodied in hardware or firmware, or to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, forexample, Java, C or C++. A software componentmay be compiled and linked into an executable program, installed in a dynamic link library, or may be written in an interpreted programming language such as, for example, BASIC, Perl, or Python. It will be appreciated th at software components may be callablefrom other componentsor from themselves, and/or may be invoked in response to detected events or interrupts. Software components configured for execution on computing devices may be provided on a computer readable medium, such as a compact disc, digital video disc, flash drive, magnetic disc, or any other tangible medium, or as a digital download (and may be originally stored in a compressed or installable format that requires installation, decompression or decryption prior to execution). Such software code may be stored, partially or fully, on a memory device of the executing computing device, forexecution by the computing device. Software instructions may be embedded in firmware, such as an EPROM. It will be further appreciated that hardware components may be comprised of connected logic units, such as gates and flip-flops, and/or may be comprised of programmable units, such as programmable gate arrays or processors.
[0031] FIG. 4 is an exemplary client device 305 block diagram 400, according to one embodiment of the present disclosure. The client device 305 includes, as non -limiting examples, any device capable of processing instructions and transmitting data to and from other computers, including a laptop, a full-sized personal computer, or a network computer lacking local storage capability. The client device 305 can include all the components normally used in connection with a computer. For example, it can have a keyboard and mouse and/or various other types of input devices, such as pen-inputs, joysticks, buttons, touch screens, etc.
[0032] The client device 305 can also comprise an interface device 410 to communicate with other devices over a network. Furthermore, the client device 305 can be a mobile device that includes, but is not limited to, a smart phone or tablet PC and the like. In this instance, the client device 305 can include all the components normally used in connection with mobile devices. For example, the client device 305 can have a touch screen display, a physical keyboard, a virtual touch screen keyboard, a camera, a speaker, a global positioning system, a microphone, and/ora transceiverfor transmitting long range and/or short-range wireless signals.
[0033] The client device 305 can also contain at least one processor 402 that can be arranged as different processing cores. For ease of illustration, one processor 402 is shown in FIG. 4, but it is understood that multiple processors can be employed simultaneously. The processor 402 can be any numberof known processors, including, for example, as processors from Intel® Corporation. In another example, processor 402 can be an application specific integrated circuit (“ASIC”). Processor 402 can be implemented as a hardware processor, a digital signal processor (“DSP”), an ASIC, a field programmable gate array (“FPGA”) or other programmable logic devices, a discrete gate or transistor logic device, a discrete hardware component, or any suitable combination of processing circuitry for executing the functions described in the present princi ples. The processor 402 can also be implemented as a combination of computation devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in communication with the DSP or any other such configuration. The described devices can include processing circuits, processors, FPGAs or ASICs, each of which can be in combination with software for execution.
[0034] A memory 404 can store information accessible by the processor 402, including instructions and/ordata. The memory 404 can be any type of memory capable of storing information accessible by the processor 402 including, but not limited to, a memory card, read only memory (“ROM”), randomaccess memory (“RAM”), DVD, or other optical disks, as well as otherwrite-capable and read-only memories. The client device 305 can include different combinations of the foregoing, whereby different portions of the instructions and data are stored on different types of media.
[0035] In anotherexample, the memory 404 can be a n on-transitory computer readable medium that can include any computerreadable media with the exception of a transitory, propagating signal. Examples of non -transitory computer readable media can include one of many physical media such as, for example, electronic, magnetic, optical, electromagnetic, and/or semiconductor media. More specific examples of suitable non- transitory computer-readable media include, but are not limited to, a portable magnetic computer diskette such as floppy diskettes or hard drives, an erasable programmable read-only memory, a portable compact disc or other storage devices that can be coupled to clientdevice 305 directly or indirectly. The non -transitory computerreadable media can also include any combination of one or more of the foregoing and/or other devices as well. While only one memory is shown in FIG. 4, the client device 305 can actually comprise additional memories that can or cannot be stored within the same physical housing orlocation.
[0036] An interface device 410 can include hardware components (e.g., chipsets, controllers, antennas, etc.) and/or software that allow the client device 305 to transmit, and/or receive data. The in terface device 110 can support one or more network interfaces including, but not limited to, Wi-Fi, worldwide interoperability for microwave access (“WiMAX”), 3rd generation mobile telecommunications (“3G”), code division multiple access (“CDMA”), Ethernet, special protocols proprietary to one or more companies, and various combinations of the foregoing. An access controller408 can include processing circuitry for executing access controller functions described further below and an access controller 406 can be a software implementation of the access controller 408 which includes processing circuitry.
[0037] However, it is understood th at the access controller408, 406 can be implemented in the form of hardware and software combined and th at the examples herein are merely illustrative. In the software implementation, the access controller 406 can be encoded in any set of software instructions that are executable directly (such as machine code) or indirectly (such as scripts) by a processor. The computer executable instructions can be stored in any computer language orformat, such as in object code or modules of source code.
[0038] FIG. 1 is a flow diagram of the present method 100, according to one embodiment of the present disclosure. The method 100 starts at step 105 and proceeds to step 110. At step 105, the request to the server 330 is communicated via one or more clientdevices 305 to process the streaming data in the first protocol. The method 100 proceeds to step 110. Particularly, the one or more client devices 305 issues a request in RTSP to the server 330. At step 110, the server 330 of the Internet of Things (loT) device 329 process the data file received by RTSP to retrieve at least one data parameter selected from a presentation description file, encoding, language, RTSP URLs, destination address, port, and other parameters. The method 100 further proceeds to step 115. At step 115, the server 330 is configured to create a message based on received data file information. For example, a typical RTSP transaction includes initializing, playing/recording, and deinitializing one or more related streams. Initialization consists of a “SETUP” request/response, which includes the specification of transport details of the associated stored stream. Included in these details are the protocol type and the client and server ports to be used. These details provide the information necessary to implement an application level gateway for RTSP.
[0039] In one embodiment, each of the one or more clientdevice 305 communicates an option command in the first protocol to the server 330. Otherwise, the server 330 communicates the option command in the first protocol to the client device 305 to accept streaming of data via the data file.
[0040] In anotherembodiment, each of the one or more clientdevice 305 communicates a describe command in the first protocol to the server 330, and the client device 305 retrieves description of a presentation or media object identified by a request URL from the server 330.
[0041] In yet another embodiment, each of the one or more client devices 305 communicates an announce command in the first protocol to the server330. Particularly, the description of the presentation or media object is identified by the request URL is communicated to the server 330. However, when the announce command in the first protocol is communicated by the server 330 to the client device 305, the session description of the presentation or media object identified by the request URL is updated in real-time. In operation, the navigation commands are provided to the server 330 of the Intern et of Things (loT) device 329 via WiFi channel to operate navigation of the data file. [0042] The method 100 proceeds to step 115. At step 115, the server 330 is configured to apply a hash function to electronic data of the data file and generate a hash. Particularly, the applied hash function is SHA256 to hash the keys in incoming request. In operation, the creation module 335 of the server 330 creates the message based on the received data file information and generates a hash of the received data file information. The method 100 proceeds to step 120. At step 120, the verification module 340 of the server 330 allows verification of a valid client based on decoding hash value to determine the authenticity and the response is returned to the client device 305 after the processing via the first protocol. The method 100 proceeds to step 125. At step 125, the server 330 authenticates incoming request of data file and returns response of the authentication to the client device 305 in the first protocol.
[0043] In one embodiment, each of the one or more clientdevices 305 communicates a setup command in the first protocol to the server 330. Particularly, the server 330 allocate resources for the real-time streaming data and start an RTSP session.
[0044] In anotherembodiment, each of the one or more clientdevices 305 communicates a play command in the first protocol to the server 330. Particularly, the server 330 initiates communication of the real-time streaming data on a stream allocated via the setup command to the clientdevice 305 in response to the play comman d.
[0045] In yet another embodiment, each of the one or more client devices 305 communicates a teardown command in the first protocol to the server 330. In operation, the loT device 329 thereby stopping streaming of data being communicated from the client device 305 following reception of the teardown command and freeing all resources associated with streaming of data.
[0046] In yet another embodiment, each of the one or more client devices 305 communicates a pause command in the first protocol to the server 330 and the client device 305 initiatestemporarily halt in streaming of data withoutfreeing anyresourcefrom the server 330.
[0047] The method 100 proceeds to step 130. At step 130, the requested data file is displayed in the connected display device 365. The communicating data file to be displayed on the connected display device 365 via a high-definition multimedia interface (HDMI) in put interface. Particularly, the high-definition multimedia interface (HDMI) input interface of the connected display device 365 obtain data file from the loT device 329 via the high-definition multimedia interface (HDMI) output interface of the loT device 329.
[0048] The HDMI for the connected display device 365 obtains the data file from the loT device connected to the connected display device 365. Particularly, the data file includes a data file having a data form selected from multiple data forms including audio data, video data, image data, and document data. In use, the first protocol is configured to cast specific content on Ul of the connected display device 365 without compromising with user privacy.
[0049] In one embodiment, the loT device 329 may include any combinations of the components. The components may be implemented as ICs, portions thereof, discrete electronic devices, or other modules, logic, hardware, software, firmware, or a combination thereof adapted in the loT device 329, or as components otherwise incorporated within a chassis of a larger system. The loT device 329 may include a processor, which may be a microprocessor, a multi-core processor, a multithreaded processor, an ultra-low voltage processor, an embedded processor, or other known processing element. The processor may be a part of a system on a chip (SoC) in which the processor an doth er components are formed into a single integrated circuit, or a single package. The processor may communicate with a system memory. Any number of memory devices may be used to provide for a given amount of system memory. As examples, the memory can be random access memory (RAM) and flashing memory. The flashing memory can be an SD card or eMMC storage.
[0050] Further, a mass storage may also couple to the processor. To enable a thinner and lighter system design the mass storage may be implemented via a solid state disk drive (SSDD). However, the mass storage may be implemented using a micro hard disk drive (HDD) in some loT devices. Further, any number of new technologies may be used for the mass storage in addition to, or instead of, the technologies described, such resistance change memories, phase change memories, holographic memories, or chemical memories, among others. For example, the loT device 329 may incorporate the 3D XPOINT memories from Intel and Micron. The bus may couple the processor to an interface that is used to connect external devices. The external devices may include cameras, sensors, such as flow sensors, temperature sensors, motion sensors, wind speed sensors, pressure sensors, barometric pressure sensors, and the like.
[0051] FIG. 2 is a flow chart of the presentmethod 200, accordingto anotherembodiment of the present disclosure. The method starts at step 205 and proceeds to step 210. At step 210, the client communicates data file setup request in the first protocol to the server 330 of the loT device 329 via the client device 305. The method 200 proceeds to step 215. At step 215, the server 330 is configured to apply a hash function to electronic data of the data file and generate a hash. Particularly, the applied hash function is SHA256 to hash the keys in incoming request. In operation, the creation module 335 of the server 330 creates the message based on the received data file information and generates a hash of the received data file information. The method 200 proceeds to determination step 220. At step 220 a determination is made as to whetherthe request is received from valid clientby the server 330. In operation, the IOT device 329 authenticates the incoming request using any Hash function using which data is scrambled deterministically, can accept inputof any length and output a fixed-length result. If the determination is “NO”, the method 200 proceeds to step 240.
[0052] In another embodiment, if the determination is“YES”, the method 200 proceeds to step 225. At step 225, the valid clientis verified by the module of the server 330 and the response is returned to the client after the processing to the client device 305 via WiFi channel. The method 200 proceeds to step 230. At step 230, incoming request of the data file is authenticated and one or more steps of method 100 are followed by the modules of the server 330 of the loT device 329. The method 200 proceeds to step 235. At step 235, specific content is casted on the Ul of the connected display device 365. Particularly, the RTSP cast the required portion or specific content to the screen be it a video, Image, PDF, whiteboard content or any kind of document. The advantage of the present method is that everything can be casted without compromising with the user privacy. Further, the casting is deployed without the internet. The method 200 proceeds to step 240. At step 240, the method 200 ends.
[0053] The present invention has many advantages for example, the present technology can cast any kind of content without internet connectivity so if any user cast video, image, PDF etc. only th at specific portion will be casted notwhole screen of userdevice screen. In operation, RTSP uses the same concepts as basic HTTP, which makes RTSP easily compatible with existing HTTP networks. The protocol also allows for a great deal of flexibility. RTSP is a control protocol that initiates and directs delivery of streaming multimedia data from media servers. It is the "Internet VCR remote control protocol". Further, the user is free to use the device for any other application while the casting process is ongoing.
[0054] The use of the term “module” does not imply th at the components or functionality described or claimed as part of the module are all configured in a common package. Indeed, any or all of the various components of a module, whethercontrol logic or other components, can be combined in a single package or separately maintained and can furtherbe distributed in multiple groupings orpackages or across multiple locations.
[0055] Whileseveral embodiments have been provided in the presentdisclosure. itshould be understood that the disclosed systems and methods may be embodied in many other specific forms without departing from the spirit or scope of the present disclosure. The present examples are to be considered as illustrativeand not restrictive, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated in another system or certain features may be omitted or not implemented.
[0056] Also, techniques, systems, subsystems, and methods described and illustrated in the various embodiments as discrete or separate may be combined or integrated with other systems, modules, techniques, or methods without departing from the scope of the presentdisclosure. Other items shown or discussed as directly coupled or communicating with each other may be indirectly coupled or communicating through some interface, device, or intermediate component, whether electrically, mechanically, or otherwise. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and could be made withoutdepartingfrom the spirit and scope disclosed herein.

Claims

We Claim,
1 . A method for communicating streaming data to provide casting content, said method comprising the steps of: communicating a request to a server via at least one clientdevice to process said streaming data in a first protocol; processing by said server of an Internet of Things (loT) device a data file received via first protocol to retrieve at least one data parameter selected from a presentation description file, encoding, language, RTSP URLs, destination address, port, and other parameters; creating a message based on received data file information and generating a hash of said received data file information by said server includes applying a hash function to electronic data of said data file; allowing verification of a valid client based on decoding hash value; authenticating incoming request of data file and returning response of said authentication to said client device in said first protocol; obtaining by said loT device said received data file via a high-definition multimedia interface (HDMI) output interface; and displaying said request in a connected display device and communicating datafile to be displayed on said connected display device via a high -definition multimedia interface (HDMI) input interface, wherein said high -definition multimedia interface (HDMI) input interface of said connected display device obtain data file from said loT device; wherein said data file comprises a data file having a data form selected from a plurality of data forms comprising audio data, video data, image data, and documentdata; and wherein said first protocol is configured to cast specific content on Ul of said connected display device withoutcompromising with userprivacy.
2. The method as claimed in claim 1 , wherein said first protocol comprises RTSP, and said request comprises a RTSP setup request.
3. The method as claimed in claim 1 , wherein said method further com prises the steps of: each of said at least one clientdevice communicating an option command in said first protocol to said server, or said server communicating said option command in said first protocol to said client device to accept streaming of data via said data file; each of said at least one client device communicating a describe command in said first protocol to said server, and said client device retrieves description of a presentation or media object identified by a request URL from said server; each of said at least one clientdevice communicatingan announce command in said first protocol to said server, said server initiating communication of said real-time streaming data that description of said presentation or media object identified by said request URL to said server has been posted; each of said at least one client device communicating a setup command in said first protocol to said server, said server allocate resources for said real-time streaming data and start an RTSP session; each of said at least one client device communicating a play command in said first protocol to said server and said server initiating communication of said real-time streaming data on a stream allocated via setup command to said each client device in response to said play command; each of said at least one client device communicating a teardown command in said first protocol to said server, and, said loT device thereby stopping streaming of data being communicated from said at least one clientdevice following reception of said teardown command and freeing all resources associated with streaming of data; and wherein, navigation commands are provided to said server of said Internet of Things (loT) device via WiFi channel to operate navigation of said data file.
4. The method as claimed in claim 3, wherein each of said at least one client device communicating a pause command in said first protocol to said server and said client device initiating temporarily halts in streaming of data withoutfreeing any resource from said server.
5. The method as claimed in claim 1 , wherein said hash function is SHA256.
6. The method as claimed in claim 3, wherein each of preview data file is stored as one of: a hypertext markup language (HTML) format file viewable to a user via Ul of said connected display device accessible from a web browser of said loT device.
7. The method as claimed in claim 6, wherein a Portable Document Format (PDF) format file is retrieved from a viewerdatabase of said server by a PDF viewermodule of said loT device and displayed on Ul of said connected display device via HDMI streaming and a compute module of said server of said loT device is configured to render at least one page of said documentdata, an image file is retrieved from said viewer database by an image viewer module of said loT device and displayed on Ul of said connected display device via HDMI streaming and said compute module is configured to process incoming image file stream that have options to change colour, tint, brightness and the like, a html file is retrieved from said viewer database by a html viewermodule of said loT device and displayed on III of said connected display device via HDMI streaming and said compute module is configured to process casting any html file to said browserand providing option to scroll up and scroll down said html file.
8. The method as claimed in claim 6, wherein allowing said client device users to input video content data to create a transferable data file to be communicated via said first protocol to said server via a video management module, wherein video con tent is stored in a database of said client device; and said connected display device to display processed plurality of modules and said streamed data is displayed on userinterface (III) of said connected display device
9. A system for communicating streaming data to provide casting content, said system comprising: a client device configured to communicate a request to a server to process said streaming data via a first protocol and said request displayed on user interface of a connected display device, wherein said client device comprises a plurality of modules; a database to store data file; and a processing unitcou pled to said database for processing said plurality of modules, wherein said plurality of modules comprising: a command modulefor providing navigation commands to said server of an Internet of Things (loT) device via WiFi channel to operate navigation of data file; a data file application module allows client device users to select one data file application from multiple types of data file; a video management module configured to allow said client device users to input video content data to create a transferable data file to be communicated via said first protocol to said server, wherein video content is stored in said database; and said connected display device to display processed plurality of modules and said streamed data is displayed on user interface of said connected display device; wherein, said server of said Internet of Things (loT) device comprises a creation module creating a message based on the received data file information and generating a hash of the received data file information; and a verification module allowing verification of a valid client based on decoding hash value; and wherein, generating a hash of the received data file information includes applying a hash function to electronicdata of said data file.
10. The system as claimed in claim 9, wherein said first protocol comprises RTSP, and said request comprises a RTSP setup request.
11 . The system as claimed in claim 9, wherein said data file comprises a data file having a data form selected from a plurality of data forms comprising audio data, video data, image data, document data, portable document format (PDF), multimedia, docx, doc, jpeg, html, mp4, whiteboard and art.
12. The system as claimed in claim 9, wherein said loT device further comprises: a viewer database to store a plurality of data sets selected from a Portable Document Format (PDF) format file, an image file, a html file, a whiteboard file and a video file; a PDF viewer module configured to retrieve a Portable Document Format (PDF) format file from said viewer database and display on III of said connected display device via HDMI streaming; an image viewer module configured to retrieve image file from said viewer database and display on III of said connected display device via HDMI streaming; and a html viewer module configured to retrieve a html file from said viewer database and display on III of said connected display device via HDMI streaming; wherein a compute module is configured to render at least one page of said document data, process incoming image file stream that have options to change colour, tint, brightness and the like, and process casting any html file to said browser and providing option and allowing userto scroll up and scroll down said html file; and wherein said hash function is SHA256.
PCT/IN2023/050082 2022-01-29 2023-01-26 Method & system for offline casting WO2023144841A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN202221004996 2022-01-29
IN202221004996 2022-01-29

Publications (1)

Publication Number Publication Date
WO2023144841A1 true WO2023144841A1 (en) 2023-08-03

Family

ID=87471088

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IN2023/050082 WO2023144841A1 (en) 2022-01-29 2023-01-26 Method & system for offline casting

Country Status (1)

Country Link
WO (1) WO2023144841A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120096121A1 (en) * 2010-10-13 2012-04-19 Verizon Patent And Licensing, Inc. Home network video peer-to-peer for mobile devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120096121A1 (en) * 2010-10-13 2012-04-19 Verizon Patent And Licensing, Inc. Home network video peer-to-peer for mobile devices

Similar Documents

Publication Publication Date Title
US9009219B2 (en) Native viewer use for service results from a remote desktop
US20230362430A1 (en) Techniques for managing generation and rendering of user interfaces on client devices
KR102129154B1 (en) Distributed cross-platform user interface and application projection
CN114286165B (en) Display equipment, mobile terminal, and screen-throwing data transmission method and system
KR20140111336A (en) Multiple media devices through a gateway server or services to access cloud computing service storage
CN104539977A (en) Live broadcast previewing method and device
WO2010120320A1 (en) Virtual desktop services
KR101770070B1 (en) Method and system for providing video stream of video conference
WO2015176648A1 (en) Method and device for transmitting data in intelligent terminal to television terminal
WO2024051518A1 (en) Live-streaming method and apparatus, and electronic device and storage medium
WO2021218794A1 (en) Information sharing method, apparatus, electronic device, and storage medium
CN112486921B (en) File synchronization method, display device and mobile terminal
US9363538B2 (en) Apparatus, systems and methods for remote storage of media content events
WO2023144841A1 (en) Method & system for offline casting
US20140082638A1 (en) Multi-user computer system
US10231004B2 (en) Network recording service
CN112653608B (en) Display device, mobile terminal and cross-network data transmission method
CN117097907A (en) Audio and video transcoding device, method, equipment, medium and product
JP2023527174A (en) Video special effect arrangement method, video special effect arrangement device, device and storage medium
KR101492687B1 (en) Method for providing n-screen service using virtual aggregation gateway
CN115543932A (en) File processing method and device and electronic equipment
CN117411651A (en) Display device, server and service credential writing method
CN113347501B (en) Video playing method and device
EP3220601B1 (en) Key event encryption processing system and method thereof
CN116126263A (en) Non-mirror image screen projection method, device, equipment and storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23746605

Country of ref document: EP

Kind code of ref document: A1