US20180278424A1 - Controlling access to content in a network - Google Patents
Controlling access to content in a network Download PDFInfo
- Publication number
- US20180278424A1 US20180278424A1 US15/466,044 US201715466044A US2018278424A1 US 20180278424 A1 US20180278424 A1 US 20180278424A1 US 201715466044 A US201715466044 A US 201715466044A US 2018278424 A1 US2018278424 A1 US 2018278424A1
- Authority
- US
- United States
- Prior art keywords
- content
- user
- user device
- record
- encrypted
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 238000004891 communication Methods 0.000 claims abstract description 118
- 238000000034 method Methods 0.000 claims description 33
- 230000008569 process Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000006855 networking Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- H04L67/2842—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Definitions
- Information-centric networking can refer to a process of communicating an object (e.g., data, content, etc.) in a network (e.g., the Internet) based on a name of the object as opposed to an address of a network device associated with the object.
- a network device can provide an object to another network device in the network based on the name of the object instead of the address (e.g., an Internet Protocol (IP) address, etc.) associated with the other network device.
- IP Internet Protocol
- Ubiquitous caching can refer to a process of storing an object in cache memory of a plurality of devices in a network.
- the object can be stored in a cache memory of every device that the object is received by and/or transmitted by in the network.
- the object can then be provided, based on a request from a user device, from the network device that stored the object and that is nearest to the user device, allowing the object to traverse as few network devices as possible.
- a network that implements ICN can also implement ubiquitous caching.
- FIG. 1 is a diagram of an overview of an example implementation described herein;
- FIG. 2 is a diagram of an example environment in which systems and/or methods, described herein, can be implemented;
- FIG. 3 is a diagram of example components of one or more devices of FIG. 2 ;
- FIG. 4 is a flow chart of an example process for controlling access to content in a network via encryption.
- ICN Information Centric Networking
- a user device e.g., a host, an end host, an endpoint, a device associated with a content subscriber, etc.
- ICN can allow the user device to receive the content from any network device in the network that stored the content and can allow the user device to trust the authenticity of the content (e.g., that the content is the content that the user device requested, that a particular creator produced the content, etc.) regardless of the network device that provides the content to the user device.
- the user device can trust the authenticity of the content based on a content signature associated with the content.
- ICN can allow communication, or allow communication to continue, after a failure of a network device in the network.
- ICN can enable ubiquitous caching of the content throughout the network.
- Ubiquitous caching can allow the user device to provide a request for content and the user device can receive the content from the network device, nearest to the user device in the network, that stored the content (e.g., in a cache memory associated with that network device).
- ubiquitous caching can allow for a reduced time delay associated with providing content based on a request for the content from a user device.
- ubiquitous caching can provide challenges associated with controlling access to content.
- ubiquitous caching can allow the content to be available throughout the network so that a user device can provide a request for the content based on the name of the content and the user device can receive the content, based on the request, from the network device that is closest to the user device and that has the content stored in cache memory.
- the user device can receive the content without permission from a content owner (e.g., an owner of rights associated with the content, an author of the content, a holder of a copyright associated with the content, etc.) and/or another party (e.g., a party that provides the content, etc.) associated with the content.
- a content owner e.g., an owner of rights associated with the content, an author of the content, a holder of a copyright associated with the content, etc.
- another party e.g., a party that provides the content, etc.
- ubiquitous caching can prevent the content owner or the other party from determining an identity of a user associated with the user device and/or the user device that provides the request for the content and receives the content.
- Ubiquitous caching can also prevent the content owner or the other party from tracking information associated with the content, the user that receives the content, and/or the user device that receives the content.
- Implementations described herein include a content management device that can generate a record of content (e.g., a schedule of content, a list of content, a manifest file associated with content, etc.) that includes a reference associated with content and one or more encryption credentials associated with the content.
- the content management device can encrypt the record of content based on a first communication (e.g., a first request for content) from a user device.
- the first request can include user identification information associated with the user device and/or a user of the user device.
- the content management device can determine an identity of the user and/or the user device and can authenticate and/or authorize the user and/or the user device to receive the content based on the user identification information.
- the content management device can provide the encrypted record of content to the user device based on the first communication.
- the content management device can receive a second communication (e.g., a second request for content) from the user device based on providing the encrypted record of content.
- the content management device can provide the content to the user device based on receiving the second communication from the user device.
- the content management device can provide the content as encrypted content.
- the content management device can prevent an unauthorized party from accessing the content.
- the content management device can determine an identity of a user associated with a user device and/or the user device that provides a request for content and can authenticate and/or authorize the user and/or the user device to receive the content.
- the content management device can track information associated with the content (e.g., type of content, length of content, frequency of requests for the content, etc.), the user that receives the content (e.g., user preferences, a user's demographic, etc.), and/or the user device that receives the content (e.g., a number of requests for the content, type and/or subject matter of content for which requests are most often provided, format of content that is acceptable, etc.).
- FIG. 1 is a diagram of an overview of an example implementation 100 described herein.
- the content management device can store content locally (e.g., in main memory, in cache memory, in secondary memory, etc.) on the content management device and/or on a storage component (e.g., tertiary storage, a hard disk drive (HDD), etc.) associated with the content management device.
- the content management device can receive a first request for content from the user device.
- the first request can include a public key of a public/private key and/or user identification information (e.g., user profile information, a user identifier, a device identifier, etc.) associated with a user of the user device and/or the user device.
- user identification information e.g., user profile information, a user identifier, a device identifier, etc.
- the content management device can generate a record of content (e.g., a manifest file) regarding content associated with (e.g., stored by) the content management device based on receiving the first request for content.
- the manifest file can include a reference associated with the content and one or more encryption credentials associated with the content based on receiving the first request.
- the content management device can generate the reference associated with the content, where the reference can be an encoded name of the content to disguise the name of the content from unauthorized parties.
- the content management device can prevent an unauthorized party from determining a name of content associated with the content management device. In this way, the content management device can prevent an unauthorized party from accessing the content.
- the one or more encryption credentials can be used to encrypt the content.
- the one or more encryption credentials can include a private key of a public/private key pair that the content management device can use to encrypt the content.
- the content management device can encrypt the manifest file based on the first request. For example, the content management device can encrypt the manifest file using the public key included in the first request. As shown by reference number 120 , the content management device can provide the encrypted manifest file to the user device based on the first request.
- the content management device can prevent an unauthorized party other than the user of the user device from accessing the manifest file. In this way, the content management device can also prevent the unauthorized party from accessing the content.
- the content management device can receive a second request for content from the user device based on providing the encrypted manifest file.
- the second request can include the reference associated with the content that was included in the manifest file.
- the content management device can determine the content to be provided based on the reference associated with the content received with the second request.
- the content management device can provide the content to the user device based on the second request from the user device.
- the content management device can provide the content based on the reference associated with the content received with the second request for content from the user device.
- the content management device can provide the content as encrypted content.
- the content management device can encrypt the content based on the one or more credentials included in the manifest file and the content management device can provide encrypted content to the user device.
- the content management device can provide the encrypted content to the user device via one or more network devices (e.g., one or more servers, one or more forwarding devices, one or more edge devices, etc.) in a network associated with the content management device.
- the content management device can provide the encrypted content to the one or more network devices and the one or more network devices can provide the encrypted content to the user device.
- the one or more network devices can store the encrypted content.
- the one or more network devices can provide the encrypted content to the user device with less time delay than the content management device can provide the encrypted content to the user device based on a subsequent request for the content because the one or more network devices might be geographically closer to the user device than the content management device.
- the content management device can prevent an unauthorized party from accessing the content. In this way, the content management device can prevent the unauthorized party from accessing the encrypted content from the content management device and/or from one or more network devices that receive and store the encrypted content.
- the content management device can allow the one or more network devices to provide the encrypted content to the user device with less time delay than the content management device can provide the encrypted content to the user device based on a subsequent request for content. In this way, the content management device can reduce network traffic and utilization of computing resources associated with a request for content, as the request for content might not need to be transmitted from the user device to the content management device but instead from the user device to the one or more network devices.
- the content management device can prevent an unauthorized party from accessing content associated with the content management device.
- the content management device can prevent an unauthorized party from accessing a manifest file regarding the content associated with the content management device.
- the content management device can also prevent an unauthorized party from determining a name of content associated with the content management device.
- the content management device can reduce network traffic and utilization of computing resources associated with a request for content, as the request for content might not need to be transmitted from the user device to the content management device.
- FIG. 1 is provided merely as an example. Other examples are possible and can differ from what was described with regard to FIG. 1 .
- FIG. 2 is a diagram of an example environment 200 in which systems and/or methods, described herein, can be implemented.
- environment 200 can include content management device 210 , user device 220 , network device 230 , and network 240 .
- Devices of environment 200 can interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.
- Content management device 210 includes a device capable of originating content, generating content and/or a record of content, encrypting the record of content, encrypting the content, receiving a communication associated with the content (e.g., a request for the content), providing the record of content (e.g., unencrypted, encrypted, etc.), and/or providing the content (e.g., unencrypted, encrypted, etc.) to user device 220 and/or network device 230 .
- content management device 210 can include a server device, a centralized server, a media server, a streaming device, a group of server devices, one or more devices provided in a cloud environment, and/or a similar type of device.
- User device 220 includes one or more devices capable of receiving, storing, processing, and/or providing content received from content management device 210 and/or network device 230 .
- user device 220 can include a display device, a video wall, a television, a computer monitor, a smart phone, a tablet computer, a laptop computer, a desktop computer, a set top box, a smart television, a projector, and/or the like.
- user device 220 can include network device 230 .
- user device 220 can be a component of a display device.
- Network device 230 includes one or more devices capable of receiving content from content management device 210 and/or another network device 230 , storing the content locally (e.g., in main memory, in cache memory, in secondary memory, etc.) on network device 230 and/or on a storage component (e.g., tertiary storage, a hard disk drive (HDD), etc.) associated with network device 230 , and/or providing the content to user device 220 .
- a storage component e.g., tertiary storage, a hard disk drive (HDD), etc.
- network device 230 can include a gateway, an edge server, a server device, a group of server devices, a data center (e.g., a multi-server micro data center), a workstation computer, one or more devices provided in a cloud environment, a router, a switch, a hub, and/or a similar type of device.
- network device 230 can be geographically closer to user device 220 than content management device 210 .
- network device 230 can be located at an edge position of a network (e.g., network 240 ) associated with content management device 210 .
- at least one other device e.g., a server device
- network device 230 can be in an intermediate position in a network associated with content management device 210 .
- Network 240 includes one or more wired and/or wireless networks.
- network 240 can include a cellular network (e.g., a long-term evolution (LTE) network, a code division multiple access (CDMA) network, a 3G network, a 4G network, a 5G network, another type of next generation network (NGN), etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber optic-based network, a cloud computing network, and/or the like, and/or a combination of these or other types of networks.
- network 240 can implement one or more aspects associated with Information Centric Networking (ICN) and/or ubiquitous caching.
- ICN Information Centric Networking
- the number and arrangement of devices and networks shown in FIG. 2 are provided as an example. In practice, there can be additional devices and/or networks, fewer devices and/or networks, different devices and/or networks, or differently arranged devices and/or networks than those shown in FIG. 2 . Furthermore, two or more devices shown in FIG. 2 can be implemented within a single device, or a single device shown in FIG. 2 can be implemented as multiple, distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) of environment 200 can perform one or more functions described as being performed by another set of devices of environment 200 .
- FIG. 3 is a diagram of example components of a device 300 .
- Device 300 can correspond to content management device 210 , user device 220 , and/or network device 230 .
- content management device 210 , user device 220 , and/or network device 230 can include one or more devices 300 and/or one or more components of device 300 .
- device 300 can include a bus 310 , a processor 320 , a memory 330 , a storage component 340 , an input component 350 , an output component 360 , and a communication interface 370 .
- Bus 310 includes a component that permits communication among the components of device 300 .
- Processor 320 is implemented in hardware, firmware, or a combination of hardware and software.
- Processor 320 is a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or another type of processing component.
- processor 320 includes one or more processors capable of being programmed to perform a function.
- Memory 330 includes a random access memory (RAM), a read only memory (ROM), and/or another type of dynamic or static storage device (e.g., a flash memory, a magnetic memory, and/or an optical memory) that stores information and/or instructions for use by processor 320 .
- RAM random access memory
- ROM read only memory
- static storage device e.g., a flash memory, a magnetic memory, and/or an optical memory
- Storage component 340 stores information and/or software related to the operation and use of device 300 .
- storage component 340 can include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optic disk, and/or a solid state disk), a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a cartridge, a magnetic tape, and/or another type of non-transitory computer-readable medium, along with a corresponding drive.
- Input component 350 includes a component that permits device 300 to receive information, such as via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, and/or a microphone). Additionally, or alternatively, input component 350 can include a sensor for sensing information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, and/or an actuator).
- Output component 360 includes a component that provides output information from device 300 (e.g., a display, a speaker, and/or one or more light-emitting diodes (LEDs)).
- LEDs light-emitting diodes
- Communication interface 370 includes a transceiver-like component (e.g., a transceiver and/or a separate receiver and transmitter) that enables device 300 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections.
- Communication interface 370 can permit device 300 to receive information from another device and/or provide information to another device.
- communication interface 370 can include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, or the like.
- Device 300 can perform one or more processes described herein. Device 300 can perform these processes in response to processor 320 executing software instructions stored by a non-transitory computer-readable medium, such as memory 330 and/or storage component 340 .
- a computer-readable medium is defined herein as a non-transitory memory device.
- a memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.
- Software instructions can be read into memory 330 and/or storage component 340 from another computer-readable medium or from another device via communication interface 370 .
- software instructions stored in memory 330 and/or storage component 340 can cause processor 320 to perform one or more processes described herein.
- hardwired circuitry can be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
- device 300 can include additional components, fewer components, different components, or differently arranged components than those shown in FIG. 3 . Additionally, or alternatively, a set of components (e.g., one or more components) of device 300 can perform one or more functions described as being performed by another set of components of device 300 .
- FIG. 4 is a flow chart of an example process 400 for controlling access to content in a network via encryption.
- one or more process blocks of FIG. 4 can be performed by content management device 210 .
- one or more process blocks of FIG. 4 can be performed by another device or a group of devices separate from or including content management device 210 , such as user device 220 and/or network device 230 .
- process 400 can include receiving a first communication from a user device (block 410 ).
- content management device 210 can receive the first communication from user device 220 .
- the first communication can include a namespace.
- content management device 210 can include the namespace associated with a user of user device 220 and/or user device 220 .
- the namespace can include an identifier of content associated with content management device 210 and user identification information (e.g., user profile information, a user identifier, a device identifier, etc.) associated with the user and/or user device 220 .
- the namespace can be based on a username (e.g., associated with the user and/or user device 220 ), a password (e.g., associated with the user and/or user device 220 ), a nonce word (e.g., associated with the user and/or user device 220 ), and/or the identifier of the content.
- content management device 210 can determine content associated with the user and/or user device 220 based on the namespace.
- content management device 210 can reduce a utilization of computing resources associated with determining the content that is authorized to be accessed by the user and/or user device 220 .
- the first communication can include an identifier (e.g., a name of the content, the reference associated with the content, a Universal Resource Locator (URL), a Uniform Resource Identifier (URI), a Logical Channel Identifier (LCI), a Logical Channel Number (LCN), etc.) of content associated with content management device 210 .
- an identifier e.g., a name of the content, the reference associated with the content, a Universal Resource Locator (URL), a Uniform Resource Identifier (URI), a Logical Channel Identifier (LCI), a Logical Channel Number (LCN), etc.
- the first communication can include a name of content that is stored by content management device 210 .
- the first communication can include a request from user device 220 .
- the first communication can include a request for content associated with content management device 210 from user device 220 .
- content management device 210 can receive the first communication from user device 220 independent of a device address of content management device 210 and/or user device 220 .
- content management device 210 can receive the first communication based on a name associated with content management device 210 independent of an IP address of content management device 210 .
- the first communication can include one or more encryption credentials (e.g., one or more user encryption credentials) associated with a user of user device 220 and/or user device 220 .
- the first communication can include one or more encryption keys associated with the user and/or user device 220 .
- the first communication can include a public key of a public/private key pair that is associated with the user and/or user device 220 .
- the first communication can include user identification information (e.g., user profile information, a user identifier, a device identifier, etc.) associated with the user and/or user device 220 .
- the user identifier can include a type-length-value (TLV) element based on the user and/or user device 220 .
- the TLV element can be based on a username, a password, and/or a nonce word associated with the user and/or user device 220 .
- content management device 210 can include a data structure (e.g., a database, etc.) that includes one or more TLV elements associated with content (e.g., content associated with content management device 210 ).
- content management device 210 can include a database that includes a list of references associated with the content and/or names of the content associated with the one or more TLV elements. Each entry in the list of content can be associated with a TLV element of the one or more TLV elements. In some implementations, content management device 210 can determine content associated with the user and/or user device 220 based on the data structure that includes one or more TLV elements associated with the content.
- content management device 210 can reduce a utilization of computing resources associated with determining the content that is authorized to be accessed by the user and/or user device 220 .
- the first communication can include a user identification reference to disguise the user identification information associated with the user and/or user device 220 .
- the user identification reference can include an encoded name, a nameless reference, a unique identifier associated with the user identification information, a reference generated via an encryption scheme, a reference generated via an encryption scheme based on an identifier (e.g., a name) associated with the user and/or user device 220 , a reference generated via a hash function, and/or the like.
- the user identification reference may prevent an unauthorized party from determining the user identification information associated with the user and/or user device 220 .
- content management device 210 can determine user identification information associated with the user and/or user device 220 based on the user identification reference.
- the user identification information can include an indication (e.g., a flag) that the user identification information might not be stored by content management device 210 .
- the user identifier can include a do not cache flag.
- content management device 210 can prevent an unauthorized party from obtaining the user identification information from content management device 210 and using the user identification information to request content from content management device 210 . In this way, content management device 210 can prevent an unauthorized party from accessing the content based on a request for content that includes the user identification information.
- content management device 210 can receive the first communication via network device 230 .
- network device 230 can receive the first communication from user device 220 and content management device 210 can receive the first communication from network device 230 .
- content management device 210 can receive the first communication from network device 230 independent of a device address of content management device 210 and/or network device 230 .
- content management device 210 can receive the first communication from network device 230 based on a name associated with content management device 210 independent of an IP address of content management device 210 .
- the first communication can include a device address of user device 220 and/or network device 230 .
- the first communication can include an Internet Protocol (IP) address of user device 220 and/or network device 230 .
- IP Internet Protocol
- content management device 210 can validate that the content associated with the first communication can be provided. For example, content management device 210 can validate that the content associated with the first communication from user device 220 can be provided by content management device 210 . In some implementations, content management device 210 can determine that content management device 210 has the content stored locally (e.g., in main memory, in cache memory, in secondary memory, etc.) on content management device 210 and/or on a storage component (e.g., tertiary storage, a hard disk drive (HDD), etc.) associated with content management device 210 based on a name of the content included in the first communication.
- a storage component e.g., tertiary storage, a hard disk drive (HDD), etc.
- content management device 210 can compare the name of the content included in the first communication to the reference associated with the content to determine that the content is stored by content management device 210 .
- content management device 210 can receive the first communication from network device 230 based on a device address of content management device 210 and/or network device 230 .
- content management device 210 can determine an identity of the user and/or user device 220 based on the user identification information. For example, content management device 210 can determine the identity of the user and/or user device 220 by comparing the user identification information included in the first communication to a list of user names associated with user identification information and determining a user name that corresponds to the user identification information included in the first communication.
- content management device 210 can authenticate and/or authorize the user and/or user device 220 for access to the content. For example, content management device 210 can determine that the user and/or user device 220 is authenticated and/or authorized to access the content based on the user identification information included in the first communication and/or based on validating that the content can be provided. In some implementations, content management device 210 can determine that the user and/or user device 220 is authenticated for access to the content based on the user identification information and authentication information (e.g., a password, answer to a security question, etc.). In some implementations, the user identification information can include the authentication information.
- authentication information e.g., a password, answer to a security question, etc.
- content management device 210 can determine that the user and/or user device 220 is authorized to access the content by comparing the name of the content and the user identification information to a list of content associated with user identification information and determining that the name of the content is included in the list of content associated with the user identification information.
- content management device 210 can obtain user identification information independent of the first communication. For example, content management device 210 can cause user device 220 to provide a prompt to the user to provide the user identification information to content management device 210 via user device 220 .
- content management device 210 can prevent an unauthenticated and/or an unauthorized user and/or user device 220 from accessing the content.
- the first communication can include one or more communications (e.g., requests for content) from user device 220 .
- each of the one or more communications can correspond to each of one or more records of content.
- each of the one or more communications can correspond to each of one or more encrypted records of the content.
- content management device 210 can receive a first communication from a user device.
- process 400 can include generating a record of content that includes a reference associated with the content and one or more encryption credentials associated with the content (block 420 ).
- content management device 210 can generate the record of content that includes the reference associated with the content and the one or more encryption credentials associated with the content.
- the record of content can include a schedule of the content, a list of the content, a manifest file associated with the content, and/or the like.
- the record of content can include a manifest file of content stored by content management device 210 .
- content management device 210 can generate the record of content independent of receiving the first communication (e.g., before receiving the first communication, concurrently with receiving the first communication, or after receiving the first communication).
- the reference associated with the content can include a reference to disguise the name of the content.
- the reference associated with the content can include an encoded name, a nameless reference, a unique identifier associated with the content, a reference generated via an encryption scheme, a reference generated via an encryption scheme based on an identifier (e.g., a name) associated with the content, a reference generated via a hash function, and/or the like.
- the reference associated with the content may prevent an authorized party from determining the content, based on a name of the content, which is associated with content management device 210 .
- the reference associated with the content can include one or more additional records of content (e.g., one or more additional manifest files, etc.) associated with the content.
- the reference associated with the content can include a first manifest file that includes a pointer to a second manifest file.
- the one or more encryption credentials associated with the content can include an encryption credential that can be used to encrypt the content.
- the one or more encryption credentials can include a symmetric key, an asymmetric key, a private key of a public/private key pair, and/or the like.
- the content can include any content that can be provided via user device 220 (e.g., video, audio, text, a video call, an audio call, linear video, live content, live streaming media, live video, live audio, live television, recorded content, gaming content, on-demand streaming media, interactive content, web objects, downloadable objects, applications, social media information, etc.).
- the content can be associated with content management device 210 .
- the content can include content that is generated by, stored on, received by, provided by, and/or to be provided by content management device 210 .
- content management device 210 can receive the content from another content management device 210 , a network device 230 , and/or the like.
- the content can include encrypted content.
- the content can include encrypted content that was encrypted based on symmetric cryptography (e.g., shared secret encryption), asymmetric cryptography (e.g., public key encryption (PKE)), and/or the like.
- content management device 210 can encrypt the content.
- content management device 210 can encrypt the content based on symmetric cryptography, asymmetric cryptography, and/or the like.
- content management device 210 can encrypt the content using the one or more encryption credentials included with the record of content.
- content management device 210 can generate the record of content based on the first communication (e.g., a request for content) from user device 220 .
- the record of content can be generated based on identification information (e.g., a name of a user associated with user device 220 , user identification information associated with the user and/or user device 220 , a device identifier associated with user device 220 , a user identifier associated with the user, an IP address of user device 220 , etc.) included with the first communication.
- identification information e.g., a name of a user associated with user device 220 , user identification information associated with the user and/or user device 220 , a device identifier associated with user device 220 , a user identifier associated with the user, an IP address of user device 220 , etc.
- content management device 210 may provide a record of content that is associated with the user and/or user device 220 . In this way, content management device 210 can reduce utilization of computing resources associated with generating a record of content that is associated with more content than the content associated with the user and/or user device 220 (e.g., all content associated with content management device 210 ).
- content management device 210 can generate the reference associated with the content. For example, content management device 210 can generate the reference associated with the content based on an encoding scheme, an encryption scheme, a hash function, and/or the like.
- content management device 210 can divide (e.g., disassemble, chunk, etc.) the content into one or more pieces (e.g., chunks, etc.). For example, content management device 210 can divide the content into the one or more pieces suitable for providing the content to network device 230 and/or user device 220 . In some implementations, content management device 210 can divide the content into the one or more pieces that have a size suitable for user device 220 to combine the one or more pieces so that user device 220 can provide the content to a user.
- content management device 210 can divide (e.g., disassemble, chunk, etc.) the content into one or more pieces (e.g., chunks, etc.). For example, content management device 210 can divide the content into the one or more pieces suitable for providing the content to network device 230 and/or user device 220 . In some implementations, content management device 210 can divide the content into the one or more pieces that have a size suitable for user device 220 to combine the one or more pieces so that user device 220 can
- content management device 210 can encrypt the one or more pieces of the content. For example, content management device 210 can encrypt the one or more pieces of the content based on symmetric cryptography, asymmetric cryptography, and/or the like to provide one or more pieces of encrypted content. In some implementations, content management device 210 can encrypt the one or more pieces of content based on the one or more encryption credentials included with the record of content. For example, content management device 210 can encrypt the one or more pieces of content using a predetermined cipher based on the one or more encryption credentials included with the record of content.
- content management device 210 can encrypt the one or more pieces of content based on one or more encryption keys (e.g., a symmetric key, an asymmetric key, a public key of a public/private key pair, etc.).
- the one or more encryption keys can be replaced and/or rotated (e.g., regularly, periodically, non-periodically, etc.).
- content management device 210 can encrypt groups of the one or more pieces of content based on the one or more encryption keys. For example, content management device 210 can encrypt a first group using a first encryption key, a second group using a second encryption key, a third group using a third encryption key, and/or the like. In some implementations, the first encryption key can be different from the second encryption key and/or the third encryption key and the second encryption key can be different from the third encryption key.
- content management device 210 can generate the one or more encryption credentials (e.g., one or more encryption keys, one or more symmetric keys, one or more asymmetric keys, etc.). For example, content management device 210 can generate a private key of a public/private key pair. In some implementations, content management device 210 can generate the private key of a public/private key pair based on user identification information included in the first communication received by content management device 210 . For example, content management device 210 can generate the private key of a public/private key pair based on the user identification information that was included in the first communication received by content management device 210 .
- the one or more encryption credentials e.g., one or more encryption keys, one or more symmetric keys, one or more asymmetric keys, etc.
- content management device 210 can generate a private key of a public/private key pair.
- content management device 210 can generate the private key of a public/private key pair based on the user identification information that was included in the first communication received by content management device 210
- content management device 210 can generate one or more references associated with the content so that each of the one or more references is associated with each of the one or more pieces of the content. For example, content management device 210 can generate a first reference that includes a hash of bytes that make up one piece of the one or more pieces of the content, a second reference that includes a hash of bytes that make up another piece of the one or more pieces of the content, and so on. In some implementations, content management device 210 can generate the record of content that includes the one or more references associated with each of the one or more pieces of the content and one or more encryption credentials that are associated with one or more encrypted pieces of the content.
- content management device 210 can generate a record of content that includes a reference associated with the content and one or more encryption credentials associated with the content.
- process 400 can include encrypting the record of content based on receiving the first communication (block 430 ).
- content management device 210 can encrypt the record of content based on receiving the first communication.
- content management device 210 can encrypt the record of content using symmetric cryptography and/or asymmetric cryptography. For example, the content management device 210 can encrypt the record of content based on a public key of a public/private key pair associated with the user and/or user device 220 . In some implementations, content management device 210 can encrypt the record of content based on one or more encryption credentials associated with the first communication. For example, the content management device 210 can encrypt the record of content based on the public key of the public/private key pair included in the first communication from user device 220 .
- content management device 210 can prevent an unauthorized party from accessing the record of content. In this way, content management device 210 can also prevent an authorized party from accessing the content.
- content management device 210 can encrypt the record based on authenticating and/or authorizing the user and/or user device 220 .
- content management device 210 can encrypt the record based on the public key of the public/private key pair included in the first communication after authenticating and/or authorizing the user and/or user device 220 .
- content management device 210 can encrypt the record of content based on receiving the first communication.
- process 400 can include providing the encrypted record of content to the user device based on receiving the first communication (block 440 ).
- content management device 210 can provide the encrypted record of content to user device 220 based on receiving the first communication.
- content management device 210 can provide the encrypted record based on the user identification information included with the first communication. For example, content management device 210 can provide the encrypted record to user device 220 based on a user identifier associated with the user and/or a device identifier associated with user device 220 .
- content management device 210 can provide the encrypted record of content to user device 220 via network device 230 .
- content management device 210 can provide the encrypted record of content to network device 230 and network device 230 can provide the encrypted record of content to user device 220 .
- content management device 210 can provide the encrypted record of content based on a device address of user device 220 and/or network device 230 .
- content management device 210 can provide the encrypted record of content to user device 220 based on the IP address of user device 220 included in the first communication.
- content management device 210 can provide the encrypted record of content based on receiving the first communication.
- process 400 can include receiving a second communication from the user device based on providing the encrypted record of content (block 450 ).
- content management device 210 can receive a second communication from user device 220 based on providing the encrypted record of content.
- the second communication can include a request based on the reference associated with the content that was included with the record of content (e.g., the encrypted record of content).
- the second communication can include a request that includes the reference associated with the content.
- the request can include the nameless reference that was included in the record of content.
- the second communication can include one or more communications (e.g., requests for content) from user device 220 .
- each of the one or more communications can correspond to each of the one or more pieces of the content.
- each of the one or more communications can correspond to each of the one or more encrypted pieces of the content.
- user device 220 can provide the one or more communications after decrypting the encrypted record of content using a private key of a public/private key pair used to encrypt the record of content, where the private key can be associated with the user and/or user device 220 .
- content management device 210 can receive the second communication via network device 230 .
- network device 230 can receive the second communication from user device 220 and content management device 210 can receive the second communication from network device 230 .
- content management device 210 can receive the second communication from network device 230 independent of a device address of content management device 210 and/or network device 230 .
- content management device 210 can receive the second communication from network device 230 based on a name associated with content management device 210 independent of an IP address of content management device 210 .
- the second communication can include a device address of user device 220 and/or network device 230 .
- the first communication can include an Internet Protocol (IP) address of user device 220 and/or network device 230 .
- content management device 210 can receive the second communication from network device 230 based on a device address of content management device 210 and/or network device 230 .
- IP Internet Protocol
- content management device 210 can receive a second communication from the user device based on providing the encrypted record of content.
- process 400 can include providing the content to the user device based on receiving the second communication (block 460 ).
- content management device 210 can provide the content to user device 220 based on receiving the second communication.
- content management device 210 can provide the content to user device 220 as the one or more pieces of content. For example, content management device 210 can provide each of the one or more pieces of content to user device 220 . In some implementations, content management device 210 can provide a single piece of the one or more encrypted pieces of content based on a single request for content from user device 220 .
- content management device 210 can reduce network traffic and utilization of computing resources associated with providing the content as a whole, as providing the content as the one or more pieces of content can allow the content to travel through a network (e.g., network 240 ) with less time delay.
- a network e.g., network 240
- content management device 210 can provide the content to user device 220 as a whole.
- content management device 210 can provide all of the content in a single communication to user device 220 .
- content management device 210 can provide the content to user device 220 as encrypted content. For example, content management device 210 can provide each of the one or more encrypted pieces of content to user device 220 . In some implementations, content management device 210 can provide a single encrypted piece of the one or more encrypted pieces of content based on a single request for content from user device 220 .
- content management device 210 can prevent an unauthorized party from accessing the content.
- content management device 210 can prevent an unauthorized party from accessing the content from a network device (e.g., network device 230 , etc.) that receives and stores the content.
- a network device e.g., network device 230 , etc.
- content management device 210 can provide the content (e.g., encrypted content) to user device 220 via network device 230 .
- content management device 210 can provide encrypted content to network device 230 and network device 230 can provide the encrypted content to user device 220 .
- content management device 210 and/or network device 230 can store the content (e.g., encrypted content) locally (e.g., in main memory, in cache memory, in secondary memory, etc.) on content management device 210 and/or network device 230 and/or on a storage component (e.g., tertiary storage, a hard disk drive (HDD), etc.) associated with content management device 210 and/or network device 230 .
- content management device 210 and/or network device 230 can store the encrypted content in cache memory of content management device 210 and/or network device 230 .
- network device 230 can provide the content (e.g., encrypted) to user device 220 independent of storing the content.
- content management device 210 can receive encrypted content from content management device 210 and network device 230 can provide the encrypted content to user device 220 without storing the encrypted content on network device 230 .
- content management device 210 can provide all of the one or more pieces of the content to network device 230 based on a request for content, associated with a piece of the one or more pieces of the content, from user device 220 .
- content management device 210 can receive a first request for content from user device 220 and the first request for content can be associated with a first piece of the one or more pieces of the content.
- Content management device 210 can provide all of the one or more pieces of the content to network device 230 , based on the first request for content, independent of a second request for content associated with a second piece of the one or more pieces.
- content management device 210 can provide the one or more pieces of the content to network device 230 so that network device 230 can expediently provide the one or more pieces of the content to user device 220 based on user device 220 requesting the one or more pieces.
- content management device 210 can allow network device 230 to provide the content to user device 220 with less time delay than content management device 210 can provide the content to user device 220 based on a subsequent request for content (e.g., subsequent to the first communication and/or the second communication). In this way, content management device 210 can also reduce network traffic and utilization of computing resources associated with a subsequent request for content, as the subsequent request for content might not need to be transmitted from user device 220 to the content management device 210 but instead from user device 220 to network device 230 that is closer to user device 220 than content management device 210 .
- content management device 210 and/or network device 230 can provide the content with less time delay than if the content were stored in main memory of content management device 210 and/or network device 230 .
- content management device 210 can identify a plurality of network devices 230 (e.g., two network devices 230 , three network devices 230 , etc.) that are closest to user device 220 . Content management device 210 can provide the content to each of the plurality of network devices 230 based on identifying the plurality of network devices 230 .
- a plurality of network devices 230 e.g., two network devices 230 , three network devices 230 , etc.
- content management device 210 can enable one or more network devices 230 of the plurality of network devices 230 to provide the content to user device 220 in case of a failure of the network device 230 that is closest to user device 220 .
- user device 220 can experience no change or little change in the way user device 220 receives the content as compared to the case where the network device 230 that is closest to user device 220 does not experience a failure.
- content management device 210 can provide the content via network device 230 .
- network device 230 can receive the content from content management device 210 and network device 230 can provide the content to user device 220 .
- content management device 210 can provide the content to network device 230 independent of a device address of content management device 210 and/or network device 230 .
- content management device 210 can provide the content to network device 230 based on a name associated with network device 230 independent of an IP address of network device 230 .
- content management device 210 can provide the content based on a device address of user device 220 and/or network device 230 .
- network device 230 can provide the content based on a communication (e.g., a request for content, etc.) associated with the content. For example, network device 230 can provide the content to user device 220 based on a third communication that requests the content and that is subsequent to the first communication (e.g., a first request for content from user device 220 ) and the second communication (e.g., a second request for content from user device 220 ). In some implementations, network device 230 can provide the content based on a request from user device 220 , another network device 230 , another content management device 210 , and/or the like.
- a communication e.g., a request for content, etc.
- network device 230 can provide the content to user device 220 based on a third communication that requests the content and that is subsequent to the first communication (e.g., a first request for content from user device 220 ) and the second communication (e.g., a second request for content from user device 220 ).
- content management device 210 can receive information associated with the content (e.g., type of content, length of content, frequency of requests for the content, etc.), the user that receives the content (e.g., user preferences, a user's demographic, etc.), and/or user device 220 that receives the content (e.g., a number of requests for the content, type and/or subject matter of content for which requests are most often provided, format of content that is acceptable, etc.).
- content management device 210 can track usage of the content based on the information associated with the content, the user that receives the content, and/or user device 220 that receives the content. For example, content management device 210 can track the content that requires a largest amount of bandwidth as the content is provided and/or received via network 240 .
- content management device 210 can generate one or more reports based on the information associated with the content, the user that receives the content, and/or user device 220 that receives the content. For example, content management device 210 can generate a report that includes a list of content that was requested most often by the user associated with user device 220 . Content management device 210 can use the one or more reports to predict content that the user may request in the future. Content management device 210 might send the predicted content to one or more network devices 230 so that the one or more network devices 230 can expeditiously service a request for the predicted content from user device 220 .
- content management device 210 can provide the content to the user device based on receiving the second communication.
- process 400 can include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in FIG. 4 . Additionally, or alternatively, two or more of the blocks of process 400 can be performed in parallel.
- content management device 210 can prevent an unauthorized party from accessing content associated with the content producer device.
- content management device 210 can prevent an unauthorized party from accessing a record of content regarding the content associated with content management device 210 .
- Content management device 210 can also prevent an unauthorized party from determining a name of content associated with content management device 210 .
- content management device 210 can reduce network traffic and utilization of computing resources associated with a request for content, as the request for content might not need to be transmitted from user device 220 to content management device 210 .
- Content management device 210 and/or network device 230 can also provide the content with less time delay than if the content were stored in main memory of content management device 210 and/or network device 230 .
- the term component is intended to be broadly construed as hardware, firmware, or a combination of hardware and software.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
Description
- Information-centric networking (ICN) can refer to a process of communicating an object (e.g., data, content, etc.) in a network (e.g., the Internet) based on a name of the object as opposed to an address of a network device associated with the object. For example, with ICN, a network device can provide an object to another network device in the network based on the name of the object instead of the address (e.g., an Internet Protocol (IP) address, etc.) associated with the other network device.
- Ubiquitous caching can refer to a process of storing an object in cache memory of a plurality of devices in a network. For example, the object can be stored in a cache memory of every device that the object is received by and/or transmitted by in the network. The object can then be provided, based on a request from a user device, from the network device that stored the object and that is nearest to the user device, allowing the object to traverse as few network devices as possible.
- In some implementations, a network that implements ICN can also implement ubiquitous caching.
-
FIG. 1 is a diagram of an overview of an example implementation described herein; -
FIG. 2 is a diagram of an example environment in which systems and/or methods, described herein, can be implemented; -
FIG. 3 is a diagram of example components of one or more devices ofFIG. 2 ; and -
FIG. 4 is a flow chart of an example process for controlling access to content in a network via encryption. - The following detailed description of example implementations refers to the accompanying drawings. The same reference numbers in different drawings can identify the same or similar elements.
- Information Centric Networking (ICN) can allow a user device (e.g., a host, an end host, an endpoint, a device associated with a content subscriber, etc.) to request content from a network based on a name associated with the content. In some implementations, ICN can allow the user device to receive the content from any network device in the network that stored the content and can allow the user device to trust the authenticity of the content (e.g., that the content is the content that the user device requested, that a particular creator produced the content, etc.) regardless of the network device that provides the content to the user device. For example, the user device can trust the authenticity of the content based on a content signature associated with the content. In some implementations, ICN can allow communication, or allow communication to continue, after a failure of a network device in the network.
- In some implementations, ICN can enable ubiquitous caching of the content throughout the network. Ubiquitous caching can allow the user device to provide a request for content and the user device can receive the content from the network device, nearest to the user device in the network, that stored the content (e.g., in a cache memory associated with that network device). In some implementations, ubiquitous caching can allow for a reduced time delay associated with providing content based on a request for the content from a user device.
- However, ubiquitous caching can provide challenges associated with controlling access to content. For example, ubiquitous caching can allow the content to be available throughout the network so that a user device can provide a request for the content based on the name of the content and the user device can receive the content, based on the request, from the network device that is closest to the user device and that has the content stored in cache memory. In such a case, the user device can receive the content without permission from a content owner (e.g., an owner of rights associated with the content, an author of the content, a holder of a copyright associated with the content, etc.) and/or another party (e.g., a party that provides the content, etc.) associated with the content.
- Furthermore, ubiquitous caching can prevent the content owner or the other party from determining an identity of a user associated with the user device and/or the user device that provides the request for the content and receives the content. Ubiquitous caching can also prevent the content owner or the other party from tracking information associated with the content, the user that receives the content, and/or the user device that receives the content.
- Implementations described herein include a content management device that can generate a record of content (e.g., a schedule of content, a list of content, a manifest file associated with content, etc.) that includes a reference associated with content and one or more encryption credentials associated with the content. In some implementations, the content management device can encrypt the record of content based on a first communication (e.g., a first request for content) from a user device. In some implementations, the first request can include user identification information associated with the user device and/or a user of the user device. In some implementations, the content management device can determine an identity of the user and/or the user device and can authenticate and/or authorize the user and/or the user device to receive the content based on the user identification information.
- In some implementations, the content management device can provide the encrypted record of content to the user device based on the first communication. In some implementations, the content management device can receive a second communication (e.g., a second request for content) from the user device based on providing the encrypted record of content. The content management device can provide the content to the user device based on receiving the second communication from the user device. In some implementations, the content management device can provide the content as encrypted content.
- In this way, the content management device can prevent an unauthorized party from accessing the content. In addition, the content management device can determine an identity of a user associated with a user device and/or the user device that provides a request for content and can authenticate and/or authorize the user and/or the user device to receive the content. Furthermore, the content management device can track information associated with the content (e.g., type of content, length of content, frequency of requests for the content, etc.), the user that receives the content (e.g., user preferences, a user's demographic, etc.), and/or the user device that receives the content (e.g., a number of requests for the content, type and/or subject matter of content for which requests are most often provided, format of content that is acceptable, etc.).
-
FIG. 1 is a diagram of an overview of anexample implementation 100 described herein. As shown inFIG. 1 , assume that the content management device can store content locally (e.g., in main memory, in cache memory, in secondary memory, etc.) on the content management device and/or on a storage component (e.g., tertiary storage, a hard disk drive (HDD), etc.) associated with the content management device. As shown byreference number 105, the content management device can receive a first request for content from the user device. In some implementations, the first request can include a public key of a public/private key and/or user identification information (e.g., user profile information, a user identifier, a device identifier, etc.) associated with a user of the user device and/or the user device. - As shown by
reference number 110, the content management device can generate a record of content (e.g., a manifest file) regarding content associated with (e.g., stored by) the content management device based on receiving the first request for content. For example, the manifest file can include a reference associated with the content and one or more encryption credentials associated with the content based on receiving the first request. In some implementations, the content management device can generate the reference associated with the content, where the reference can be an encoded name of the content to disguise the name of the content from unauthorized parties. - By generating the reference associated with the content, the content management device can prevent an unauthorized party from determining a name of content associated with the content management device. In this way, the content management device can prevent an unauthorized party from accessing the content.
- In some implementations, the one or more encryption credentials can be used to encrypt the content. For example, the one or more encryption credentials can include a private key of a public/private key pair that the content management device can use to encrypt the content.
- As shown by
reference number 115, the content management device can encrypt the manifest file based on the first request. For example, the content management device can encrypt the manifest file using the public key included in the first request. As shown byreference number 120, the content management device can provide the encrypted manifest file to the user device based on the first request. - By encrypting the manifest file and providing the encrypted manifest file, the content management device can prevent an unauthorized party other than the user of the user device from accessing the manifest file. In this way, the content management device can also prevent the unauthorized party from accessing the content.
- As shown by
reference number 125, the content management device can receive a second request for content from the user device based on providing the encrypted manifest file. In some implementations, the second request can include the reference associated with the content that was included in the manifest file. In some implementations, the content management device can determine the content to be provided based on the reference associated with the content received with the second request. - As shown by
reference number 130, the content management device can provide the content to the user device based on the second request from the user device. In some implementations, the content management device can provide the content based on the reference associated with the content received with the second request for content from the user device. - In some implementations, the content management device can provide the content as encrypted content. For example, the content management device can encrypt the content based on the one or more credentials included in the manifest file and the content management device can provide encrypted content to the user device.
- In some implementations, the content management device can provide the encrypted content to the user device via one or more network devices (e.g., one or more servers, one or more forwarding devices, one or more edge devices, etc.) in a network associated with the content management device. For example, the content management device can provide the encrypted content to the one or more network devices and the one or more network devices can provide the encrypted content to the user device. In some implementations, the one or more network devices can store the encrypted content. In some implementations, the one or more network devices can provide the encrypted content to the user device with less time delay than the content management device can provide the encrypted content to the user device based on a subsequent request for the content because the one or more network devices might be geographically closer to the user device than the content management device.
- By providing encrypted content to the user device, the content management device can prevent an unauthorized party from accessing the content. In this way, the content management device can prevent the unauthorized party from accessing the encrypted content from the content management device and/or from one or more network devices that receive and store the encrypted content.
- By providing encrypted content to the user device via one or more network devices that store the encrypted content, the content management device can allow the one or more network devices to provide the encrypted content to the user device with less time delay than the content management device can provide the encrypted content to the user device based on a subsequent request for content. In this way, the content management device can reduce network traffic and utilization of computing resources associated with a request for content, as the request for content might not need to be transmitted from the user device to the content management device but instead from the user device to the one or more network devices.
- In this way, the content management device can prevent an unauthorized party from accessing content associated with the content management device. In addition, the content management device can prevent an unauthorized party from accessing a manifest file regarding the content associated with the content management device. The content management device can also prevent an unauthorized party from determining a name of content associated with the content management device. In addition, the content management device can reduce network traffic and utilization of computing resources associated with a request for content, as the request for content might not need to be transmitted from the user device to the content management device.
- As indicated above,
FIG. 1 is provided merely as an example. Other examples are possible and can differ from what was described with regard toFIG. 1 . -
FIG. 2 is a diagram of anexample environment 200 in which systems and/or methods, described herein, can be implemented. As shown inFIG. 2 ,environment 200 can includecontent management device 210,user device 220,network device 230, andnetwork 240. Devices ofenvironment 200 can interconnect via wired connections, wireless connections, or a combination of wired and wireless connections. -
Content management device 210 includes a device capable of originating content, generating content and/or a record of content, encrypting the record of content, encrypting the content, receiving a communication associated with the content (e.g., a request for the content), providing the record of content (e.g., unencrypted, encrypted, etc.), and/or providing the content (e.g., unencrypted, encrypted, etc.) touser device 220 and/ornetwork device 230. For example,content management device 210 can include a server device, a centralized server, a media server, a streaming device, a group of server devices, one or more devices provided in a cloud environment, and/or a similar type of device. -
User device 220 includes one or more devices capable of receiving, storing, processing, and/or providing content received fromcontent management device 210 and/ornetwork device 230. For example,user device 220 can include a display device, a video wall, a television, a computer monitor, a smart phone, a tablet computer, a laptop computer, a desktop computer, a set top box, a smart television, a projector, and/or the like. In some implementations,user device 220 can includenetwork device 230. In some implementations,user device 220 can be a component of a display device. -
Network device 230 includes one or more devices capable of receiving content fromcontent management device 210 and/or anothernetwork device 230, storing the content locally (e.g., in main memory, in cache memory, in secondary memory, etc.) onnetwork device 230 and/or on a storage component (e.g., tertiary storage, a hard disk drive (HDD), etc.) associated withnetwork device 230, and/or providing the content touser device 220. For example,network device 230 can include a gateway, an edge server, a server device, a group of server devices, a data center (e.g., a multi-server micro data center), a workstation computer, one or more devices provided in a cloud environment, a router, a switch, a hub, and/or a similar type of device. In some implementations,network device 230 can be geographically closer touser device 220 thancontent management device 210. In other words,network device 230 can be located at an edge position of a network (e.g., network 240) associated withcontent management device 210. In some implementations, at least one other device (e.g., a server device) can be located betweennetwork device 230 anduser device 220. In other words,network device 230 can be in an intermediate position in a network associated withcontent management device 210. -
Network 240 includes one or more wired and/or wireless networks. For example,network 240 can include a cellular network (e.g., a long-term evolution (LTE) network, a code division multiple access (CDMA) network, a 3G network, a 4G network, a 5G network, another type of next generation network (NGN), etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber optic-based network, a cloud computing network, and/or the like, and/or a combination of these or other types of networks. In some implementations,network 240 can implement one or more aspects associated with Information Centric Networking (ICN) and/or ubiquitous caching. - The number and arrangement of devices and networks shown in
FIG. 2 are provided as an example. In practice, there can be additional devices and/or networks, fewer devices and/or networks, different devices and/or networks, or differently arranged devices and/or networks than those shown inFIG. 2 . Furthermore, two or more devices shown inFIG. 2 can be implemented within a single device, or a single device shown inFIG. 2 can be implemented as multiple, distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) ofenvironment 200 can perform one or more functions described as being performed by another set of devices ofenvironment 200. -
FIG. 3 is a diagram of example components of adevice 300.Device 300 can correspond tocontent management device 210,user device 220, and/ornetwork device 230. In some implementations,content management device 210,user device 220, and/ornetwork device 230 can include one ormore devices 300 and/or one or more components ofdevice 300. As shown inFIG. 3 ,device 300 can include abus 310, aprocessor 320, amemory 330, astorage component 340, aninput component 350, anoutput component 360, and acommunication interface 370. -
Bus 310 includes a component that permits communication among the components ofdevice 300.Processor 320 is implemented in hardware, firmware, or a combination of hardware and software.Processor 320 is a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or another type of processing component. In some implementations,processor 320 includes one or more processors capable of being programmed to perform a function.Memory 330 includes a random access memory (RAM), a read only memory (ROM), and/or another type of dynamic or static storage device (e.g., a flash memory, a magnetic memory, and/or an optical memory) that stores information and/or instructions for use byprocessor 320. -
Storage component 340 stores information and/or software related to the operation and use ofdevice 300. For example,storage component 340 can include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optic disk, and/or a solid state disk), a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a cartridge, a magnetic tape, and/or another type of non-transitory computer-readable medium, along with a corresponding drive. -
Input component 350 includes a component that permitsdevice 300 to receive information, such as via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, and/or a microphone). Additionally, or alternatively,input component 350 can include a sensor for sensing information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, and/or an actuator).Output component 360 includes a component that provides output information from device 300 (e.g., a display, a speaker, and/or one or more light-emitting diodes (LEDs)). -
Communication interface 370 includes a transceiver-like component (e.g., a transceiver and/or a separate receiver and transmitter) that enablesdevice 300 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections.Communication interface 370 can permitdevice 300 to receive information from another device and/or provide information to another device. For example,communication interface 370 can include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, or the like. -
Device 300 can perform one or more processes described herein.Device 300 can perform these processes in response toprocessor 320 executing software instructions stored by a non-transitory computer-readable medium, such asmemory 330 and/orstorage component 340. A computer-readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices. - Software instructions can be read into
memory 330 and/orstorage component 340 from another computer-readable medium or from another device viacommunication interface 370. When executed, software instructions stored inmemory 330 and/orstorage component 340 can causeprocessor 320 to perform one or more processes described herein. Additionally, or alternatively, hardwired circuitry can be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software. - The number and arrangement of components shown in
FIG. 3 are provided as an example. In practice,device 300 can include additional components, fewer components, different components, or differently arranged components than those shown inFIG. 3 . Additionally, or alternatively, a set of components (e.g., one or more components) ofdevice 300 can perform one or more functions described as being performed by another set of components ofdevice 300. -
FIG. 4 is a flow chart of anexample process 400 for controlling access to content in a network via encryption. In some implementations, one or more process blocks ofFIG. 4 can be performed bycontent management device 210. In some implementations, one or more process blocks ofFIG. 4 can be performed by another device or a group of devices separate from or includingcontent management device 210, such asuser device 220 and/ornetwork device 230. - As shown in
FIG. 4 ,process 400 can include receiving a first communication from a user device (block 410). For example,content management device 210 can receive the first communication fromuser device 220. - In some implementations, the first communication can include a namespace. For example,
content management device 210 can include the namespace associated with a user ofuser device 220 and/oruser device 220. In some implementations, the namespace can include an identifier of content associated withcontent management device 210 and user identification information (e.g., user profile information, a user identifier, a device identifier, etc.) associated with the user and/oruser device 220. In some implementations, the namespace can be based on a username (e.g., associated with the user and/or user device 220), a password (e.g., associated with the user and/or user device 220), a nonce word (e.g., associated with the user and/or user device 220), and/or the identifier of the content. In some implementations,content management device 210 can determine content associated with the user and/oruser device 220 based on the namespace. - By receiving a namespace,
content management device 210 can reduce a utilization of computing resources associated with determining the content that is authorized to be accessed by the user and/oruser device 220. - In some implementations, the first communication can include an identifier (e.g., a name of the content, the reference associated with the content, a Universal Resource Locator (URL), a Uniform Resource Identifier (URI), a Logical Channel Identifier (LCI), a Logical Channel Number (LCN), etc.) of content associated with
content management device 210. For example, the first communication can include a name of content that is stored bycontent management device 210. - In some implementations, the first communication can include a request from
user device 220. For example, the first communication can include a request for content associated withcontent management device 210 fromuser device 220. In some implementations,content management device 210 can receive the first communication fromuser device 220 independent of a device address ofcontent management device 210 and/oruser device 220. For example,content management device 210 can receive the first communication based on a name associated withcontent management device 210 independent of an IP address ofcontent management device 210. - In some implementations, the first communication can include one or more encryption credentials (e.g., one or more user encryption credentials) associated with a user of
user device 220 and/oruser device 220. For example, the first communication can include one or more encryption keys associated with the user and/oruser device 220. In some implementations, the first communication can include a public key of a public/private key pair that is associated with the user and/oruser device 220. - Additionally, or alternatively, the first communication can include user identification information (e.g., user profile information, a user identifier, a device identifier, etc.) associated with the user and/or
user device 220. In some implementations, the user identifier can include a type-length-value (TLV) element based on the user and/oruser device 220. In some implementations, the TLV element can be based on a username, a password, and/or a nonce word associated with the user and/oruser device 220. In some implementations,content management device 210 can include a data structure (e.g., a database, etc.) that includes one or more TLV elements associated with content (e.g., content associated with content management device 210). For example,content management device 210 can include a database that includes a list of references associated with the content and/or names of the content associated with the one or more TLV elements. Each entry in the list of content can be associated with a TLV element of the one or more TLV elements. In some implementations,content management device 210 can determine content associated with the user and/oruser device 220 based on the data structure that includes one or more TLV elements associated with the content. - By including a data structure (e.g., a database, etc.) that includes one or more TLV elements associated with content,
content management device 210 can reduce a utilization of computing resources associated with determining the content that is authorized to be accessed by the user and/oruser device 220. - In some implementations, the first communication can include a user identification reference to disguise the user identification information associated with the user and/or
user device 220. For example, the user identification reference can include an encoded name, a nameless reference, a unique identifier associated with the user identification information, a reference generated via an encryption scheme, a reference generated via an encryption scheme based on an identifier (e.g., a name) associated with the user and/oruser device 220, a reference generated via a hash function, and/or the like. The user identification reference may prevent an unauthorized party from determining the user identification information associated with the user and/oruser device 220. In some implementations,content management device 210 can determine user identification information associated with the user and/oruser device 220 based on the user identification reference. - In some implementations, the user identification information can include an indication (e.g., a flag) that the user identification information might not be stored by
content management device 210. For example, the user identifier can include a do not cache flag. By providing an indication (e.g., a flag) that the user identification information might not be stored bycontent management device 210,content management device 210 can prevent an unauthorized party from obtaining the user identification information fromcontent management device 210 and using the user identification information to request content fromcontent management device 210. In this way,content management device 210 can prevent an unauthorized party from accessing the content based on a request for content that includes the user identification information. - In some implementations,
content management device 210 can receive the first communication vianetwork device 230. For example,network device 230 can receive the first communication fromuser device 220 andcontent management device 210 can receive the first communication fromnetwork device 230. In some implementations,content management device 210 can receive the first communication fromnetwork device 230 independent of a device address ofcontent management device 210 and/ornetwork device 230. For example,content management device 210 can receive the first communication fromnetwork device 230 based on a name associated withcontent management device 210 independent of an IP address ofcontent management device 210. In some implementations, the first communication can include a device address ofuser device 220 and/ornetwork device 230. For example, the first communication can include an Internet Protocol (IP) address ofuser device 220 and/ornetwork device 230. - In some implementations,
content management device 210 can validate that the content associated with the first communication can be provided. For example,content management device 210 can validate that the content associated with the first communication fromuser device 220 can be provided bycontent management device 210. In some implementations,content management device 210 can determine thatcontent management device 210 has the content stored locally (e.g., in main memory, in cache memory, in secondary memory, etc.) oncontent management device 210 and/or on a storage component (e.g., tertiary storage, a hard disk drive (HDD), etc.) associated withcontent management device 210 based on a name of the content included in the first communication. For example,content management device 210 can compare the name of the content included in the first communication to the reference associated with the content to determine that the content is stored bycontent management device 210. In some implementations,content management device 210 can receive the first communication fromnetwork device 230 based on a device address ofcontent management device 210 and/ornetwork device 230. - In some implementations,
content management device 210 can determine an identity of the user and/oruser device 220 based on the user identification information. For example,content management device 210 can determine the identity of the user and/oruser device 220 by comparing the user identification information included in the first communication to a list of user names associated with user identification information and determining a user name that corresponds to the user identification information included in the first communication. - In some implementations,
content management device 210 can authenticate and/or authorize the user and/oruser device 220 for access to the content. For example,content management device 210 can determine that the user and/oruser device 220 is authenticated and/or authorized to access the content based on the user identification information included in the first communication and/or based on validating that the content can be provided. In some implementations,content management device 210 can determine that the user and/oruser device 220 is authenticated for access to the content based on the user identification information and authentication information (e.g., a password, answer to a security question, etc.). In some implementations, the user identification information can include the authentication information. - In some implementations,
content management device 210 can determine that the user and/oruser device 220 is authorized to access the content by comparing the name of the content and the user identification information to a list of content associated with user identification information and determining that the name of the content is included in the list of content associated with the user identification information. - In some implementations,
content management device 210 can obtain user identification information independent of the first communication. For example,content management device 210 can causeuser device 220 to provide a prompt to the user to provide the user identification information tocontent management device 210 viauser device 220. - By authenticating and/or authorizing a user and/or
user device 220,content management device 210 can prevent an unauthenticated and/or an unauthorized user and/oruser device 220 from accessing the content. - In some implementations, the first communication can include one or more communications (e.g., requests for content) from
user device 220. For example, each of the one or more communications can correspond to each of one or more records of content. In some implementations, each of the one or more communications can correspond to each of one or more encrypted records of the content. - In this way,
content management device 210 can receive a first communication from a user device. - As further shown in
FIG. 4 ,process 400 can include generating a record of content that includes a reference associated with the content and one or more encryption credentials associated with the content (block 420). For example,content management device 210 can generate the record of content that includes the reference associated with the content and the one or more encryption credentials associated with the content. - In some implementations, the record of content can include a schedule of the content, a list of the content, a manifest file associated with the content, and/or the like. For example, the record of content can include a manifest file of content stored by
content management device 210. In some implementations,content management device 210 can generate the record of content independent of receiving the first communication (e.g., before receiving the first communication, concurrently with receiving the first communication, or after receiving the first communication). - In some implementations, the reference associated with the content can include a reference to disguise the name of the content. For example, the reference associated with the content can include an encoded name, a nameless reference, a unique identifier associated with the content, a reference generated via an encryption scheme, a reference generated via an encryption scheme based on an identifier (e.g., a name) associated with the content, a reference generated via a hash function, and/or the like. The reference associated with the content may prevent an authorized party from determining the content, based on a name of the content, which is associated with
content management device 210. - In some implementations, the reference associated with the content can include one or more additional records of content (e.g., one or more additional manifest files, etc.) associated with the content. For example, the reference associated with the content can include a first manifest file that includes a pointer to a second manifest file.
- In some implementations, the one or more encryption credentials associated with the content can include an encryption credential that can be used to encrypt the content. For example, the one or more encryption credentials can include a symmetric key, an asymmetric key, a private key of a public/private key pair, and/or the like. By including the one or more encryption credentials associated with the content in the record of content,
content management device 210 can permit the user and/oruser device 220 to access the content and/or requesting the content. - In some implementations, the content can include any content that can be provided via user device 220 (e.g., video, audio, text, a video call, an audio call, linear video, live content, live streaming media, live video, live audio, live television, recorded content, gaming content, on-demand streaming media, interactive content, web objects, downloadable objects, applications, social media information, etc.). In some implementations, the content can be associated with
content management device 210. For example, the content can include content that is generated by, stored on, received by, provided by, and/or to be provided bycontent management device 210. In some implementations,content management device 210 can receive the content from anothercontent management device 210, anetwork device 230, and/or the like. - In some implementations, the content can include encrypted content. For example, the content can include encrypted content that was encrypted based on symmetric cryptography (e.g., shared secret encryption), asymmetric cryptography (e.g., public key encryption (PKE)), and/or the like. In some implementations,
content management device 210 can encrypt the content. For example,content management device 210 can encrypt the content based on symmetric cryptography, asymmetric cryptography, and/or the like. In some implementations,content management device 210 can encrypt the content using the one or more encryption credentials included with the record of content. - In some implementations,
content management device 210 can generate the record of content based on the first communication (e.g., a request for content) fromuser device 220. For example, the record of content can be generated based on identification information (e.g., a name of a user associated withuser device 220, user identification information associated with the user and/oruser device 220, a device identifier associated withuser device 220, a user identifier associated with the user, an IP address ofuser device 220, etc.) included with the first communication. - By generating the record of content based on the first communication,
content management device 210 may provide a record of content that is associated with the user and/oruser device 220. In this way,content management device 210 can reduce utilization of computing resources associated with generating a record of content that is associated with more content than the content associated with the user and/or user device 220 (e.g., all content associated with content management device 210). - In some implementations,
content management device 210 can generate the reference associated with the content. For example,content management device 210 can generate the reference associated with the content based on an encoding scheme, an encryption scheme, a hash function, and/or the like. - In some implementations,
content management device 210 can divide (e.g., disassemble, chunk, etc.) the content into one or more pieces (e.g., chunks, etc.). For example,content management device 210 can divide the content into the one or more pieces suitable for providing the content to networkdevice 230 and/oruser device 220. In some implementations,content management device 210 can divide the content into the one or more pieces that have a size suitable foruser device 220 to combine the one or more pieces so thatuser device 220 can provide the content to a user. - In some implementations,
content management device 210 can encrypt the one or more pieces of the content. For example,content management device 210 can encrypt the one or more pieces of the content based on symmetric cryptography, asymmetric cryptography, and/or the like to provide one or more pieces of encrypted content. In some implementations,content management device 210 can encrypt the one or more pieces of content based on the one or more encryption credentials included with the record of content. For example,content management device 210 can encrypt the one or more pieces of content using a predetermined cipher based on the one or more encryption credentials included with the record of content. In some implementations,content management device 210 can encrypt the one or more pieces of content based on one or more encryption keys (e.g., a symmetric key, an asymmetric key, a public key of a public/private key pair, etc.). In some implementations, the one or more encryption keys can be replaced and/or rotated (e.g., regularly, periodically, non-periodically, etc.). - In some implementations,
content management device 210 can encrypt groups of the one or more pieces of content based on the one or more encryption keys. For example,content management device 210 can encrypt a first group using a first encryption key, a second group using a second encryption key, a third group using a third encryption key, and/or the like. In some implementations, the first encryption key can be different from the second encryption key and/or the third encryption key and the second encryption key can be different from the third encryption key. - In some implementations,
content management device 210 can generate the one or more encryption credentials (e.g., one or more encryption keys, one or more symmetric keys, one or more asymmetric keys, etc.). For example,content management device 210 can generate a private key of a public/private key pair. In some implementations,content management device 210 can generate the private key of a public/private key pair based on user identification information included in the first communication received bycontent management device 210. For example,content management device 210 can generate the private key of a public/private key pair based on the user identification information that was included in the first communication received bycontent management device 210. - In some implementations,
content management device 210 can generate one or more references associated with the content so that each of the one or more references is associated with each of the one or more pieces of the content. For example,content management device 210 can generate a first reference that includes a hash of bytes that make up one piece of the one or more pieces of the content, a second reference that includes a hash of bytes that make up another piece of the one or more pieces of the content, and so on. In some implementations,content management device 210 can generate the record of content that includes the one or more references associated with each of the one or more pieces of the content and one or more encryption credentials that are associated with one or more encrypted pieces of the content. - In this way,
content management device 210 can generate a record of content that includes a reference associated with the content and one or more encryption credentials associated with the content. - As further shown in
FIG. 4 ,process 400 can include encrypting the record of content based on receiving the first communication (block 430). For example,content management device 210 can encrypt the record of content based on receiving the first communication. - In some implementations,
content management device 210 can encrypt the record of content using symmetric cryptography and/or asymmetric cryptography. For example, thecontent management device 210 can encrypt the record of content based on a public key of a public/private key pair associated with the user and/oruser device 220. In some implementations,content management device 210 can encrypt the record of content based on one or more encryption credentials associated with the first communication. For example, thecontent management device 210 can encrypt the record of content based on the public key of the public/private key pair included in the first communication fromuser device 220. - By encrypting the record of content,
content management device 210 can prevent an unauthorized party from accessing the record of content. In this way,content management device 210 can also prevent an authorized party from accessing the content. - In some implementations,
content management device 210 can encrypt the record based on authenticating and/or authorizing the user and/oruser device 220. For example,content management device 210 can encrypt the record based on the public key of the public/private key pair included in the first communication after authenticating and/or authorizing the user and/oruser device 220. - In this way,
content management device 210 can encrypt the record of content based on receiving the first communication. - As further shown in
FIG. 4 ,process 400 can include providing the encrypted record of content to the user device based on receiving the first communication (block 440). For example,content management device 210 can provide the encrypted record of content touser device 220 based on receiving the first communication. - In some implementations,
content management device 210 can provide the encrypted record based on the user identification information included with the first communication. For example,content management device 210 can provide the encrypted record touser device 220 based on a user identifier associated with the user and/or a device identifier associated withuser device 220. - In some implementations,
content management device 210 can provide the encrypted record of content touser device 220 vianetwork device 230. For example,content management device 210 can provide the encrypted record of content to networkdevice 230 andnetwork device 230 can provide the encrypted record of content touser device 220. - In some implementations,
content management device 210 can provide the encrypted record of content based on a device address ofuser device 220 and/ornetwork device 230. For example,content management device 210 can provide the encrypted record of content touser device 220 based on the IP address ofuser device 220 included in the first communication. - In this way,
content management device 210 can provide the encrypted record of content based on receiving the first communication. - As further shown in
FIG. 4 ,process 400 can include receiving a second communication from the user device based on providing the encrypted record of content (block 450). For example,content management device 210 can receive a second communication fromuser device 220 based on providing the encrypted record of content. - In some implementations, the second communication can include a request based on the reference associated with the content that was included with the record of content (e.g., the encrypted record of content). For example, the second communication can include a request that includes the reference associated with the content. In some implementations, the request can include the nameless reference that was included in the record of content.
- In some implementations, the second communication can include one or more communications (e.g., requests for content) from
user device 220. For example, each of the one or more communications can correspond to each of the one or more pieces of the content. In some implementations, each of the one or more communications can correspond to each of the one or more encrypted pieces of the content. - In some implementations,
user device 220 can provide the one or more communications after decrypting the encrypted record of content using a private key of a public/private key pair used to encrypt the record of content, where the private key can be associated with the user and/oruser device 220. - In some implementations,
content management device 210 can receive the second communication vianetwork device 230. For example,network device 230 can receive the second communication fromuser device 220 andcontent management device 210 can receive the second communication fromnetwork device 230. In some implementations,content management device 210 can receive the second communication fromnetwork device 230 independent of a device address ofcontent management device 210 and/ornetwork device 230. For example,content management device 210 can receive the second communication fromnetwork device 230 based on a name associated withcontent management device 210 independent of an IP address ofcontent management device 210. In some implementations, the second communication can include a device address ofuser device 220 and/ornetwork device 230. For example, the first communication can include an Internet Protocol (IP) address ofuser device 220 and/ornetwork device 230. In some implementations,content management device 210 can receive the second communication fromnetwork device 230 based on a device address ofcontent management device 210 and/ornetwork device 230. - In this way,
content management device 210 can receive a second communication from the user device based on providing the encrypted record of content. - As further shown in
FIG. 4 ,process 400 can include providing the content to the user device based on receiving the second communication (block 460). For example,content management device 210 can provide the content touser device 220 based on receiving the second communication. - In some implementations,
content management device 210 can provide the content touser device 220 as the one or more pieces of content. For example,content management device 210 can provide each of the one or more pieces of content touser device 220. In some implementations,content management device 210 can provide a single piece of the one or more encrypted pieces of content based on a single request for content fromuser device 220. - By providing the content as one or more pieces of content,
content management device 210 can reduce network traffic and utilization of computing resources associated with providing the content as a whole, as providing the content as the one or more pieces of content can allow the content to travel through a network (e.g., network 240) with less time delay. - In some implementations,
content management device 210 can provide the content touser device 220 as a whole. For example,content management device 210 can provide all of the content in a single communication touser device 220. - In some implementations,
content management device 210 can provide the content touser device 220 as encrypted content. For example,content management device 210 can provide each of the one or more encrypted pieces of content touser device 220. In some implementations,content management device 210 can provide a single encrypted piece of the one or more encrypted pieces of content based on a single request for content fromuser device 220. - By providing the content as encrypted content,
content management device 210 can prevent an unauthorized party from accessing the content. In this way,content management device 210 can prevent an unauthorized party from accessing the content from a network device (e.g.,network device 230, etc.) that receives and stores the content. - In some implementations,
content management device 210 can provide the content (e.g., encrypted content) touser device 220 vianetwork device 230. For example,content management device 210 can provide encrypted content to networkdevice 230 andnetwork device 230 can provide the encrypted content touser device 220. In some implementations,content management device 210 and/ornetwork device 230 can store the content (e.g., encrypted content) locally (e.g., in main memory, in cache memory, in secondary memory, etc.) oncontent management device 210 and/ornetwork device 230 and/or on a storage component (e.g., tertiary storage, a hard disk drive (HDD), etc.) associated withcontent management device 210 and/ornetwork device 230. For example,content management device 210 and/ornetwork device 230 can store the encrypted content in cache memory ofcontent management device 210 and/ornetwork device 230. - In some implementations,
network device 230 can provide the content (e.g., encrypted) touser device 220 independent of storing the content. For example,network device 230 can receive encrypted content fromcontent management device 210 andnetwork device 230 can provide the encrypted content touser device 220 without storing the encrypted content onnetwork device 230. - In some implementations,
content management device 210 can provide all of the one or more pieces of the content to networkdevice 230 based on a request for content, associated with a piece of the one or more pieces of the content, fromuser device 220. For example,content management device 210 can receive a first request for content fromuser device 220 and the first request for content can be associated with a first piece of the one or more pieces of the content.Content management device 210 can provide all of the one or more pieces of the content to networkdevice 230, based on the first request for content, independent of a second request for content associated with a second piece of the one or more pieces. - In this way,
content management device 210 can provide the one or more pieces of the content to networkdevice 230 so thatnetwork device 230 can expediently provide the one or more pieces of the content touser device 220 based onuser device 220 requesting the one or more pieces. - By providing content to
user device 220 vianetwork device 230 andnetwork device 230 storing the content,content management device 210 can allownetwork device 230 to provide the content touser device 220 with less time delay thancontent management device 210 can provide the content touser device 220 based on a subsequent request for content (e.g., subsequent to the first communication and/or the second communication). In this way,content management device 210 can also reduce network traffic and utilization of computing resources associated with a subsequent request for content, as the subsequent request for content might not need to be transmitted fromuser device 220 to thecontent management device 210 but instead fromuser device 220 tonetwork device 230 that is closer touser device 220 thancontent management device 210. - By storing content in cache memory,
content management device 210 and/ornetwork device 230 can provide the content with less time delay than if the content were stored in main memory ofcontent management device 210 and/ornetwork device 230. - In some implementations,
content management device 210 can identify a plurality of network devices 230 (e.g., twonetwork devices 230, threenetwork devices 230, etc.) that are closest touser device 220.Content management device 210 can provide the content to each of the plurality ofnetwork devices 230 based on identifying the plurality ofnetwork devices 230. - By identifying a
plurality network devices 230 that are closest touser device 220 and providing the content to the plurality ofnetwork devices 230,content management device 210 can enable one ormore network devices 230 of the plurality ofnetwork devices 230 to provide the content touser device 220 in case of a failure of thenetwork device 230 that is closest touser device 220. In this way,user device 220 can experience no change or little change in theway user device 220 receives the content as compared to the case where thenetwork device 230 that is closest touser device 220 does not experience a failure. - In some implementations,
content management device 210 can provide the content vianetwork device 230. For example,network device 230 can receive the content fromcontent management device 210 andnetwork device 230 can provide the content touser device 220. In some implementations,content management device 210 can provide the content to networkdevice 230 independent of a device address ofcontent management device 210 and/ornetwork device 230. For example,content management device 210 can provide the content to networkdevice 230 based on a name associated withnetwork device 230 independent of an IP address ofnetwork device 230. In some implementations,content management device 210 can provide the content based on a device address ofuser device 220 and/ornetwork device 230. - In some implementations,
network device 230 can provide the content based on a communication (e.g., a request for content, etc.) associated with the content. For example,network device 230 can provide the content touser device 220 based on a third communication that requests the content and that is subsequent to the first communication (e.g., a first request for content from user device 220) and the second communication (e.g., a second request for content from user device 220). In some implementations,network device 230 can provide the content based on a request fromuser device 220, anothernetwork device 230, anothercontent management device 210, and/or the like. - In some implementations,
content management device 210 can receive information associated with the content (e.g., type of content, length of content, frequency of requests for the content, etc.), the user that receives the content (e.g., user preferences, a user's demographic, etc.), and/oruser device 220 that receives the content (e.g., a number of requests for the content, type and/or subject matter of content for which requests are most often provided, format of content that is acceptable, etc.). In some implementations,content management device 210 can track usage of the content based on the information associated with the content, the user that receives the content, and/oruser device 220 that receives the content. For example,content management device 210 can track the content that requires a largest amount of bandwidth as the content is provided and/or received vianetwork 240. - In some implementations,
content management device 210 can generate one or more reports based on the information associated with the content, the user that receives the content, and/oruser device 220 that receives the content. For example,content management device 210 can generate a report that includes a list of content that was requested most often by the user associated withuser device 220.Content management device 210 can use the one or more reports to predict content that the user may request in the future.Content management device 210 might send the predicted content to one ormore network devices 230 so that the one ormore network devices 230 can expeditiously service a request for the predicted content fromuser device 220. - In this way,
content management device 210 can provide the content to the user device based on receiving the second communication. - Although
FIG. 4 shows example blocks ofprocess 400, in some implementations,process 400 can include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted inFIG. 4 . Additionally, or alternatively, two or more of the blocks ofprocess 400 can be performed in parallel. - In this way,
content management device 210 can prevent an unauthorized party from accessing content associated with the content producer device. In addition,content management device 210 can prevent an unauthorized party from accessing a record of content regarding the content associated withcontent management device 210.Content management device 210 can also prevent an unauthorized party from determining a name of content associated withcontent management device 210. In addition,content management device 210 can reduce network traffic and utilization of computing resources associated with a request for content, as the request for content might not need to be transmitted fromuser device 220 tocontent management device 210.Content management device 210 and/ornetwork device 230 can also provide the content with less time delay than if the content were stored in main memory ofcontent management device 210 and/ornetwork device 230. - The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or can be acquired from practice of the implementations.
- As used herein, the term component is intended to be broadly construed as hardware, firmware, or a combination of hardware and software.
- To the extent the aforementioned embodiments collect, store, or employ personal information provided by individuals, it should be understood that such information shall be used in accordance with all applicable laws concerning protection of personal information. Additionally, the collection, storage, and use of such information can be subject to consent of the individual to such activity, for example, through well known “opt-in” or “opt-out” processes as can be appropriate for the situation and type of information. Storage and use of personal information can be in an appropriately secure manner reflective of the type of information, for example, through various encryption and anonymization techniques for particularly sensitive information.
- It will be apparent that systems and/or methods, described herein, can be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and/or methods is not limiting of the implementations. Thus, the operation and behavior of the systems and/or methods were described herein without reference to specific software code—it being understood that software and hardware can be designed to implement the systems and/or methods based on the description herein.
- Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features can be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below can directly depend on only one claim, the disclosure of possible implementations includes each dependent claim in combination with every other claim in the claim set.
- No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items, and can be used interchangeably with “one or more.” Furthermore, as used herein, the term “set” is intended to include one or more items (e.g., related items, unrelated items, a combination of related and unrelated items, etc.), and can be used interchangeably with “one or more.” Where only one item is intended, the term “one” or similar language is used. Also, as used herein, the terms “has,” “have,” “having,” or the like are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
Claims (20)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/466,044 US11153282B2 (en) | 2017-03-22 | 2017-03-22 | Controlling access to content in a network |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/466,044 US11153282B2 (en) | 2017-03-22 | 2017-03-22 | Controlling access to content in a network |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20180278424A1 true US20180278424A1 (en) | 2018-09-27 |
| US11153282B2 US11153282B2 (en) | 2021-10-19 |
Family
ID=63581906
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US15/466,044 Active 2038-05-07 US11153282B2 (en) | 2017-03-22 | 2017-03-22 | Controlling access to content in a network |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US11153282B2 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11153282B2 (en) * | 2017-03-22 | 2021-10-19 | Verizon Patent And Licensing Inc. | Controlling access to content in a network |
| US20230155819A1 (en) * | 2021-11-15 | 2023-05-18 | Electronics And Telecommunications Research Institute | Method for protecting data for information centric in-network computing and system using the same |
Citations (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020095568A1 (en) * | 1999-12-20 | 2002-07-18 | Norris Jeffrey S. | Securely and autonomously synchronizing data in a distributed computing environment |
| US20070101139A1 (en) * | 1999-08-02 | 2007-05-03 | Leonard Bayer | System for protecting information over the internet |
| US20080120657A1 (en) * | 2006-11-16 | 2008-05-22 | Sui Wu Dong | Multimedia client/server system with secure access data sharing and methods for use therewith |
| US7392378B1 (en) * | 2003-03-19 | 2008-06-24 | Verizon Corporate Services Group Inc. | Method and apparatus for routing data traffic in a cryptographically-protected network |
| US20120042332A1 (en) * | 2010-08-11 | 2012-02-16 | Andrew Augustine Wajs | Method and system for providing encrypted content to a plurality of user devices |
| US20130003977A1 (en) * | 2006-05-03 | 2013-01-03 | Farrugia Augustin J | Device-independent management of cryptographic information |
| US20130080772A1 (en) * | 2011-09-26 | 2013-03-28 | Unicorn Media, Inc. | Dynamic encryption |
| US20140019498A1 (en) * | 2010-02-22 | 2014-01-16 | Asaf CIDON | System, method and computer readable medium for file management |
| US20150287432A1 (en) * | 2012-03-20 | 2015-10-08 | Panasonic Corporation | Server device, playback device and content distribution system |
| US9178694B2 (en) * | 2009-04-29 | 2015-11-03 | Empire Technology Development Llc | Securing backing storage data passed through a network |
| US20150372817A1 (en) * | 2013-07-25 | 2015-12-24 | Adobe Systems Incorporated | Network-based Service Content Protection |
| US20160198202A1 (en) * | 2012-12-10 | 2016-07-07 | Koninklijke Kpn N.V. | Digital Rights Management for Segmented Content |
| US20160224799A1 (en) * | 2015-02-03 | 2016-08-04 | Palo Alto Research Center Incorporated | Access control framework for information centric networking |
| US20160267023A1 (en) * | 2015-03-13 | 2016-09-15 | Fujitsu Limited | Data management method, information processing system, and terminal device |
| US20170078723A1 (en) * | 2008-07-01 | 2017-03-16 | Sling Media Inc. | Systems and methods for securely streaming media content |
| US9906510B2 (en) * | 2015-02-10 | 2018-02-27 | Airwatch Llc | Virtual content repository |
| US20180139303A1 (en) * | 2002-04-26 | 2018-05-17 | Sony Corporation | Centralized selection of peers as media data sources in a dispersed peer network |
| US20180255030A1 (en) * | 2011-08-29 | 2018-09-06 | Salesforce.Com, Inc. | Methods and systems of data security in browser storage |
| US20180276349A1 (en) * | 2015-05-18 | 2018-09-27 | Mitsubishi Electric Corporation | Digital content editing apparatus, digital content playback apparatus, digital content decrypting apparatus, web content playback apparatus, web content decrypting apparatus, digital content encrypting/decrypting system, and digital content encrypting/decrypting method |
| US20190306133A1 (en) * | 2016-05-23 | 2019-10-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Obscured retrieval sequence for information centric networking (icn) encoded video streams |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11153282B2 (en) * | 2017-03-22 | 2021-10-19 | Verizon Patent And Licensing Inc. | Controlling access to content in a network |
-
2017
- 2017-03-22 US US15/466,044 patent/US11153282B2/en active Active
Patent Citations (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070101139A1 (en) * | 1999-08-02 | 2007-05-03 | Leonard Bayer | System for protecting information over the internet |
| US20020095568A1 (en) * | 1999-12-20 | 2002-07-18 | Norris Jeffrey S. | Securely and autonomously synchronizing data in a distributed computing environment |
| US20180139303A1 (en) * | 2002-04-26 | 2018-05-17 | Sony Corporation | Centralized selection of peers as media data sources in a dispersed peer network |
| US7392378B1 (en) * | 2003-03-19 | 2008-06-24 | Verizon Corporate Services Group Inc. | Method and apparatus for routing data traffic in a cryptographically-protected network |
| US20130003977A1 (en) * | 2006-05-03 | 2013-01-03 | Farrugia Augustin J | Device-independent management of cryptographic information |
| US20080120657A1 (en) * | 2006-11-16 | 2008-05-22 | Sui Wu Dong | Multimedia client/server system with secure access data sharing and methods for use therewith |
| US20170078723A1 (en) * | 2008-07-01 | 2017-03-16 | Sling Media Inc. | Systems and methods for securely streaming media content |
| US20180199086A1 (en) * | 2008-07-01 | 2018-07-12 | Sling Media L.L.C. | Systems and methods for systems and methods for securely streaming media content |
| US9178694B2 (en) * | 2009-04-29 | 2015-11-03 | Empire Technology Development Llc | Securing backing storage data passed through a network |
| US20140019498A1 (en) * | 2010-02-22 | 2014-01-16 | Asaf CIDON | System, method and computer readable medium for file management |
| US20120042332A1 (en) * | 2010-08-11 | 2012-02-16 | Andrew Augustine Wajs | Method and system for providing encrypted content to a plurality of user devices |
| US20180255030A1 (en) * | 2011-08-29 | 2018-09-06 | Salesforce.Com, Inc. | Methods and systems of data security in browser storage |
| US20130080772A1 (en) * | 2011-09-26 | 2013-03-28 | Unicorn Media, Inc. | Dynamic encryption |
| US20150287432A1 (en) * | 2012-03-20 | 2015-10-08 | Panasonic Corporation | Server device, playback device and content distribution system |
| US20160198202A1 (en) * | 2012-12-10 | 2016-07-07 | Koninklijke Kpn N.V. | Digital Rights Management for Segmented Content |
| US20150372817A1 (en) * | 2013-07-25 | 2015-12-24 | Adobe Systems Incorporated | Network-based Service Content Protection |
| US20160224799A1 (en) * | 2015-02-03 | 2016-08-04 | Palo Alto Research Center Incorporated | Access control framework for information centric networking |
| US9906510B2 (en) * | 2015-02-10 | 2018-02-27 | Airwatch Llc | Virtual content repository |
| US20160267023A1 (en) * | 2015-03-13 | 2016-09-15 | Fujitsu Limited | Data management method, information processing system, and terminal device |
| US20180276349A1 (en) * | 2015-05-18 | 2018-09-27 | Mitsubishi Electric Corporation | Digital content editing apparatus, digital content playback apparatus, digital content decrypting apparatus, web content playback apparatus, web content decrypting apparatus, digital content encrypting/decrypting system, and digital content encrypting/decrypting method |
| US20190306133A1 (en) * | 2016-05-23 | 2019-10-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Obscured retrieval sequence for information centric networking (icn) encoded video streams |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11153282B2 (en) * | 2017-03-22 | 2021-10-19 | Verizon Patent And Licensing Inc. | Controlling access to content in a network |
| US20230155819A1 (en) * | 2021-11-15 | 2023-05-18 | Electronics And Telecommunications Research Institute | Method for protecting data for information centric in-network computing and system using the same |
| KR20230070662A (en) * | 2021-11-15 | 2023-05-23 | 한국전자통신연구원 | Method for protecting data for information centric in-network computing and system using the same |
| KR102650733B1 (en) | 2021-11-15 | 2024-03-26 | 한국전자통신연구원 | Method for protecting data for information centric in-network computing and system using the same |
| US12192341B2 (en) * | 2021-11-15 | 2025-01-07 | Electronics And Telecommunications Research Institute | Method for protecting data for information centric in-network computing and system using the same |
Also Published As
| Publication number | Publication date |
|---|---|
| US11153282B2 (en) | 2021-10-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11153290B2 (en) | Advanced security protocol for broadcasting and synchronizing shared folders over local area network | |
| US12177351B2 (en) | Authorized data sharing using smart contracts | |
| US11829502B2 (en) | Data sharing via distributed ledgers | |
| CN112581126A (en) | Block chain-based platform data management method and device and storage medium | |
| US8751800B1 (en) | DRM provider interoperability | |
| CN107579958B (en) | Data management method, device and system | |
| US20140019753A1 (en) | Cloud key management | |
| JP7421771B2 (en) | Methods, application servers, IOT devices and media for implementing IOT services | |
| US11146552B1 (en) | Decentralized application authentication | |
| WO2014207554A2 (en) | Method and apparatus for providing database access authorization | |
| CN114239046A (en) | data sharing method | |
| KR20130039354A (en) | Database management system and encrypting method thereof | |
| US20180367308A1 (en) | User authentication in a dead drop network domain | |
| US9413769B2 (en) | Key management system for toll-free data service | |
| US20140310519A1 (en) | Method and apparatus for controlling access in a social network service | |
| US12184763B2 (en) | Sharing access to data externally | |
| RU2475839C2 (en) | Cryptographic management of access to documents | |
| US20200327251A1 (en) | Media content privacy control | |
| JP2016072769A (en) | Data management system, data management method, and client terminal | |
| JP2006236349A5 (en) | ||
| US11153282B2 (en) | Controlling access to content in a network | |
| KR102131976B1 (en) | User terminal apparatus and method for providing personal information thereby | |
| CN105518696B (en) | Operation is executed to data storage | |
| US11843619B1 (en) | Stateless system to enable data breach notification | |
| Thota et al. | Split key management framework for Open Stack Swift object storage cloud |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: VERIZON PATENT AND LICENSING INC., NEW JERSEY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SARDESAI, ASHISH;PACELLA, DANTE J.;TADAYON, MANI;REEL/FRAME:041683/0761 Effective date: 20170321 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |