The present disclosure relates to systems and methods of accessing digital content.
Digital content such as computer software products, video games, music, and any other media capable of being embodied in digital format may be sold or licensed to an end user customer. Accordingly, it may be desirable to provide contextual curated content sequence management, which may include contextual curated content sequence management under unit-based licensing.
Disclosed herein are aspects, features, elements, implementations, and embodiments of contextual curated content sequence management.
In an embodiment, a method of accessing content using contextual curated content sequence management is disclosed. Accessing content using contextual curated content sequence management may include receiving a request for a sequence of content, wherein the request for the sequence of content includes a context indicator identifying a context, a curator indicator identifying a content curator, and a user indicator identifying a user, and generating, by a processor in response to instructions stored on a non-transitory computer readable medium, the sequence of content. Generating the sequence of content may include identifying a plurality of content objects, and including content objects from the plurality of content objects in the sequence of content based on the context and the content curator. Accessing content using contextual curated content sequence management may include transmitting at least one content object from the sequence of content for presentation to the user.
In another embodiment, a method of accessing content using contextual curated content sequence management is disclosed. Accessing content using contextual curated content sequence management may include receiving a request for a sequence of content, wherein the request for the sequence of content includes a context indicator identifying a context, a curator indicator identifying a content curator, and a user indicator identifying a user, and generating, by a processor in response to instructions stored on a non-transitory computer readable medium, the sequence of content. Generating the sequence of content may include identifying a plurality of content objects, identifying a plurality of curated content objects from the plurality of content objects, wherein each content object from the plurality of curated content objects is associated with a positive evaluation of the respective content object by the content curator for the context, and including content objects from the plurality of curated content objects in the sequence of content. Accessing content using contextual curated content sequence management may include transmitting at least one content object from the sequence of content for presentation to the user.
In another embodiment, a method of accessing content using contextual curated content sequence management is disclosed. Accessing content using contextual curated content sequence management may include receiving a content evaluation message, the content evaluation message including a content object indicator identifying a first content object, a user indicator identifying a first user, an evaluation indicator identifying an evaluation of the first content object by the first user, and a context indicator indicating a context associated with the evaluation by the first user, wherein the first content object is one of a plurality of content objects, and, in response to receiving the content evaluation message, storing content evaluation information indicating the first content object, the evaluation, and the context, and indicating the first user as a content curator for the content evaluation information. Accessing content using contextual curated content sequence management may include receiving a request for a sequence of content, wherein the request for the sequence of content includes the context indicator, a curator identifier indicating the content curator, and a user indicator identifying a second user, and, in response to receiving the request for the sequence of content, generating, by a processor in response to instructions stored on a non-transitory computer readable medium, the sequence of content. Generating the sequence of content may include identifying a plurality of curated content objects from the plurality of content objects, wherein each content object from the plurality of curated content objects is associated with a positive evaluation of the respective content object by the content curator for the context, and wherein on a condition that the evaluation identified by the content evaluation message is a positive evaluation, the plurality of curated content objects includes the first content object, and including content objects from the plurality of curated content objects in the sequence of content. Accessing content using contextual curated content sequence management may include transmitting at least one content object from the sequence of content for presentation to the user.
Variations in these and other aspects, features, elements, implementations, and embodiments of the methods, apparatus, procedures, and algorithms disclosed herein are described in further detail hereafter.
The description herein makes reference to the accompanying drawings wherein like reference numerals refer to like parts throughout the several views, and wherein:
A user may access content, such as digital content, via a device, such as a smartphone or a personal computer. Content may be organized and accessed via content sequences, such as stations or playlists. In some embodiments, a content sequence, such as a station, may be generated based on similarity to an identified content object. For example, a music station generated based on an identified song may include other songs similar to the identified song. However, the management and control over content sequences may be limited and inefficient.
In some embodiments, contextual curated content sequence management may improve the management and control over content sequences. Contextual curated content sequence management may include receiving and storing contextual content evaluation information indicating positive evaluations of content, by users of the content, for use in defined contexts, such as activities. For example, the contextual content evaluation information may indicate that a user liked listening to a first song while exercising and liked listening to a second song while relaxing. Contextual curated content sequence management may include generating curated contextual content sequences based on the contextual content evaluation information. In some embodiments, a group of users may generate contextual content evaluation information by evaluating content for use in various contexts, and curated contextual content sequences may be generated based on the contextual content evaluation information for a user following the group, and may include content enjoyed by members of the group in the corresponding context. For example, a user may generate a curated contextual music station for exercising based on a group the user follows, and the curated contextual music station may include songs that members of the group liked to listen to while exercising based on the stored contextual content evaluation information.
The aspects, features, elements, and embodiments of methods, procedures, or algorithms disclosed herein, or any part or parts thereof, may be implemented in a computer program, software, or firmware incorporated in a non-transitory computer-readable storage medium for execution by a computer or processor, such as a special purpose computer or processor, and may be implemented as a computer program product, such as a computer program product accessible from a tangible computer-usable or computer-readable medium.
As used herein, the terminology “computer” or “device” includes any unit, or combination of units, capable of performing any method, or any portion or portions thereof, disclosed herein. Devices may further include mobile devices that may include user equipment, a wireless transmit/receive unit, a mobile station, a fixed or mobile subscriber unit, a pager, a cellular telephone, a personal digital assistant (PDA), a computer, or any other type of user device capable of operating in a mobile environment.
As used herein, the terminology “processor” includes a single processor or multiple processors, such one or more special purpose processors, one or more digital signal processors, one or more microprocessors, one or more controllers, one or more microcontrollers, one or more Application Specific Integrated Circuits (ASICs), one or more Application Specific Standard Products (ASSPs); one or more Field Programmable Gate Arrays (FPGAs) circuits, any other type or combination of integrated circuits (ICs), one or more state machines, or any combination thereof.
As used herein, the terminology “memory” includes any computer-usable or computer-readable medium or device that can, for example, tangibly contain, store, communicate, or transport any signal or information for use by or in connection with any processor. Examples of computer-readable storage mediums may include one or more read only memories, one or more random access memories, one or more registers, one or more cache memories, one or more semiconductor memory devices, one or more magnetic media, such as internal hard disks and removable disks, one or more magneto-optical media, one or more optical media such as CD-ROM disks, and digital versatile disks (DVDs), or any combination thereof.
As used herein, the terminology “example”, “embodiment”, “implementation”, “aspect”, “feature”, or “element” indicate serving as an example, instance, or illustration. Unless expressly indicated, any example, embodiment, implementation, aspect, feature, or element is independent of each other example, embodiment, implementation, aspect, feature, or element and may be used in combination with any other example, embodiment, implementation, aspect, feature, or element.
As used herein, the terminology “determine” and “identify”, or any variations thereof, includes selecting, ascertaining, computing, looking up, receiving, determining, establishing, obtaining, or otherwise identifying or determining in any manner whatsoever using one or more of the devices shown and described herein.
As used herein, the terminology “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise, or clear from context, “X includes A or B” is intended to indicate any of the natural inclusive permutations. That is, if X includes A; X includes B; or X includes both A and B, then “X includes A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form.
As used herein, the terminology “digital content” may include computer software programs, video games, music, movies, videos, or any other media that may be embodied in digital form, and which may be accessed, downloaded, input, or otherwise transferred to a computer or processor. Digital content may include digital data or digital files that may be processed by external application programs or may be executed by external software, hardware, or both. As used herein, the terminology “content” may include live content or fixed content. Fixed content may include any content that may be presented from a tangible storage medium, such as digital content. Live content may include any content that may be accessed substantially concurrently with the creation or generation of the content, such as the presentation of a movie in a movie theater, a concert, a sporting event, or any other live event.
As used herein, the terminology “event” may include any presentation, distribution, or display of content capable of concurrent, or nearly concurrent, access by multiple users. For example, an event may include a physical presentation, such a presentation at a movie theater, concert hall, park, venue, museum, or restaurant, or a virtual presentation, such as a broadcast over the Internet or a television broadcast.
As used herein, the terminology “access” or “accessing” may include presenting, downloading, executing, streaming, or otherwise interacting, or enabling interaction, with a digital content object or event. In some embodiments, digital content objects may be executed, stored, or both, at a provider location. In some embodiments, digital content objects may be stored locally on a customer network or customer device and the digital content objects may be executed or run on the customer network or device.
In some embodiments, accessing content using for contextual curated content sequence management may include unit-based licensing. A creator or owner of content, such as digital content, may control access to the content by licensing the content to end users. For example, licensing may include controlling the right to access content, which may include controlling the right to display, perform, distribute, or reproduce the content. Unit-based licensing may include licensing that controls access to content by allocating licensing units to a customer account, such that one or more licensing units may be redeemed or charged to access one or more events or digital content objects. For example, in some embodiments, a content provider may redeem licensing units and provide content in response to a request for access by a customer.
In some embodiments, a node based license may indicate that content is accessible by a unique device, such as a computer, a unique account, such as an account associated with an individual user, or a combination of a unique device and a unique account. In some embodiments, a network based license may indicate that content is accessible by one or more devices within a specified network. For example, a defined number of devices within the network may concurrently access the content. In some embodiments, a license, including a node based license or a network based license, may be associated with a unique content object or event, or with a suite of related content objects and events.
As used herein, the terminology “assigned units”, “price”, “licensing price” or variations thereof, may include an assigned number of licensing units that may be exchanged or redeemed to access a particular event or digital content object. As used herein, the terminology “licensed units” or “allocated units” may refer to a total number of units provided to a customer or customer group. As used herein, the terminology “checked out units”, “redeemed units”, or “exchanged units” may refer to assigned units charged to a customer for events or digital content being accessed. “Available units” may refer to a difference between licensed units and checked out units. In some embodiments, licensing units may be temporarily or permanently exchanged for access. Temporarily exchanged licensing units may be returned to the pool of available units associated with the customer upon termination or completion of content access. Returned units may be included in the available units allocated to the customer and may be redeemed for access to other events or digital content.
Further, for simplicity of explanation, although the figures and descriptions herein may include sequences or series of steps or stages, elements of the methods disclosed herein may occur in various orders or concurrently. Additionally, elements of the methods disclosed herein may occur with other elements not explicitly presented and described herein. Furthermore, not all elements of the methods described herein may be required to implement a method in accordance with this disclosure. Although aspects, features, and elements are described herein in particular combinations, each aspect, feature, or element may be used independently or in various combinations with or without other aspects, features, and elements.
In some embodiments, customer system 110 may be associated with an individual user or customer, and the user may access events or digital content using licensing units allocated to the user or to an account representing the user. In some embodiments, customer system 110 may comprise devices and networks through which a customer or user may access digital content from provider 120, or register for, or access, events. For example, as shown in
In some implementations, customer system 110 may be associated with a collection or group of customers, or members, and shared licensing units may be allocated to the group. For example, a group may include one or more families, a classroom of students, a small business, a social group, or any other organization capable of licensing events or digital content such that members of the group are capable of accessing the events or digital content.
In some embodiments, elements of the customer system 110, such as customer network 160 and customer device 170, may communicate with each other or with elements external to the customer system 110, such as the provider 120. For example, customer network 160 and customer device 170 may independently communicate through communication network 130.
In some embodiments, customer network 160 may include one or more individual nodes 162/164, a customer server 166, a host processor (CPU) 168, or any combination thereof. A node 162/164 may be a device, such as a computer, and may access digital content. For example, a node 162/164 may access digital content in response to user input. Although
In some embodiments, customer device 170 may be any device, such as a computer or mobile device, capable of accessing digital content. In some embodiments, a customer device 170 may include a processor, such as CPU 172.
In some embodiments, provider 120 may be a device or system configured to provide access to digital content to one or more licensed customers. For example, provider 120 may include an Internet Protocol (IP) network-based unit, such as a website service, that implements methods for controlling access to events or digital content. In some embodiments, provider 120 may provide customer system 110 access to digital content objects, which may be included in a suite of digital content. In some embodiments, provider 120 may be any system configured to control access to or registration for events by licensed customers. Although
In some embodiments, the provider 120 may include an event provider (not shown separately) and may control access to or registration for one or more events. The event provider may be any system configured to receive a request to access or register for an event and output a response indicating whether access or registration is granted. In some embodiments, the request for access may include a request to register for the event, which may include receiving registration information. In some embodiments, the event provider may be the provider 120. In some embodiments, event provider may be separate from provider 120. Although shown as a single unit in
In some implementations, contextual curated content sequence management may include communication between the customer system 110 and the provider 120 via the communication network 130. The communication network 130 may be a local area network (LAN), wide area network (WAN), virtual private network (VPN), a mobile or cellular telephone network, the Internet, or any other electronic communication medium. Although not explicitly shown in
In some embodiments, a license manager (LM) 140 may be included in the communication system 100. License manager 140 may control the access to events, digital content, or both, provided by provider 120. Although shown as a separate unit, in some embodiments, license manager 140 may be incorporated with provider 120, customer system 110, or both. In some embodiments, the license manager 140 may monitor content access for the customer system 110. For example, the license manager 140 may detect the termination or conclusion of access to content.
In some embodiments, license manager 140 may generate and maintain a log. The log may include a record of a number of available units that may be used by the customer system 110 at any given time. In some embodiments, the license manager 140 may update the log for each change of the available units for customer system 110. For example, the log may be updated to indicate a change in the available units in response to the accessing of events or digital content from provider 120, the termination of the access of events or digital content, or a change in pricing of events or digital content being accessed by the customer. In some embodiments, the log may be a file, or database, stored in a memory in communication with provider 120 or license manager 140.
Although not shown in
Although not shown separately in
In some embodiments, accessing content using contextual curated content sequence management may include receiving a content evaluation message at 200, storing content evaluation information at 210, receiving a content sequence request at 220, generating a content sequence at 230, transmitting the content sequence at 240, or a combination thereof.
In some embodiments, a content evaluation message may be received at 200. In some embodiments, a device, such as the customer device 170, shown in
In some embodiments, the contextual evaluation information may include a content object indicator, which may uniquely identify a content object, which may be a digital content object, such as a computer software program, a video game, music, a movie, or a video. In some embodiments, the contextual evaluation information may include a user indicator, which may identify the user of the device. In some embodiments, the contextual evaluation information may include a context indicator, which may indicate a context, such as an activity. For example, the context indicator may indicate working, cleaning, cooking, driving, partying, relaxing, studying, exercising, or any other defined context not directly identified by the content, within which the content may be accessed. In some embodiments, the contextual evaluation information may include an evaluation indicator, which may identify an evaluation, such as a positive evaluation, a negative evaluation, a scaled evaluation, or any other quantifiable subjective evaluation of the content object determined by the user for the context. In an example, the content may be music, such as a recording of a song, and the contextual evaluation information may indicate a positive assessment of the music within the context of exercising.
In some embodiments, receiving the content evaluation information at 200 may include receiving content evaluation information indicating ratings for multiple content objects within a context. In some embodiments, receiving the content evaluation information at 200 may include receiving content evaluation information indicating ratings for a content object within multiple contexts. For example, receiving the content evaluation information at 200 may include receiving content evaluation information indicating a positive evaluation for a song within an exercising context, and may include receiving content evaluation information indicating a negative evaluation for the song for use in a relaxing context.
In some embodiments, content evaluation information may be stored at 210. For example, a device, such as the customer device 170 shown in
In some embodiments, a content sequence request may be received at 220. In some embodiments, a device, such as the customer device 170, shown in
In some embodiments, the request for the sequence of content may include a context indicator, which may indicate a content type, such as music, movies, images, or any other type of digital content. In some embodiments, the request for the sequence of content may include a context indicator, which may indicate a context. In some embodiments, the request for the sequence of content may include a user indicator identifying the user that initiated the content sequence request. In some embodiments, the request for the sequence of content may include a curator indicator identifying a content curator. In some embodiments, the curator indicator may identify a user, a group of users, a type of users, or a user relationship.
In some embodiments, a content sequence, such as a station or playlist, may be generated at 230. For example, a device, such as the customer device 170 shown in
In some embodiments, generating the content sequence at 230 may include identifying one or more content curators based on the content curator identifier indicated in the content sequence request received at 220. For example, the content sequence request may indicate a current user, may indicate a user relationship, such as following, and generating the content sequence at 230 may include identifying users that the current user is following as content creators for the request.
In some embodiments, generating the content sequence at 230 may include identifying available content, such as content available from the content provider or content available for use by the current user.
In some embodiments, generating the content sequence at 230 may include identifying a previously generated content sequence generated based on the content curators for the context and updating the previously generated content sequence to include content based on positive evaluations received subsequent to generating the previously generated content sequence.
In some embodiments, curated content may be identified from the available content. The curated content may be identified based on content evaluation information associated with the content. For example, content evaluation information associated with an available content object may indicate that the content curator indicated by the content sequence request gave the content object a positive evaluation for use in the content indicated by the content sequence request, and the content object may be included in the curated content.
In some embodiments, a content object may be included in the curated content more than once. For example, the content curator indicated by the content sequence request may include multiple users, such as users followed by the user indicated by the content sequence request, content evaluation information associated with the content object may indicate positive evaluations for use in the content from more than one of the content curator users, and the content object may be included in the curated content once for each unique positive evaluation.
In some embodiments, some available content may be omitted from the curated content. For example, evaluation information generated by the content curator for the context may be unavailable for some content. In some embodiments, the available content omitted from the curated content may be identified as candidate content. In some embodiments, content associated with a negative evaluation by the content curator for the context may be omitted from the candidate content. In some embodiments, the candidate content may include content objects from the curated content.
In some embodiments, selected content may be automatically identified from the candidate content based on the curated content. For example, a content object from the candidate content may be similar to a content object from the curated content, and may be included in the selected content. In some embodiments, automatically identifying similar content may include determining a value of a similarity metric for each candidate content object. The value of the similarity metric may indicate a similarity between the candidate content object and one or more of the curated content objects. In some embodiments, a candidate content object that has a similarity metric value that exceeds a similarity threshold may be included in the selected content objects. In some embodiments, a candidate content object that has a similarity metric value that is within, such as less than or equal to, the similarity threshold may be omitted from the selected content objects. In some embodiments, other content may be included in the content sequence. For example, content may be identified and included in the content sequence based on one or more metrics other than the similarity metric, or random content may be included in the content sequence. In some embodiments, including the content in the content sequence may include determining a target ratio, such as sixty percent curated content, for including curated content relative to selected content, and including curated content and selected content based on the target ratio.
In some embodiments, content may be included in the content sequence. In some embodiments, the curated content, or a portion thereof, may be included in the content sequence. In some embodiments, the selected content, or a portion thereof, may be included in the content sequence. In some embodiments, the curated content, or a portion thereof, and the selected content, or a portion thereof, may be included in the content sequence. In some embodiments, the content included in the content sequence may be included in any order, such as a random order, a pseudo-random order, a temporal order based on content creation, a temporal order based on the corresponding positive evaluation, or any other order.
In some embodiments, identifying the curated content, the candidate content, the selected content, or a combination thereof may be omitted. For example, available content may be included in the content sequence, which may include, evaluating each content object, including content for which available content evaluation information indicates a positive evaluation by the content curator for the context, including automatically identified content similar to content for which available content evaluation information indicates a positive evaluation by the content curator for the context, or including a combination of positively rated curated content and automatically identified similar content.
In some embodiments, the content sequence may be transmitted at 240. For example, the content sequence may be generated by a content provider, such as the content provider 120 shown in
In some embodiments, sending the content sequence at 240 may include identifying content from the content sequence, determining a cardinality of assigned units for the content, identifying a cardinality of available licensing units allocated to the user that requested the content sequence, determining that the cardinality of the assigned units is within the cardinality of the available licensing units, and sending the content. In some embodiments, the cardinality of the assigned units may exceed the cardinality of the available licensing units, and sending the content may be omitted.
In some embodiments, a user, a customer, or a group thereof accessing content using a shared pool of allocated licensing units, and the user, or group, may concurrently access multiple content objects. For example, a user may access a first content sequence via a first device and may concurrently access a second content sequence via a second device. In some embodiments, determining the cardinality of assigned units for multiple concurrently accessed content objects may include determining the cardinality of assigned units using stacking, leveling, or a combination thereof, such as weighted leveling.
Stacking may include identifying the cardinality of assigned units as a sum of a cardinality of assigned units for each concurrently accessed content object. For example, a first concurrently accessed content object may have a cardinality of assigned units of five, a second concurrently accessed content object may have a cardinality of assigned units of ten, and the cardinality of assigned units may be identified as 15 (5+10=15).
Leveling may include identifying the cardinality of assigned units as the maximum or peak cardinality of assigned units from among the cardinality of assigned units for each concurrently accessed content object. For example, a first concurrently accessed content object may have a cardinality of assigned units of five, a second concurrently accessed content object may have a cardinality of assigned units of ten, and the cardinality of assigned units may be identified as 10 (MAX[5, 10]=10).
In some embodiments, a combination of leveling licensing and stacking licensing, such as weighted leveling licensing, may be used. Weighted leveling licensing may include identifying a number, or cardinality, of assigned units for concurrently accessing content objects as a weighted average of the cardinality of assigned units for each of the concurrently accessed content object.
In some embodiments, a weight may be identified for weighted leveling licensing. For example, a first content object may have a cardinality of assigned units of five, a second concurrently accessed content object may have a cardinality of assigned units of ten, a weighted leveling licensing weight, such as eighty percent, may be identified, and the cardinality of assigned units may be identified based on the cardinality of assigned units for the first content object, the cardinality of assigned units for the second content object, and the weight, as 12 (0.8(5+10)=12).
In some embodiments, a weight may be identified for each concurrently accessed content object. For example, a first content object may have a cardinality of assigned units of five and a weight of eighty percent, a second concurrently accessed content object may have a cardinality of assigned units of ten and a weight of eighty percent, and the cardinality of assigned units may be identified as a sum of the weighted cardinality for the first content object and the weighted cardinality for the second content object, as 12 (0.8(5)+0.8(10)=12).
The context control portion 420 includes context indication controls 422/424/426/428. In some embodiments, a context indication control 422/424/426/428 may be identified in response to input, such as user input, selecting the respective context indication control 422/424/426/428. In some embodiments, a selected context indication control may be visually differentiated from unselected context indication controls. For example, the ‘Cooking’ context indication control 424 is shown with a stippled background to indicated that it is a selected context indication control. Although not expressly shown in
In some embodiments, one or more of the context indication controls 422/424/426/428 currently included in the context control portion 420 may be omitted from the context control portion 420 and one or more additional context indication controls (not shown) may be included in the context control portion 420. For example, the context indication controls included in the context control portion 420 may change in response to input, such as user input, scrolling, swiping, or dragging horizontally across the context control portion 420.
The content curator control portion 430 includes content curator controls 432/434/436. In some embodiments, a content curator control 432/434/436 may be identified in response to input, such as user input, selecting a content curator control 432/434/436. In some embodiments, a selected content curator control may be visually differentiated from unselected content curator controls. For example, the ‘Users I'm Following’ content curator control 432 is shown with a stippled background to indicate that it is a selected content curator control. Although not expressly shown in
In some embodiments, the content sequence request generation control 440 may be inactive, such as greyed out, until a context and a curator are selected. In some embodiments, a curated content sequence may be generated as shown in
The content control portion 620 includes a curator portion 626, which indicates the content curator that positively reviewed the currently active content object for the currently active context. The curator portion 626 may include a name of the content curator, as indicated by the bold text ‘Content Curator’. In some implementations, the curator portion 626 may be superimposed on the pictographic representation 624 of the current active content object. In some implementations, information regarding the content curator, such as profile information, may be presented in response to input, such as user input, selecting the content curator portion 626. In some implementations, the curator portion 626 may be omitted. For example, the currently active content may be curated by the user that requested the content sequence, and the curator portion 626 may be omitted.
The content sequence control portion 630 includes controls, such as the edit content sequence control 632 and the positive evaluation control 634. In some embodiments, an edit content sequence user interface may be presented in response to input, such as user input, selecting the edit content sequence control 632. The edit content sequence user interface may be similar to the user interface 400 for controlling the generation of a content sequence request shown in
In some embodiments, a context indication control 720-736 may be selected. For example, the anything control 736 may be automatically selected. In another example, a context indication control 720-736 may be selected in response to input, such as user input, selecting the context indication control 720-736.
In some embodiments, a message or signal indicating an evaluation and a selected context for the current content object may be generated and sent, and may be received as shown at 200 in
Although
Although not shown in
While the invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not to be limited to the disclosed embodiments but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims, which scope is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures as is permitted under the law.