WO2017136875A1 - A social media platform server for serving a social media interface for the creation and configuration of composite node data structures and inter-node event messaging - Google Patents

A social media platform server for serving a social media interface for the creation and configuration of composite node data structures and inter-node event messaging Download PDF

Info

Publication number
WO2017136875A1
WO2017136875A1 PCT/AU2017/050059 AU2017050059W WO2017136875A1 WO 2017136875 A1 WO2017136875 A1 WO 2017136875A1 AU 2017050059 W AU2017050059 W AU 2017050059W WO 2017136875 A1 WO2017136875 A1 WO 2017136875A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
composite
social media
nodes
platform server
Prior art date
Application number
PCT/AU2017/050059
Other languages
French (fr)
Inventor
George LUKA
Original Assignee
Enterprise Software Services Pty Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2016900486A external-priority patent/AU2016900486A0/en
Application filed by Enterprise Software Services Pty Ltd filed Critical Enterprise Software Services Pty Ltd
Publication of WO2017136875A1 publication Critical patent/WO2017136875A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles

Definitions

  • a social media platform server for serving a social media interface for the creation and configuration of composite node data structures and inter-node event messaging
  • the present invention relates to social media node data structures and their creation and manipulation by users through appropriate associated interfaces and in particular, but not necessarily entirely, to composite node data structures comprising a data structure of inter-related and/or hierarchical node data structures and event listening/messaging between the composite node data structures.
  • a social graph is a representation of the interconnection of relationships in an online social network.
  • the Facebook graph is composed of nodes, edges and fields.
  • nodes represent things such as users, posts, photos, pages, comments and the like
  • edges represent relationships between nodes and fields comprise information about nodes, such as, for example, by comprising integer, string and enum data fields for storing various types of data in relation to nodes.
  • US20160065637A1 (Matt O'Malley) (Dl) discloses a system for receiving a request from an identified first client and retrieving a playlist of multimedia segments from an associated playlist container that is dynamically generated based on a criteria, including a budget criteria, monetary criteria, request-list criteria, source list criteria, a temporal criteria, an availability criteria, a consumption criteria, a user input criteria, a lifespan criteria, a feed back criteria, an originality criteria, an update criteria, and a previously stored prioritization criteria.
  • a criteria including a budget criteria, monetary criteria, request-list criteria, source list criteria, a temporal criteria, an availability criteria, a consumption criteria, a user input criteria, a lifespan criteria, a feed back criteria, an originality criteria, an update criteria, and a previously stored prioritization criteria.
  • US20160034462A1 discloses receiving a query, identifying one or more nodes of a plurality of second nodes corresponding to the query, calculating a score for each of the identified nodes using a probabilistic ranking model that scores each node based at least in part on a number of edges connecting the node to one or more nodes within a first set of user nodes that includes the first node and user nodes corresponding to second users sharing one or more user attributes with the first user, and generating corresponding search results.
  • the score calculated for each of the identified nodes may bias the search results toward nodes connected to disproportionately more nodes in the first set of user nodes than nodes in the plurality of second nodes that correspond to an overall population of users of the online social network.
  • US20150178283A1 discloses accessing a social graph that includes a number of nodes and edges connecting the nodes. Each of the edges between two of the nodes representing a single degree of separation between them.
  • the nodes include a first node corresponding to a first user associated with an online social network and a plurality of second nodes that each correspond to a concept or a second user associated with the online social network.
  • the method also includes generating a number of cards. Each card includes a suggested query referencing a query-domain associated with the online social network and zero or more query-filters for the query- domain. Each query-filter references one or more nodes of the plurality of nodes or one or more edges of the plurality of edges.
  • the present invention allows for the user creation of "non-flat" social media platform composite node type data structures and associated interfaces for their creation and user interaction.
  • the composite node type data structures may comprise a node data structure representing a node data structure and at least one related and/or hierarchical node data structure and wherein the composite nodes can be interacted with by a user as if the composite node were a conventional integral "flat" node.
  • the present invention further allows for the inter-node event handling/messaging between these composite nodes wherein, the nodes may generate and listen to events of other composite node structures.
  • a data interface providing a material advantage in allowing for the relatively quick and simple creation of these "non-flat" social media platform composite node type.
  • the user is able to quickly search (using intuitive prefix wildcard searching in embodiments) for existing nodes (or, in embodiments, create new nodes if necessary) and to group these nodes together to build the composite node data structure.
  • the composite node (comprising an interrelationship of composite nodes (or even other composite nodes)) may thereafter be interacted within the social media platform as if it were a conventional flat node, such as by receiving "like" interactions etc.
  • the system also provides for a layout template definition that may be used to display each composite node appropriately in the social media interface.
  • the users may define the layout, which may be coded using drag and drop interface or HTML and CSS.
  • the composite nodes may have event listeners that automatically subscribe to and listen for events updates generated by other composite nodes so as to take an appropriate action. In this way, the composite nodes may be "daisy-chained" together so as be able to implement inter-node event handling/messaging (as opposed to user-node only interactions of present prior art social media platforms).
  • the present invention vastly increases the number of potential node types and therefore user interface interactability as compared to conventional social media platforms which comprise only the usual set of limited-type nodes such as users, posts, photos, pages, comments and the like. Furthermore, the inter-node event handling/messaging allows social platform nodes to act or be updated substantially autonomously without user intervention.
  • Dl is for playlist management wherein, particularly, the interface provided by Dl 1 (such as, for example, as is provided in Figures 15a-15c wherein 'Sub-categories B and C used for further filtering of the events') relates only to a search interface comprising subcategory filter searching.
  • D2 relates to a user of a social-networking system searching for objects associated with the system using queries that include references to particular social-graph elements.
  • queries may provide a way for users of an online social network to search for objects represented in a social graph based on their social-graph attributes and their relation to various social- graph elements.
  • D2 fails to disclose the claimed generation of, display and event listening composite node types.
  • D3 is related to D2 in that D3 is directed towards providing suggested structured queries to a user's text query.
  • D1-D3 fail to disclose the claimed generation of, display and event listening composite node types.
  • a social media platform server for serving a social media interface for the creation of composite nodes, each composite node comprising a node and at least one related node and the display of associated composite node user interfaces for each composite node, the social media platform interface comprising: a view comprising: a node search and create view comprising: a node search input field; a controller comprising: a node searcher for searching for nodes and composite nodes; a composite node creator; a data model comprising: a plurality of nodes and composite nodes; at least one composite node template; wherein the node searcher is configured for searching for matching existing nodes and composite nodes matching a search string received via the node search input field and wherein the view further comprises: a node list and select view for listing and the user selection of the matching existing nodes or composite nodes; and wherein the node list and select view comprises a link to a composite node create
  • the composite node create view may further comprise a related node create view for creating and configuring a new related node and wherein the composite node creator may be configured for creating, and storing in the data model, the new node in relation to the new node.
  • the composite node create view may further comprise a related composite node create view for creating and configuring a new related composite node and wherein the composite node creator may be configured for creating, and storing in the data model, the new composite node in relation to the new node.
  • the view may further comprise a node view for displaying the new composite node and wherein the at least one composite node template may comprise a node view layout and wherein the node view layout may be used for controlling the rendering of the node view of the new composite node in a web browser
  • the view may further comprise a node template create view for the creating of a new composite node template.
  • the node template create view may allow for the configuration of a node hierarchy.
  • the node template create view may allow for the configuration of a node view layout.
  • the configuration of the node view layout may comprise configuring HTML comprising at least one variable placeholder.
  • the matching existing nodes or composite nodes displayed within the node list and select view may be displayed in accordance with a user permission restriction.
  • the matching existing nodes or composite nodes displayed within the node list and select view may be displayed in accordance with a publication status.
  • the composite node create view may comprise a user visibility permission setting input field and wherein the node searcher may be configured for searching for the matching existing nodes or composite nodes in accordance with the user visibility permission setting.
  • the composite node create view may comprise a user interactability permission setting input field and wherein the associated composite node user interfaces for each composite node may be enabled or disabled accordingly.
  • the composite node create view may comprise a validity period input field wherein the node searcher may be configured for searching for the matching existing nodes or composite nodes in accordance with a validity period input via the validity period input field.
  • the node searcher may be configured for searching for the nodes and composite nodes utilising a wildcard matching technique using at least one wildcard of the search string.
  • the wildcard may specify an object-type node or composite node.
  • the wildcard may specify an user-type node or composite node.
  • the composite node create view may further comprise: an event listener create view; and wherein the controller may further comprise: an event listener creator; and wherein, when creating the new composite node, the event listener create view may be configured for receiving a new event listener configuration data for creating a new event listener and wherein the event listener creator may be configured for storing, in the data model, the event listener in relation to the new composite node.
  • the new event listener configuration data comprises event listener configuration settings.
  • the event listener identifies at least one of another node and another composite node.
  • the event listener configuration settings specify an event type.
  • the event listener configuration settings may comprise an update event.
  • the update event may comprise a node field update event.
  • the event listener configuration settings define a type match.
  • the type match may be a numerical type match configured to determine whether a numerical node field meets or exceeds a threshold numerical value.
  • the node type match may be a string type match configured to determine whether a string node field meets a search string.
  • the controller may further comprise an event manager and wherein, the event manager may be configured for identifying and event of another node or another composite node satisfying the event listener configuration settings and messaging the event listener.
  • the event listener configuration settings may further comprise an event action.
  • the event action comprises a notify action.
  • the notify action may be a news feed status update.
  • the event action comprises an update action.
  • the update action specifies a node field for update.
  • the event action comprises firing a further event.
  • FIG. 1 illustrates an exemplary model view controller (MVC) for serving a social media interface for the creation and configuration of composite nodes and inter-node event messaging in accordance with an exemplary embodiment
  • Figure 2 shows a system for serving a social media interface for the creation and configuration of composite nodes and inter-node event messaging in accordance with an exemplary embodiment
  • Figures 3 - 6 shows exemplary views for the creation and configuration of composite nodes in accordance with an exemplary embodiment.
  • composite node should be construed herein as a special type of node comprising a node and a related node wherein, as will be appreciated from the ensuing description, the composite node may be interacted with in the "normal” manner of existing social media platforms as if it were a conventional "flat" node.
  • these composite nodes have unique names so as to be uniquely referred to within the system 100 utilising user-friendly names. During the creation of composite nodes, unique name restrictions may be enforced by the interfaces.
  • FIG 2 there is shown an exemplary computer system 200 for implementing the various computer processes described herein.
  • the system 200 comprises a social media server 222 for serving web requests of one or more client terminals 217 across a computer data network, especially the Internet 212.
  • the social media server 222 may take the form of a physical server, such as a rackmounted server or alternatively a virtualised server instance, such as which may be implement virtually by a server virtualisation service such as Amazon web services (AWS).
  • AWS Amazon web services
  • the social media server 222 comprises a processor 209 for processing digital data.
  • a processor 209 for processing digital data.
  • the memory device 223 may take the form of short-term RAM memory or longer term hard drive data storage or a combination of both.
  • the memory device 223 comprises computer program code which is fetched by the processor 209 for execution.
  • the memory device 223 is configured with various software modules for implementing the various computer processes described herein.
  • the memory device 223 may comprise an operating system 207 such as the Linux kernel or the like which is read by the processor 209 during the bootstrap phase and the subsequent execution of the processes described herein.
  • the memory 223 may comprise various web applications including a Web server application 205 such as the ApacheTM Web server application.
  • the Web server application 205 may act in unison with a hypertext preprocessor 204 such as the PHPTM hypertext preprocessor and a database server 206 such as the MySQLTM database server so as to be able to generate dynamic HTTP responses to the various web requests received from the one or more client terminals 217.
  • the memory device 223 may comprise a plurality of software modules which have been logically divided into data model 201, controller 202 and view 203 as will be referenced in further detail below.
  • the social media server 223 may further comprise a network interface 211 for sending and receiving data across the Internet 212.
  • the client terminal 217 comprises a processor 209 in operable communication with a memory device 223 across a system bus 208. Further similarly, the client terminal 217 also comprises a network interface 211 for sending and receiving data across the Internet 212 including when communicating with the social media server 222. [81]
  • the client terminal 217 may take on differing forms within the purposive scope of the embodiments described herein including personal computing devices such as desktop, laptop devices or the like or mobile communication devices such as smart phones.
  • the mobile communication device 217 may allow a user interaction with the social media server 223 utilising a web browser application (such as the Mozilla Firefox or Google Chrome web browser application) or alternatively by way of a downloadable software application "app" 213 which is downloaded and installed for execution on the client terminal 217 from an App Store, such as the Apple App Store.
  • a web browser application such as the Mozilla Firefox or Google Chrome web browser application
  • apps downloadable software application "app" 213 which is downloaded and installed for execution on the client terminal 217 from an App Store, such as the Apple App Store.
  • the app 213 may comprise various views including a node create view 214 and a node view 215.
  • the client terminal 217 may comprise a display device 217 for the display of digital data and an I/O interface 219 for receiving user interface commands.
  • FIG. 1 an exemplary data model View Controller (MVC) representation 100 of the present embodiments is provided for illustrative convenience.
  • MVC Data model View Controller
  • the representation 100 comprises the data model 101, the controller 102 and the view 103 components.
  • the data model 101 represents the data and data structure including of the social graph 125
  • the view 103 represents the user interface
  • the controller 102 interfaces the user interface and the data model 101.
  • the view 103 comprises a node search or create view 126.
  • the node search or create view 126 allows users to search for existing nodes and composite nodes and furthermore, where no such node or composite node exists, create a new composite node conveniently and easily in a manner described in further detail below.
  • the node search or create view 126 comprises a search input field 117 into which the user may input search query strings.
  • the system 200 implements wildcard searching which, in embodiments allows for the searching of differing node types in accordance with a specified prefix. For example, "object" nodes or composite nodes (generally representing things) may be searched utilising the bang prefix whereas user nodes may be searched utilising the @ prefix.
  • search results are displayed in the node list and select view 118. Selecting one of the search results will display a node view 124 displaying a view of the selected node or composite node in the appropriate manner. For composite nodes, the view may be laid out in accordance with a composite node view layout 104 (as will be described in further detail below).
  • the node search or create view 126 further comprises a composite node create view 119 for the creation of a composite node of interrelated nodes in the manner described herein.
  • the composite node create view 119 comprising a node create view 120 for creating a node and a related node search or create view 123 for creating a related node related to the node.
  • the controller 102 comprises a wildcard searcher 115 for facilitating the searching of nodes and composite nodes utilising the wildcard search string input into the wildcard search input field 117.
  • controller 102 comprises a composite node creator 116, acting in unison with the related node search or create view 119, for creating the composite node and storing the associated data in the model 101.
  • controller 102 comprises a node view a 114, acting in unison with the node view 124, for displaying the selected node in the appropriate format.
  • controller 102 may comprise an event handler 127 configured for handling inter-node event handling/messaging.
  • the data model 101 comprises a social graph 125 comprising nodes and composite nodes 112.
  • Composite nodes are recorded using composite node relations 111 that relate at least one node 110 to at least one other related node 126.
  • each of the nodes and composite nodes 112 is associated with a user account 109. Furthermore, each node or composite node 112 has permission settings 113 controlling the accessibility of each node or composite nodes 112 by other users of the platform. Further data fields may be associated with each node or composite node 112 including those mentioned specifically in further detail below.
  • the data model 101 further comprises composite node templates 105 used for creating different types of composite nodes.
  • composite node templates 105 used for creating different types of composite nodes.
  • the user may select from the available node templates 105 for the creation of composite node types accordingly.
  • the composite node templates 105 may be user configurable so as to, for example, to allow users to create new composite node templates on an ad hoc basis.
  • the data model 101 further shows the composite node templates 104 each comprising a node layout 104 used for the generation of the associated node view 124.
  • the composite node view layout 104 may comprise HTML and, in embodiments, CSS markup comprising various placeholders for the various data of the nodes/composite nodes 112 utilised by the node viewer 114 of the controller 102 for generating the node view 124.
  • the node search or create view comprises the wildcard node search input field 117.
  • the user wishes to search for or create an "object" node which, in this exemplary embodiment, relates to the Melbourne cup 2015 event.
  • the associated drop-down menu comprises a node list and select view 118 comprising the node and composite nodes matching the input search string.
  • the node list and select view 118 comprises a first item 301 representing the existing composite node 112 entitled "MelbourneCup2014".
  • the node list and select view 118 also comprises other matching nodes and/or composite nodes search results including those of the Melbourne Museum 302 and the Melbourne festival 303.
  • the item search result for the Melbourne Museum comprises an exclamation icon representing that the associated node/composite node is inaccessible due to user permission settings.
  • the user permission settings for the Melbourne Museum object node/composite node may have been set to private or "friends only" so as to be accessible respectively to the creating user or users of related user nodes of the social graph 125.
  • the permission settings may specify whether or not the search results are visible also.
  • the item search result 303 for the MelbourneFestival node/composite nodes may be rendered to represent that the node/composite nodes has not yet been published by the creator user.
  • the node view 124 may be displayed to the user.
  • the node view 124 for the MelbourneCup2014 may be rendered within the browser or app 213 in a manner specified by the composite node view layout 104.
  • the associated composite node view layout 104 may comprise HTML and CSS representing the various text, image data and input fields represented by the node view 124.
  • the node search or create view 119 further comprises drop-down items 304-306 allowing the user to create a new node/composite node.
  • the node list and select view 118 comprises a first drop-down item 304 allowing the user to create an "object" type node.
  • the view 118 may comprise a second drop-down item 305 allowing the user to create an "object" type node relating to the creator user. [I am not sure if this is correct]
  • the view 180 may comprise a "quick create” drop-down item
  • Cup 2015 event the composite node create view 119 as a substantially shown in figure 4 would be displayed.
  • the view 119 allows the user to select the type of composite node utilising the composite node template selector drop-down 121.
  • the composite node types include a poll type for creating a poll type node views and similarly comparison, matrix, event, album, ranking, sorting and survey for creating associated complex node views accordingly.
  • the composite node templates data 105 within the model 101 may specify the structure and layout of the respective composite node.
  • the poll type composite node may be defined by the respective composite node template data 105 as relating to a node having various data field and at least one or more related nodes or composite nodes to be utilised as the basis of the poll.
  • the view 103 may comprise a node template create view (not shown) for allowing the user to create new types of composite node templates.
  • a node template create view for allowing the user to create new types of composite node templates.
  • the user could utilise the node template create view to create such a composite node templates specifying the data structure and the layout.
  • the node template create view may be provided by way of convenient drag- and-drop user interface allowing for the configuration of the node hierarchy and the placing of elements to define the layout.
  • the user selects the poll type composite node templates.
  • the poll type composite node templates defined within the composite node templates 105 of the data model 101 may specify the data structure and user interface layout of the poll type node 110 as comprising a node (the "parent" poll type) and plurality of related nodes or composite nodes related to the parent nodes wherein the related nodes or composite nodes may be ranked when conducting the poll.
  • the user may input various information including a description, a URL, image data tags and the like. As alluded to above, these input fields may be specified by the associated composite node view layout 104 within the data model 101.
  • node types may have an expiry date after which time the associated node view 124 is no longer accessible or displayed by the social media server 222.
  • the composite node create view 120 comprises a permissions selector 122 allowing the user to set user accessibility permissions such as public, private, "friends only” or the like.
  • a permissions selector 122 allowing the user to set user accessibility permissions such as public, private, "friends only” or the like.
  • other users or able to view and or interact with the created poll type composite node 122 per their user relation with the creator user is defined by the social graph.
  • the poll type composite node template 105 may specify that for the poll type composite node, there must be one or more poll option which may be ranked, wherein the poll option comprises a node or a composite node.
  • the user may specify how the node or composite node poll options are ranked, such as by being ordered, assigned numerical values or the like.
  • the user may search for existing nodes or composite nodes and, in a preferred embodiment, create a new node or composite node if none exist.
  • the options comprise "flat" nodes, each comprising a name and an image.
  • the composite node templates 104 may restrict the type of nodes that may be utilised including their data fields.
  • the user may specify a plurality of option type related nodes 125 representing the horses participating in the race wherein each option type related node 126 is configured with a name and an associated image or icon of the respective participating horse.
  • the composite node may be displayed to users of the social platform wherein, in embodiments, the composite node is displayed in accordance with the node view layout 104.
  • the node view 124 may be rendered within the view 103 in accordance with the associated composite node view layout 104.
  • the associated composite node view layout 104 may specify that the node view 124 comprises the various information shown and the layout thereof including the image associated with the composite nodes 112 and the various available options of the poll thereunder.
  • the node view 124 comprises a representation of the node 110 and the associated related nodes 125 as defined by the composite node relation 111.
  • FIG 7 there is shown a composite node event handling scenario 700. Specifically, in the embodiments provided hereunder, there will be described the configuration of the composite nodes for the purposes of event handling in the manner alluded to in the above summary section.
  • inter-node event handling/messaging wherein, generally, nodes are able to subscribe and to listen for particular types of events of other composite nodes so as to be able to take particular action as configured.
  • each composite node such as the first composite node 701 may comprise a plurality of inter related nodes, which, as is represented, may include "flat" nodes 702 or other composite nodes 703.
  • the composite node 701 is configured for firing two types of events, comprising a first event type 704 and a second event type 705.
  • an event type may be a node update, or an event wherein a node field matches or exceeds a certain value or the like.
  • both the first and second composite nodes 701, 706 comprise a first event type, which may be a node update event (such as wherein any or at least a predefined subset of any of the fields of the node are updated).
  • Each composite node 701, 706 may further comprise second and third event types 705, 708 respectively.
  • the second event type 705 may represent a particular numerical data field value exceeding a numerical threshold and the third event type 708 may represent a string field type matching a particular string.
  • event types may be defined within the composite node templates 105.
  • the user may create and configure new event types.
  • the third composite node 709 may comprise two event listeners 712 and 714 respectively for listening to the respective first and third event types 704, 708.
  • the user may create event listeners and specify the type of events to which the event listeners may subscribe.
  • the newly created composite node 709 is configured for listening to a particular event type of a particular composite node 701, 706.
  • the user may further specify certain events actions. For example, for the first event listener 712, the user may specify an event action 715 that fires a further event of a particular event type.
  • the user may specify a notify, update or the like action 716.
  • a notify action the user, other users or a group of users may be notified (such as by way of email notification, news feed update or the like).
  • a particular data field of the composite node 709, or other composite node may be updated.
  • a fourth composite node 710 may be created that further comprises a fourth type of event listener 713 that listens to the event creation handler 715 of the third composite node 709 so as to be able to fire a fifth event 711.
  • composite nodes may be "daisychained” together so as to provide for inter-node interactions.
  • the user may wish to create a party event composite node comprising data field comprising an event name, and event location and a plurality of related constituent user nodes (being the invitees). [149] However, the user wishes only to have the event published only if more than 100 people vote for horse 1 of the composite node poll event.
  • the user creates an event listener to listen to the poll composite node so as to monitor the numerical data field representing the total number of votes for the horse 1 node.
  • the user may specify that should the numerical value exceed 100, then the event node is to be published. Furthermore, the user specifies a further event handler that certain users are to be notified by way of news feed status update. Furthermore, the user may, rather than specifying particular users, specify that the notification is to be sent to those users having voted for the horse 1 node using the composite poll node.
  • the invention may be embodied using devices conforming to other network standards and for other applications, including, for example other WLAN standards and other wireless standards.
  • Applications that can be accommodated include IEEE 802.11 wireless LANs and links, and wireless Ethernet.
  • wireless and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a non-solid medium. The term does not imply that the associated devices do not contain any wires, although in some embodiments they might not. In the context of this document, the term “wired” and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a solid medium. The term does not imply that the associated devices are coupled by electrically conductive wires.
  • processor may refer to any device or portion of a device that processes electronic data, e.g., from registers and/or memory to transform that electronic data into other electronic data that, e.g., may be stored in registers and/or memory.
  • a "computer” or a “computing device” or a “computing machine” or a “computing platform” may include one or more processors.
  • the methodologies described herein are, in one embodiment, performable by one or more processors that accept computer-readable (also called machine-readable) code containing a set of instructions that when executed by one or more of the processors carry out at least one of the methods described herein.
  • Any processor capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken are included.
  • a typical processing system that includes one or more processors.
  • the processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM.
  • a computer-readable carrier medium may form, or be included in a computer program product.
  • a computer program product can be stored on a computer usable carrier medium, the computer program product comprising a computer readable program means for causing a processor to perform a method as described herein.
  • the one or more processors operate as a standalone device or may be connected, e.g., networked to other processor(s), in a networked deployment, the one or more processors may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer or distributed network environment.
  • the one or more processors may form a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
  • each of the methods described herein is in the form of a computer- readable carrier medium carrying a set of instructions, e.g., a computer program that are for execution on one or more processors.
  • embodiments of the present invention may be embodied as a method, an apparatus such as a special purpose apparatus, an apparatus such as a data processing system, or a computer-readable carrier medium.
  • the computer-readable carrier medium carries computer readable code including a set of instructions that when executed on one or more processors cause a processor or processors to implement a method.
  • aspects of the present invention may take the form of a method, an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects.
  • the present invention may take the form of carrier medium (e.g., a computer program product on a computer-readable storage medium) carrying computer-readable program code embodied in the medium.
  • Carrier Medium
  • the software may further be transmitted or received over a network via a network interface device.
  • the carrier medium is shown in an example embodiment to be a single medium, the term “carrier medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions.
  • the term “carrier medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by one or more of the processors and that cause the one or more processors to perform any one or more of the methodologies of the present invention.
  • a carrier medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media.
  • a device A connected to a device B should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B. It means that there exists a path between an output of A and an input of B which may be a path including other devices or means.
  • Connected may mean that two or more elements are either in direct physical or electrical contact, or that two or more elements are not in direct contact with each other but yet still co-operate or interact with each other.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present invention relates to social media node data structures and their creation and manipulation by users through appropriate associated interfaces and in particular, but not necessarily entirely, to composite node data structures comprising a data structure of inter-related and/or hierarchical node data structures and event listening/messaging between the composite node data structures. The present invention allows for the user creation of "non-flat" social media platform composite node type data structures and associated interfaces for their creation and user interaction. The composite node type data structures may comprise a node data structure representing a node data structure and at least one related and/or hierarchical node data structure and wherein the composite nodes can be interacted with by a user as if the composite node were a conventional integral "flat" node. The present invention further allows for the inter-node event handling/messaging between these composite nodes wherein, the nodes may generate and listen to events of other composite node structures.

Description

A social media platform server for serving a social media interface for the creation and configuration of composite node data structures and inter-node event messaging
Field of the Invention
[1] The present invention relates to social media node data structures and their creation and manipulation by users through appropriate associated interfaces and in particular, but not necessarily entirely, to composite node data structures comprising a data structure of inter-related and/or hierarchical node data structures and event listening/messaging between the composite node data structures.
Background and Summary of the Invention
[2] A social graph is a representation of the interconnection of relationships in an online social network. For example, the Facebook graph is composed of nodes, edges and fields.
[3] In general terms, nodes represent things such as users, posts, photos, pages, comments and the like, edges represent relationships between nodes and fields comprise information about nodes, such as, for example, by comprising integer, string and enum data fields for storing various types of data in relation to nodes.
[4] However, conventional social platforms generally have a finite number of "flat" nodes type data scructures (such as, for example, users, posts, photos, pages, comments and the like) which restricts the utilisation of the social media user interface to a few limited applications. Furthermore, interaction with these nodes is limited to particular interaction types.
[5] US20160065637A1 (Matt O'Malley) (Dl) discloses a system for receiving a request from an identified first client and retrieving a playlist of multimedia segments from an associated playlist container that is dynamically generated based on a criteria, including a budget criteria, monetary criteria, request-list criteria, source list criteria, a temporal criteria, an availability criteria, a consumption criteria, a user input criteria, a lifespan criteria, a feed back criteria, an originality criteria, an update criteria, and a previously stored prioritization criteria.
[6] US20160034462A1 (Facebook Inc) (D2) discloses receiving a query, identifying one or more nodes of a plurality of second nodes corresponding to the query, calculating a score for each of the identified nodes using a probabilistic ranking model that scores each node based at least in part on a number of edges connecting the node to one or more nodes within a first set of user nodes that includes the first node and user nodes corresponding to second users sharing one or more user attributes with the first user, and generating corresponding search results. The score calculated for each of the identified nodes may bias the search results toward nodes connected to disproportionately more nodes in the first set of user nodes than nodes in the plurality of second nodes that correspond to an overall population of users of the online social network.
[7] US20150178283A1 (Facebook Inc) (D3) discloses accessing a social graph that includes a number of nodes and edges connecting the nodes. Each of the edges between two of the nodes representing a single degree of separation between them. The nodes include a first node corresponding to a first user associated with an online social network and a plurality of second nodes that each correspond to a concept or a second user associated with the online social network. The method also includes generating a number of cards. Each card includes a suggested query referencing a query-domain associated with the online social network and zero or more query-filters for the query- domain. Each query-filter references one or more nodes of the plurality of nodes or one or more edges of the plurality of edges.
[8] However, a need exists for social platform users to create, generate and manipulate "non- flat" nodes types.
[9] The present invention allows for the user creation of "non-flat" social media platform composite node type data structures and associated interfaces for their creation and user interaction.
[10] The composite node type data structures may comprise a node data structure representing a node data structure and at least one related and/or hierarchical node data structure and wherein the composite nodes can be interacted with by a user as if the composite node were a conventional integral "flat" node.
[11] The present invention further allows for the inter-node event handling/messaging between these composite nodes wherein, the nodes may generate and listen to events of other composite node structures.
[12] Specifically, there is provided a data interface providing a material advantage in allowing for the relatively quick and simple creation of these "non-flat" social media platform composite node type. Specifically, using the composite node data structure creation interface, the user is able to quickly search (using intuitive prefix wildcard searching in embodiments) for existing nodes (or, in embodiments, create new nodes if necessary) and to group these nodes together to build the composite node data structure.
[13] The composite node (comprising an interrelationship of composite nodes (or even other composite nodes)) may thereafter be interacted within the social media platform as if it were a conventional flat node, such as by receiving "like" interactions etc.
[14] The system also provides for a layout template definition that may be used to display each composite node appropriately in the social media interface. In embodiments, the users may define the layout, which may be coded using drag and drop interface or HTML and CSS. [15] In further embodiments, the composite nodes may have event listeners that automatically subscribe to and listen for events updates generated by other composite nodes so as to take an appropriate action. In this way, the composite nodes may be "daisy-chained" together so as be able to implement inter-node event handling/messaging (as opposed to user-node only interactions of present prior art social media platforms).
[16] Thereby, by allowing for the user creating of these composite node types, the present invention vastly increases the number of potential node types and therefore user interface interactability as compared to conventional social media platforms which comprise only the usual set of limited-type nodes such as users, posts, photos, pages, comments and the like. Furthermore, the inter-node event handling/messaging allows social platform nodes to act or be updated substantially autonomously without user intervention.
[17] Now, none of the prior art, including references Dl - D3 disclose or suggest composite nodes in this manner let alone the internode event handling/messaging.
[18] Specifically, Dl is for playlist management wherein, particularly, the interface provided by Dl 1 (such as, for example, as is provided in Figures 15a-15c wherein 'Sub-categories B and C used for further filtering of the events') relates only to a search interface comprising subcategory filter searching.
[19] As such, Dl fails to disclose the claimed generation of, display and event listening composite node types.
[20] Furthermore, D2 relates to a user of a social-networking system searching for objects associated with the system using queries that include references to particular social-graph elements. These structured queries may provide a way for users of an online social network to search for objects represented in a social graph based on their social-graph attributes and their relation to various social- graph elements.
[21] However, D2 fails to disclose the claimed generation of, display and event listening composite node types.
[22] Furthermore D3 is related to D2 in that D3 is directed towards providing suggested structured queries to a user's text query.
[23] As such, D1-D3 fail to disclose the claimed generation of, display and event listening composite node types.
[24] As such, with the foregoing in mind, in accordance with one aspect, there is provided a social media platform server for serving a social media interface for the creation of composite nodes, each composite node comprising a node and at least one related node and the display of associated composite node user interfaces for each composite node, the social media platform interface comprising: a view comprising: a node search and create view comprising: a node search input field; a controller comprising: a node searcher for searching for nodes and composite nodes; a composite node creator; a data model comprising: a plurality of nodes and composite nodes; at least one composite node template; wherein the node searcher is configured for searching for matching existing nodes and composite nodes matching a search string received via the node search input field and wherein the view further comprises: a node list and select view for listing and the user selection of the matching existing nodes or composite nodes; and wherein the node list and select view comprises a link to a composite node create view for creating a new composite node, the composite node create view comprising: a composite node template selector field for selecting one of the at least one composite node template; a node configuration view for configuring a new node in accordance with the at least one at least one composite node template, wherein, in accordance with the at least one composite node template selected, the composite node create view further comprises: at least one related node search input field for searching for or creating a related node, wherein the node searcher is configured for searching for matching further existing nodes or composite nodes matching a related node search string received via the at least one related node search input field and wherein: for matching further existing nodes and composite nodes matching the related node search string, the composite node create view comprises a related node list and select view for listing and the user selection of one of the matching further existing node or composite nodes and wherein the composite node creator is configured for creating, and storing in the data model, the new composite node comprising the new node stored in relation to the selected matching further existing node or composite node.
[25] The composite node create view may further comprise a related node create view for creating and configuring a new related node and wherein the composite node creator may be configured for creating, and storing in the data model, the new node in relation to the new node.
[26] The composite node create view may further comprise a related composite node create view for creating and configuring a new related composite node and wherein the composite node creator may be configured for creating, and storing in the data model, the new composite node in relation to the new node.
[27] The view may further comprise a node view for displaying the new composite node and wherein the at least one composite node template may comprise a node view layout and wherein the node view layout may be used for controlling the rendering of the node view of the new composite node in a web browser
[28] The view may further comprise a node template create view for the creating of a new composite node template. [29] The node template create view may allow for the configuration of a node hierarchy.
[30] The node template create view may allow for the configuration of a node view layout.
[31] The configuration of the node view layout may comprise configuring HTML comprising at least one variable placeholder.
[32] The matching existing nodes or composite nodes displayed within the node list and select view may be displayed in accordance with a user permission restriction.
[33] The matching existing nodes or composite nodes displayed within the node list and select view may be displayed in accordance with a publication status.
[34] The composite node create view may comprise a user visibility permission setting input field and wherein the node searcher may be configured for searching for the matching existing nodes or composite nodes in accordance with the user visibility permission setting.
[35] The composite node create view may comprise a user interactability permission setting input field and wherein the associated composite node user interfaces for each composite node may be enabled or disabled accordingly.
[36] The composite node create view may comprise a validity period input field wherein the node searcher may be configured for searching for the matching existing nodes or composite nodes in accordance with a validity period input via the validity period input field.
[37] The node searcher may be configured for searching for the nodes and composite nodes utilising a wildcard matching technique using at least one wildcard of the search string.
[38] The wildcard may specify an object-type node or composite node.
[39] The wildcard may specify an user-type node or composite node.
[40] Other aspects of the invention are also disclosed.
[41] The composite node create view may further comprise: an event listener create view; and wherein the controller may further comprise: an event listener creator; and wherein, when creating the new composite node, the event listener create view may be configured for receiving a new event listener configuration data for creating a new event listener and wherein the event listener creator may be configured for storing, in the data model, the event listener in relation to the new composite node.
[42] The new event listener configuration data comprises event listener configuration settings.
[43] The event listener identifies at least one of another node and another composite node.
[44] The event listener configuration settings specify an event type.
[45] The event listener configuration settings may comprise an update event.
[46] The update event may comprise a node field update event.
[47] The event listener configuration settings define a type match. [48] The type match may be a numerical type match configured to determine whether a numerical node field meets or exceeds a threshold numerical value.
[49] The node type match may be a string type match configured to determine whether a string node field meets a search string.
[50] The controller may further comprise an event manager and wherein, the event manager may be configured for identifying and event of another node or another composite node satisfying the event listener configuration settings and messaging the event listener.
[51] The event listener configuration settings may further comprise an event action.
[52] The event action comprises a notify action.
[53] The notify action may be a news feed status update.
[54] The event action comprises an update action.
[55] The update action specifies a node field for update.
[56] The event action comprises firing a further event.
[57] It is to be understood that, if any prior art information is referred to herein, such reference does not constitute an admission that the information forms part of the common general knowledge in the art, in Australia or any other country.
Brief Description of the Drawings
[58] Notwithstanding any other forms which may fall within the scope of the present invention, preferred embodiments of the disclosure will now be described, by way of example only, with reference to the accompanying drawings in which:
[59] Figure 1 illustrates an exemplary model view controller (MVC) for serving a social media interface for the creation and configuration of composite nodes and inter-node event messaging in accordance with an exemplary embodiment;
[60] Figure 2 shows a system for serving a social media interface for the creation and configuration of composite nodes and inter-node event messaging in accordance with an exemplary embodiment; and
[61] Figures 3 - 6 shows exemplary views for the creation and configuration of composite nodes in accordance with an exemplary embodiment.
Description of Embodiments
[62] For the purposes of promoting an understanding of the principles in accordance with the disclosure, reference will now be made to the embodiments illustrated in the drawings and specific language will be used to describe the same. It will nevertheless be understood that no limitation of the scope of the disclosure is thereby intended. Any alterations and further modifications of the inventive features illustrated herein, and any additional applications of the principles of the disclosure as illustrated herein, which would normally occur to one skilled in the relevant art and having possession of this disclosure, are to be considered within the scope of the disclosure.
[63] Before the structures, systems and associated methods relating to the social media platform server for serving a social media interface for the creation and configuration of composite nodes and inter-node event messaging are disclosed and described, it is to be understood that this disclosure is not limited to the particular configurations, process steps, and materials disclosed herein as such may vary somewhat. It is also to be understood that the terminology employed herein is used for the purpose of describing particular embodiments only and is not intended to be limiting since the scope of the disclosure will be limited only by the claims and equivalents thereof.
[64] In describing and claiming the subject matter of the disclosure, the following terminology will be used in accordance with the definitions set out below.
[65] It must be noted that, as used in this specification and the appended claims, the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise.
[66] As used herein, the terms "comprising," "including," "containing," "characterised by," and grammatical equivalents thereof are inclusive or open-ended terms that do not exclude additional, unrecited elements or method steps.
[67] It should be noted in the following description that like or the same reference numerals in different embodiments denote the same or similar features.
Introduction
[68] In the embodiments that follow, there is described a social platform user interface and associated data structure for the creation of composite node types nodes each comprising a node and at least one related node allowing for richer user interface interaction as compared to the limited set of "flat" node types of prior art social media platform arrangements.
[69] In general terms, the terminology "composite node" should be construed herein as a special type of node comprising a node and a related node wherein, as will be appreciated from the ensuing description, the composite node may be interacted with in the "normal" manner of existing social media platforms as if it were a conventional "flat" node.
[70] In a particular embodiment, these composite nodes have unique names so as to be uniquely referred to within the system 100 utilising user-friendly names. During the creation of composite nodes, unique name restrictions may be enforced by the interfaces. System
[71] Turning now to figure 2, there is shown an exemplary computer system 200 for implementing the various computer processes described herein.
[72] Specifically, the system 200 comprises a social media server 222 for serving web requests of one or more client terminals 217 across a computer data network, especially the Internet 212.
[73] The social media server 222 may take the form of a physical server, such as a rackmounted server or alternatively a virtualised server instance, such as which may be implement virtually by a server virtualisation service such as Amazon web services (AWS).
[74] As can be seen, the social media server 222 comprises a processor 209 for processing digital data. In operable communication with the processor 209 across a data bus 28 is a memory device 223. The memory device 223 may take the form of short-term RAM memory or longer term hard drive data storage or a combination of both.
[75] The memory device 223 comprises computer program code which is fetched by the processor 209 for execution.
[76] In this regard, the memory device 223 is configured with various software modules for implementing the various computer processes described herein. Specifically, the memory device 223 may comprise an operating system 207 such as the Linux kernel or the like which is read by the processor 209 during the bootstrap phase and the subsequent execution of the processes described herein.
[77] Furthermore, the memory 223 may comprise various web applications including a Web server application 205 such as the Apache™ Web server application. The Web server application 205 may act in unison with a hypertext preprocessor 204 such as the PHP™ hypertext preprocessor and a database server 206 such as the MySQL™ database server so as to be able to generate dynamic HTTP responses to the various web requests received from the one or more client terminals 217.
[78] Further specifically, for implementing the specific processes described herein, the memory device 223 may comprise a plurality of software modules which have been logically divided into data model 201, controller 202 and view 203 as will be referenced in further detail below.
[79] The social media server 223 may further comprise a network interface 211 for sending and receiving data across the Internet 212.
[80] Similarly, the client terminal 217 comprises a processor 209 in operable communication with a memory device 223 across a system bus 208. Further similarly, the client terminal 217 also comprises a network interface 211 for sending and receiving data across the Internet 212 including when communicating with the social media server 222. [81] The client terminal 217 may take on differing forms within the purposive scope of the embodiments described herein including personal computing devices such as desktop, laptop devices or the like or mobile communication devices such as smart phones. Furthermore, the mobile communication device 217 may allow a user interaction with the social media server 223 utilising a web browser application (such as the Mozilla Firefox or Google Chrome web browser application) or alternatively by way of a downloadable software application "app" 213 which is downloaded and installed for execution on the client terminal 217 from an App Store, such as the Apple App Store.
[82] As can be seen, the app 213 may comprise various views including a node create view 214 and a node view 215.
[83] Furthermore, the client terminal 217 may comprise a display device 217 for the display of digital data and an I/O interface 219 for receiving user interface commands.
Model view controller
[84] Having generally described the above system architecture, reference is now made to figure 1 wherein an exemplary data model View Controller (MVC) representation 100 of the present embodiments is provided for illustrative convenience.
[85] As can be seen, the representation 100 comprises the data model 101, the controller 102 and the view 103 components.
[86] In very general terms, the data model 101 represents the data and data structure including of the social graph 125, the view 103 represents the user interface and the controller 102 interfaces the user interface and the data model 101.
[87] Considering initially the view 103, the view 103 comprises a node search or create view 126. As will be described in further detail below, the node search or create view 126 allows users to search for existing nodes and composite nodes and furthermore, where no such node or composite node exists, create a new composite node conveniently and easily in a manner described in further detail below.
[88] Specifically, the node search or create view 126 comprises a search input field 117 into which the user may input search query strings. In a preferred embodiment, the system 200 implements wildcard searching which, in embodiments allows for the searching of differing node types in accordance with a specified prefix. For example, "object" nodes or composite nodes (generally representing things) may be searched utilising the bang prefix whereas user nodes may be searched utilising the @ prefix.
[89] When searching for nodes, search results are displayed in the node list and select view 118. Selecting one of the search results will display a node view 124 displaying a view of the selected node or composite node in the appropriate manner. For composite nodes, the view may be laid out in accordance with a composite node view layout 104 (as will be described in further detail below).
[90] Alternatively, where no such search results are found, and for the creation of new composite nodes, the node search or create view 126 further comprises a composite node create view 119 for the creation of a composite node of interrelated nodes in the manner described herein. Specifically, for exemplary purposes, there is shown the composite node create view 119 comprising a node create view 120 for creating a node and a related node search or create view 123 for creating a related node related to the node.
[91] elatedly, the controller 102 comprises a wildcard searcher 115 for facilitating the searching of nodes and composite nodes utilising the wildcard search string input into the wildcard search input field 117.
[92] Furthermore, the controller 102 comprises a composite node creator 116, acting in unison with the related node search or create view 119, for creating the composite node and storing the associated data in the model 101.
[93] Furthermore, the controller 102 comprises a node view a 114, acting in unison with the node view 124, for displaying the selected node in the appropriate format.
[94] In embodiments, and as will be described in further detail with reference to figure 7, the controller 102 may comprise an event handler 127 configured for handling inter-node event handling/messaging.
[95] Considering now the data model 101, the data model 101 comprises a social graph 125 comprising nodes and composite nodes 112.
[96] Composite nodes are recorded using composite node relations 111 that relate at least one node 110 to at least one other related node 126.
[97] As is also represented in the data model 101, each of the nodes and composite nodes 112 is associated with a user account 109. Furthermore, each node or composite node 112 has permission settings 113 controlling the accessibility of each node or composite nodes 112 by other users of the platform. Further data fields may be associated with each node or composite node 112 including those mentioned specifically in further detail below.
[98] Now, the data model 101 further comprises composite node templates 105 used for creating different types of composite nodes. As will be described in further detail below, when creating a composite node, the user may select from the available node templates 105 for the creation of composite node types accordingly.
[99] In embodiments, the composite node templates 105 may be user configurable so as to, for example, to allow users to create new composite node templates on an ad hoc basis. [100] The data model 101 further shows the composite node templates 104 each comprising a node layout 104 used for the generation of the associated node view 124. The composite node view layout 104 may comprise HTML and, in embodiments, CSS markup comprising various placeholders for the various data of the nodes/composite nodes 112 utilised by the node viewer 114 of the controller 102 for generating the node view 124.
Exemplary illustration
[101] Having further described the MVC 100 above, there will now be described an exemplary and in use embodiment primarily for illustrative purposes. It should be noted that these exemplary embodiments are provided for illustrative purposes only and that no technical limitation should necessarily be imputed to all of the embodiments within the purposive scope of the invention.
[102] Specifically, turning now to figure 3, there is shown the node search or create view 126.
[103] As can be seen, the node search or create view comprises the wildcard node search input field 117.
[104] In the exemplary embodiment, the user wishes to search for or create an "object" node which, in this exemplary embodiment, relates to the Melbourne cup 2015 event.
[105] As such, utilising the bang prefixed to designate an object node, the user begins typing wherein, as can be seen, intellisense suggestions are shown in the associated drop-down menu showing matching nodes and composite nodes found by the wildcard searcher 115.
[106] Specifically, as can be seen, the associated drop-down menu comprises a node list and select view 118 comprising the node and composite nodes matching the input search string.
[107] Specifically, the node list and select view 118 comprises a first item 301 representing the existing composite node 112 entitled "MelbourneCup2014".
[108] As is shown, the node list and select view 118 also comprises other matching nodes and/or composite nodes search results including those of the Melbourne Museum 302 and the Melbourne festival 303.
[109] In the embodiment shown, the item search result for the Melbourne Museum comprises an exclamation icon representing that the associated node/composite node is inaccessible due to user permission settings. Specifically, the user permission settings for the Melbourne Museum object node/composite node may have been set to private or "friends only" so as to be accessible respectively to the creating user or users of related user nodes of the social graph 125. In embodiments, the permission settings may specify whether or not the search results are visible also. [110] Furthermore, the item search result 303 for the MelbourneFestival node/composite nodes may be rendered to represent that the node/composite nodes has not yet been published by the creator user.
[Ill] However, assuming that the user selects the first item, being the MelbourneCup2014 item search result 301, the node view 124 may be displayed to the user.
[112] Were the MelbourneCup2014 a composite node, the node view 124 for the MelbourneCup2014 may be rendered within the browser or app 213 in a manner specified by the composite node view layout 104. For example, the associated composite node view layout 104 may comprise HTML and CSS representing the various text, image data and input fields represented by the node view 124.
[113] However, as is also shown, the node search or create view 119 further comprises drop-down items 304-306 allowing the user to create a new node/composite node.
[114] As can be seen, the node list and select view 118 comprises a first drop-down item 304 allowing the user to create an "object" type node.
[115] Furthermore, the view 118 may comprise a second drop-down item 305 allowing the user to create an "object" type node relating to the creator user. [I am not sure if this is correct]
[116] Furthermore, in embodiments, the view 180 may comprise a "quick create" drop-down item
306 allowing the user to create a simple "flat" node such as a unidimensional post.
[117] However, assuming user wishes to create a new composite node representing the Melbourne
Cup 2015 event, the composite node create view 119 as a substantially shown in figure 4 would be displayed.
[118] As can be seen, the view 119 allows the user to select the type of composite node utilising the composite node template selector drop-down 121. In the example shown, the composite node types include a poll type for creating a poll type node views and similarly comparison, matrix, event, album, ranking, sorting and survey for creating associated complex node views accordingly.
[119] For each of these different types of composite node templates, the composite node templates data 105 within the model 101 may specify the structure and layout of the respective composite node. For example, the poll type composite node may be defined by the respective composite node template data 105 as relating to a node having various data field and at least one or more related nodes or composite nodes to be utilised as the basis of the poll.
[120] As alluded to above, in embodiments, the view 103 may comprise a node template create view (not shown) for allowing the user to create new types of composite node templates. For example, assuming the ranking type composite node didn't exist and the user wished to create an object node allowing users of the social network to rank several related nodes or composite nodes, the user could utilise the node template create view to create such a composite node templates specifying the data structure and the layout. The node template create view may be provided by way of convenient drag- and-drop user interface allowing for the configuration of the node hierarchy and the placing of elements to define the layout.
[121] In this illustrative example, the user selects the poll type composite node templates.
[122] Now, the poll type composite node templates defined within the composite node templates 105 of the data model 101 may specify the data structure and user interface layout of the poll type node 110 as comprising a node (the "parent" poll type) and plurality of related nodes or composite nodes related to the parent nodes wherein the related nodes or composite nodes may be ranked when conducting the poll.
[123] Specifically, utilising the composite node create view 120, the user may input various information including a description, a URL, image data tags and the like. As alluded to above, these input fields may be specified by the associated composite node view layout 104 within the data model 101.
[124] Furthermore, in embodiments, node types may have an expiry date after which time the associated node view 124 is no longer accessible or displayed by the social media server 222.
[125] Furthermore, the composite node create view 120 comprises a permissions selector 122 allowing the user to set user accessibility permissions such as public, private, "friends only" or the like. As such, other users or able to view and or interact with the created poll type composite node 122 per their user relation with the creator user is defined by the social graph.
[126] Now, the poll type composite node template 105 may specify that for the poll type composite node, there must be one or more poll option which may be ranked, wherein the poll option comprises a node or a composite node. In embodiments, the user may specify how the node or composite node poll options are ranked, such as by being ordered, assigned numerical values or the like.
[127] Specifically, turning onto figure 5, there is shown the composite node create view 119 further comprising the related node search or create view 123.
[128] Utilising the related node search or create view 123 the user may search for existing nodes or composite nodes and, in a preferred embodiment, create a new node or composite node if none exist.
[129] In the example shown, the options comprise "flat" nodes, each comprising a name and an image. In this regard, the composite node templates 104 may restrict the type of nodes that may be utilised including their data fields.
[130] In this example, for the created Melbourne Cup 2015 composite node, the user may specify a plurality of option type related nodes 125 representing the horses participating in the race wherein each option type related node 126 is configured with a name and an associated image or icon of the respective participating horse.
[131] Having created the poll type composite node, the composite node may be displayed to users of the social platform wherein, in embodiments, the composite node is displayed in accordance with the node view layout 104.
[132] Specifically, turning now to figure 6, there is shown the node view 124 in further detail. As alluded to above, the node view 124 may be rendered within the view 103 in accordance with the associated composite node view layout 104. Specifically, the associated composite node view layout 104 may specify that the node view 124 comprises the various information shown and the layout thereof including the image associated with the composite nodes 112 and the various available options of the poll thereunder. Specifically, as can be seen, the node view 124 comprises a representation of the node 110 and the associated related nodes 125 as defined by the composite node relation 111.
Composite node event handling/messaging
[133] Turning now to figure 7, there is shown a composite node event handling scenario 700. Specifically, in the embodiments provided hereunder, there will be described the configuration of the composite nodes for the purposes of event handling in the manner alluded to in the above summary section.
[134] Specifically, as compared to prior art social media platforms wherein nodes interact with users (such as wherein, for example, users receive status updates and the like), in the present embodiment, there is provided inter-node event handling/messaging, wherein, generally, nodes are able to subscribe and to listen for particular types of events of other composite nodes so as to be able to take particular action as configured.
[135] Specifically, in the scenario 700 there is provided a plurality of composite nodes for illustrative convenience. As alluded to above, each composite node, such as the first composite node 701 may comprise a plurality of inter related nodes, which, as is represented, may include "flat" nodes 702 or other composite nodes 703.
[136] As is shown, for the first composite node 701, the composite node 701 is configured for firing two types of events, comprising a first event type 704 and a second event type 705. For example, an event type may be a node update, or an event wherein a node field matches or exceeds a certain value or the like. [137] In the scenario 700 provided, both the first and second composite nodes 701, 706 comprise a first event type, which may be a node update event (such as wherein any or at least a predefined subset of any of the fields of the node are updated).
[138] Each composite node 701, 706 may further comprise second and third event types 705, 708 respectively. For example, the second event type 705 may represent a particular numerical data field value exceeding a numerical threshold and the third event type 708 may represent a string field type matching a particular string.
[139] It should be noted that these event types may be defined within the composite node templates 105. Alternatively, the user may create and configure new event types.
[140] Now, as is shown in the scenario 700, the third composite node 709 may comprise two event listeners 712 and 714 respectively for listening to the respective first and third event types 704, 708.
[141] For example, during the creation of the third composite node 709, the user may create event listeners and specify the type of events to which the event listeners may subscribe.
[142] Generally, when creating an event listener, a particular composite node is identified. As such, the newly created composite node 709 is configured for listening to a particular event type of a particular composite node 701, 706.
[143] As such, having created the event listener, the user may further specify certain events actions. For example, for the first event listener 712, the user may specify an event action 715 that fires a further event of a particular event type.
[144] Alternatively, the user may specify a notify, update or the like action 716. Specifically, for the notify action, the user, other users or a group of users may be notified (such as by way of email notification, news feed update or the like).
[145] Alternatively, for the update action, a particular data field of the composite node 709, or other composite node may be updated.
[146] As can be further seen, a fourth composite node 710 may be created that further comprises a fourth type of event listener 713 that listens to the event creation handler 715 of the third composite node 709 so as to be able to fire a fifth event 711.
[147] In this way, composite nodes may be "daisychained" together so as to provide for inter-node interactions.
[148] For example, utilising the horserace event composite node described above with reference to figures 3-6, the user may wish to create a party event composite node comprising data field comprising an event name, and event location and a plurality of related constituent user nodes (being the invitees). [149] However, the user wishes only to have the event published only if more than 100 people vote for horse 1 of the composite node poll event.
[150] As such, the user creates an event listener to listen to the poll composite node so as to monitor the numerical data field representing the total number of votes for the horse 1 node.
[151] In this way, the user may specify that should the numerical value exceed 100, then the event node is to be published. Furthermore, the user specifies a further event handler that certain users are to be notified by way of news feed status update. Furthermore, the user may, rather than specifying particular users, specify that the notification is to be sent to those users having voted for the horse 1 node using the composite poll node.
Interpretation
Wireless:
[152] The invention may be embodied using devices conforming to other network standards and for other applications, including, for example other WLAN standards and other wireless standards. Applications that can be accommodated include IEEE 802.11 wireless LANs and links, and wireless Ethernet.
[153] In the context of this document, the term "wireless" and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a non-solid medium. The term does not imply that the associated devices do not contain any wires, although in some embodiments they might not. In the context of this document, the term "wired" and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a solid medium. The term does not imply that the associated devices are coupled by electrically conductive wires.
Processes:
[154] Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as "processing", "computing", "calculating", "determining", "analysing" or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities into other data similarly represented as physical quantities.
Processor:
[155] In a similar manner, the term "processor" may refer to any device or portion of a device that processes electronic data, e.g., from registers and/or memory to transform that electronic data into other electronic data that, e.g., may be stored in registers and/or memory. A "computer" or a "computing device" or a "computing machine" or a "computing platform" may include one or more processors.
[156] The methodologies described herein are, in one embodiment, performable by one or more processors that accept computer-readable (also called machine-readable) code containing a set of instructions that when executed by one or more of the processors carry out at least one of the methods described herein. Any processor capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken are included. Thus, one example is a typical processing system that includes one or more processors. The processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM.
Computer-Readable Medium :
[157] Furthermore, a computer-readable carrier medium may form, or be included in a computer program product. A computer program product can be stored on a computer usable carrier medium, the computer program product comprising a computer readable program means for causing a processor to perform a method as described herein.
Networked or Multiple Processors:
[158] In alternative embodiments, the one or more processors operate as a standalone device or may be connected, e.g., networked to other processor(s), in a networked deployment, the one or more processors may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer or distributed network environment. The one or more processors may form a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
[159] Note that while some diagram(s) only show(s) a single processor and a single memory that carries the computer-readable code, those in the art will understand that many of the components described above are included, but not explicitly shown or described in order not to obscure the inventive aspect. For example, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
Additional Embodiments:
[160] Thus, one embodiment of each of the methods described herein is in the form of a computer- readable carrier medium carrying a set of instructions, e.g., a computer program that are for execution on one or more processors. Thus, as will be appreciated by those skilled in the art, embodiments of the present invention may be embodied as a method, an apparatus such as a special purpose apparatus, an apparatus such as a data processing system, or a computer-readable carrier medium. The computer-readable carrier medium carries computer readable code including a set of instructions that when executed on one or more processors cause a processor or processors to implement a method. Accordingly, aspects of the present invention may take the form of a method, an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of carrier medium (e.g., a computer program product on a computer-readable storage medium) carrying computer-readable program code embodied in the medium.
Carrier Medium :
[161] The software may further be transmitted or received over a network via a network interface device. While the carrier medium is shown in an example embodiment to be a single medium, the term "carrier medium" should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term "carrier medium" shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by one or more of the processors and that cause the one or more processors to perform any one or more of the methodologies of the present invention. A carrier medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media.
Implementation :
[162] It will be understood that the steps of methods discussed are performed in one embodiment by an appropriate processor (or processors) of a processing (i.e., computer) system executing instructions (computer-readable code) stored in storage. It will also be understood that the invention is not limited to any particular implementation or programming technique and that the invention may be implemented using any appropriate techniques for implementing the functionality described herein. The invention is not limited to any particular programming language or operating system.
Means For Carrying out a Method or Function
[163] Furthermore, some of the embodiments are described herein as a method or combination of elements of a method that can be implemented by a processor of a processor device, computer system, or by other means of carrying out the function. Thus, a processor with the necessary instructions for carrying out such a method or element of a method forms a means for carrying out the method or element of a method. Furthermore, an element described herein of an apparatus embodiment is an example of a means for carrying out the function performed by the element for the purpose of carrying out the invention.
Connected
[164] Similarly, it is to be noticed that the term connected, when used in the claims, should not be interpreted as being limitative to direct connections only. Thus, the scope of the expression a device A connected to a device B should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B. It means that there exists a path between an output of A and an input of B which may be a path including other devices or means. "Connected" may mean that two or more elements are either in direct physical or electrical contact, or that two or more elements are not in direct contact with each other but yet still co-operate or interact with each other.
Embodiments:
[165] Reference throughout this specification to "one embodiment" or "an embodiment" means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment, but may. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner, as would be apparent to one of ordinary skill in the art from this disclosure, in one or more embodiments.
[166] Similarly it should be appreciated that in the above description of example embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the Detailed Description of Specific Embodiments are hereby expressly incorporated into this Detailed Description of Specific In embodiments, with each claim standing on its own as a separate embodiment of this invention.
[167] Furthermore, while some embodiments described herein include some but not other features included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the invention, and form different embodiments, as would be understood by those in the art. For example, in the following claims, any of the claimed embodiments can be used in any combination.
Different Instances of Objects
[168] As used herein, unless otherwise specified the use of the ordinal adjectives "first", "second", "third", etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.
Specific Details
[169] In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Terminology
[170] In describing the preferred embodiment of the invention illustrated in the drawings, specific terminology will be resorted to for the sake of clarity. However, the invention is not intended to be limited to the specific terms so selected, and it is to be understood that each specific term includes all technical equivalents which operate in a similar manner to accomplish a similar technical purpose. Terms such as "forward", "rearward", "radially", "peripherally", "upwardly", "downwardly", and the like are used as words of convenience to provide reference points and are not to be construed as limiting terms.
Comprising and Including
[171] In the claims which follow and in the preceding description of the invention, except where the context requires otherwise due to express language or necessary implication, the word "comprise" or variations such as "comprises" or "comprising" are used in an inclusive sense, i.e. to specify the presence of the stated features but not to preclude the presence or addition of further features in various embodiments of the invention.
[172] Any one of the terms: including or which includes or that includes as used herein is also an open term that also means including at least the elements/features that follow the term, but not excluding others. Thus, including is synonymous with and means comprising.
Scope of Invention
[173] Thus, while there has been described what are believed to be the preferred embodiments of the invention, those skilled in the art will recognize that other and further modifications may be made thereto without departing from the spirit of the invention, and it is intended to claim all such changes and modifications as fall within the scope of the invention. For example, any formulas given above are merely representative of procedures that may be used. Functionality may be added or deleted from the block diagrams and operations may be interchanged among functional blocks. Steps may be added or deleted to methods described within the scope of the present invention.
[174] Although the invention has been described with reference to specific examples, it will be appreciated by those skilled in the art that the invention may be embodied in many other forms.
I ndustria l Applicability
[175] It is apparent from the above, that the arrangements described are applicable to the social media platform industries.

Claims

Claims
1. A social media platform server for serving a social media interface for the creation of composite nodes, each composite node comprising a node and at least one related node and the display of associated composite node user interfaces for each composite node, the social media platform interface comprising:
a view comprising:
a node search and create view comprising:
a node search input field;
a controller comprising:
a node searcher for searching for nodes and composite nodes;
a composite node creator;
a data model comprising:
a plurality of nodes and composite nodes;
at least one composite node template;
wherein the node searcher is configured for searching for matching existing nodes and composite nodes matching a search string received via the node search input field and wherein the view further comprises:
a node list and select view for listing and the user selection of the matching existing nodes or composite nodes; and
wherein the node list and select view comprises a link to a composite node create view for creating a new composite node, the composite node create view comprising:
a composite node template selector field for selecting one of the at least one composite node template;
a node configuration view for configuring a new node in accordance with the at least one at least one composite node template, wherein, in accordance with the at least one composite node template selected, the composite node create view further comprises: at least one related node search input field for searching for or creating a related node, wherein the node searcher is configured for searching for matching further existing nodes or composite nodes matching a related node search string received via the at least one related node search input field and wherein:
for matching further existing nodes and composite nodes matching the related node search string, the composite node create view comprises a related node list and select view for listing and the user selection of one of the matching further existing node or composite nodes and wherein the composite node creator is configured for creating, and storing in the data model, the new composite node comprising the new node stored in relation to the selected matching further existing node or composite node.
2. A social media platform server as claimed in claim 1, wherein the composite node create view further comprises a related node create view for creating and configuring a new related node and wherein the composite node creator is configured for creating, and storing in the data model, the new node in relation to the new node.
3. A social media platform server as claimed in claim 1, wherein the composite node create view further comprises a related composite node create view for creating and configuring a new related composite node and wherein the composite node creator is configured for creating, and storing in the data model, the new composite node in relation to the new node.
4. A social media platform server as claimed in claim 1, wherein the view further comprises a node view for displaying the new composite node and wherein the at least one composite node template comprises a node view layout and wherein the node view layout is used for controlling the rendering of the node view of the new composite node in a web browser
5. A social media platform server as claimed in claim 1, wherein the view further comprises a node template create view for the creating of a new composite node template.
6. A social media platform server as claimed in claim 5, wherein the node template create view allows for the configuration of a node hierarchy.
7. A social media platform server as claimed in claim 5, wherein the node template create view allows for the configuration of a node view layout.
8. A social media platform server as claimed in claim 7, wherein the configuration of the node view layout comprises configuring HTML comprising at least one variable placeholder.
9. A social media platform server as claimed in claim 1, wherein the matching existing nodes or composite nodes displayed within the node list and select view are displayed in accordance with a user permission restriction.
10. A social media platform server as claimed in claim 1, wherein the matching existing nodes or composite nodes displayed within the node list and select view are displayed in accordance with a publication status.
11. A social media platform server as claimed in claim 1, wherein the composite node create view comprises a user visibility permission setting input field and wherein the node searcher is configured for searching for the matching existing nodes or composite nodes in accordance with the user visibility permission setting.
12. A social media platform server as claimed in claim 1, wherein the composite node create view comprises a user interactability permission setting input field and wherein the associated composite node user interfaces for each composite node are enabled or disabled accordingly.
13. A social media platform server as claimed in claim 1, wherein the composite node create view comprises a validity period input field wherein the node searcher is configured for searching for the matching existing nodes or composite nodes in accordance with a validity period input via the validity period input field.
14. A social media platform server as claimed in claim 1, wherein the node searcher is configured for searching for the nodes and composite nodes utilising a wildcard matching technique using at least one wildcard of the search string.
15. A social media platform server as claimed in claim 14, wherein the wildcard specifies an object-type node or composite node.
16. A social media platform server as claimed in claim 14, wherein the wildcard specifies a user- type node or composite node.
17. A social media platform server as claimed in claim 14, as claimed in claim 1, wherein the composite node create view further comprises:
an event listener create view;
and wherein the controller further comprises:
an event listener creator; and
wherein, when creating the new composite node, the event listener create view is configured for receiving a new event listener configuration data for creating a new event listener and wherein the event listener creator is configured for storing, in the data model, the event listener in relation to the new composite node.
18. A social media platform server as claimed in claim 17, wherein the new event listener configuration data comprises event listener configuration settings.
19. A social media platform server as claimed in claim 18, wherein the event listener identifies at least one of another node and another composite node.
20. A social media platform server as claimed in claim 17, wherein the event listener configuration settings specify an event type.
21. A social media platform server as claimed in claim 20, wherein the event listener configuration settings comprise an update event.
22. A social media platform server as claimed in claim 21, wherein the update event comprises a node field update event.
23. A social media platform server as claimed in claim 18, wherein the event listener configuration settings define a type match.
24. A social media platform server as claimed in claim 23, wherein the type match is a numerical type match configured to determine whether a numerical node field meets or exceeds a threshold numerical value.
25. A social media platform server as claimed in claim 12, wherein the node type match is a string type match configured to determine whether a string node field meets a search string.
26. A social media platform server as claimed in claim 23, wherein the controller further comprises an event manager and wherein, the event manager is configured for identifying and event of the another node or another composite node satisfying the event listener configuration settings and messaging the event listener.
27. A social media platform server as claimed in claim 18, wherein the event listener configuration settings further comprise an event action.
28. A social media platform server as claimed in claim 27, wherein the event action comprises a notify action.
29. A social media platform server as claimed in claim 28, wherein the notify action is a news feed status update.
30. A social media platform server as claimed in claim 28, wherein the event action comprises an update action.
31. A social media platform server as claimed in claim 30, wherein the update action specifies a node field for update.
32. A social media platform server as claimed in claim 27, wherein the event action comprises firing a further event.
PCT/AU2017/050059 2016-02-12 2017-01-27 A social media platform server for serving a social media interface for the creation and configuration of composite node data structures and inter-node event messaging WO2017136875A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2016900486A AU2016900486A0 (en) 2016-02-12 A social media interface that enables the creation of interconnected interactive objects and allows user interaction
AU2016900486 2016-02-12

Publications (1)

Publication Number Publication Date
WO2017136875A1 true WO2017136875A1 (en) 2017-08-17

Family

ID=59562849

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU2017/050059 WO2017136875A1 (en) 2016-02-12 2017-01-27 A social media platform server for serving a social media interface for the creation and configuration of composite node data structures and inter-node event messaging

Country Status (1)

Country Link
WO (1) WO2017136875A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766531A (en) * 2017-10-26 2018-03-06 天津开心生活科技有限公司 Method for exhibiting data and device, storage medium, electronic equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014121086A2 (en) * 2013-01-31 2014-08-07 Matt O'malley System and method for dynamic criteria, request-lists, event-lists, and playlists
US20150178283A1 (en) * 2013-12-19 2015-06-25 Facebook, Inc. Grouping Recommended Search Queries on Online Social Networks
US20160004787A1 (en) * 2013-02-28 2016-01-07 Kyoto University Relational graph database system
US20160034462A1 (en) * 2014-08-01 2016-02-04 Facebook, Inc. Search Results Based on User Biases on Online Social Networks
US20160042067A1 (en) * 2014-08-08 2016-02-11 Facebook, Inc. Blending Search Results on Online Social Networks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014121086A2 (en) * 2013-01-31 2014-08-07 Matt O'malley System and method for dynamic criteria, request-lists, event-lists, and playlists
US20160004787A1 (en) * 2013-02-28 2016-01-07 Kyoto University Relational graph database system
US20150178283A1 (en) * 2013-12-19 2015-06-25 Facebook, Inc. Grouping Recommended Search Queries on Online Social Networks
US20160034462A1 (en) * 2014-08-01 2016-02-04 Facebook, Inc. Search Results Based on User Biases on Online Social Networks
US20160042067A1 (en) * 2014-08-08 2016-02-11 Facebook, Inc. Blending Search Results on Online Social Networks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766531A (en) * 2017-10-26 2018-03-06 天津开心生活科技有限公司 Method for exhibiting data and device, storage medium, electronic equipment
CN107766531B (en) * 2017-10-26 2020-06-23 天津开心生活科技有限公司 Data display method and device, storage medium and electronic equipment

Similar Documents

Publication Publication Date Title
US10223465B2 (en) Customizable, real time intelligence channel
US20160191639A1 (en) Recommending Content Based On User Profiles Clustered By Subscription Data
EP3022890B1 (en) Techniques to manage state information for a web service
AU2015204742B2 (en) Methods for generating an activity stream
KR102379895B1 (en) Technology for Graph-Based Natural Language Processing
WO2017165147A1 (en) User interfaces for personalized content recommendation
US9473614B2 (en) Systems and methods for incorporating a control connected media frame
WO2017107826A1 (en) Service information pushing method and device
EP3211840B1 (en) Techniques for messaging bot rich communication
CN105359125A (en) User history playlists and subscriptions
US11558324B2 (en) Method and system for dynamically generating a card
WO2016032571A1 (en) User interface for generating search queries
US20140244784A1 (en) Website Impersonation System and Method
US20220414173A1 (en) Geographic location based feed
US9767400B2 (en) Method and system for generating a card based on intent
US20180349932A1 (en) Methods and systems for determining persona of participants by the participant use of a software product
US11132627B2 (en) Travel search machine with shareable trip objects
WO2017136875A1 (en) A social media platform server for serving a social media interface for the creation and configuration of composite node data structures and inter-node event messaging
US9542457B1 (en) Methods for displaying object history information
US9519710B1 (en) Dynamic classification of attribute relevance and classification
CN117435215A (en) Development environment deployment method, system, computer device and storage medium
US11562014B1 (en) Generating visual media collections for a dynamic social networking account
US20190208027A1 (en) Systems and methods for generating content
WO2015099658A1 (en) Contextual contacts for html5
US20230214509A1 (en) Document creation and management system

Legal Events

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

Ref document number: 17749817

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17749817

Country of ref document: EP

Kind code of ref document: A1