Mike Vernal

Mike Vernal

Palo Alto, California, United States
7K followers 500+ connections

About

Sabbatical. Investor in Rippling, Notion, StarkWare, Statsig, Captions, Clay, Deno…

Activity

Join now to see all activity

Experience

  • Self-employed

  • -

    Various

  • -

    New York, New York, United States

  • -

    San Francisco Bay Area

  • -

    New York, United States

  • -

    Seattle, WA

  • -

    San Francisco, CA

  • -

    San Mateo County, California, United States

  • -

    Palo Alto, CA

  • -

    Boston, Massachusetts, United States

  • -

    Brooklyn, NY

  • -

    San Francisco Bay Area

  • -

    Ottawa, Ontario, Canada

  • -

    San Francisco Bay Area

  • -

    San Francisco Bay Area

  • -

    Israel

  • -

    San Francisco Bay Area

  • -

    Remote

  • -

    Austin, Texas, United States

  • -

    San Francisco Bay Area

  • -

    San Mateo, CA

  • -

    San Francisco, California, United States

  • -

    San Mateo County, California, United States

  • -

    San Francisco Bay Area

  • -

    San Francisco, California, United States

  • -

    San Francisco, California, United States

  • -

    Menlo Park & San Francisco, CA

  • -

    San Francisco, CA

  • -

    San Francisco, CA

  • -

    Menlo Park, CA

  • -

    Redmond, WA

Education

Patents

  • Social graph that includes web pages outside of a social networking system

    Issued US 9530166

    A social networking system includes a mechanism for incorporating nodes in the social graph, where the nodes are associated with a web page. Each web page includes one or more tags, which contain meta-information for defining the node in the social networking system, such as the type of the node. The social networking system retrieves the tags from the markup language document and stores their information in connection with the node for the web page. The web page may be outside of the social…

    A social networking system includes a mechanism for incorporating nodes in the social graph, where the nodes are associated with a web page. Each web page includes one or more tags, which contain meta-information for defining the node in the social networking system, such as the type of the node. The social networking system retrieves the tags from the markup language document and stores their information in connection with the node for the web page. The web page may be outside of the social networking system's domain and may be operated by an entity other than the social networking operator; thus, third parties can define, create, and maintain nodes that are then used by the social networking system. Users may then interact with the nodes on websites outside of the social networking system, and these interactions are tracked by and reflected back within the social networking system.

    See patent
  • Controlling access to ideograms

    Issued US 9515968

    Particular embodiments of a method comprise providing one or more ideograms (e.g., written characters, symbols or images that represent an idea or thing) for insertion into a message. A request may be received from a user for a restricted one of the ideograms. A determination may be made as to whether the user is authorized to access the restricted ideogram. This determination may be based on whether the user is a member of a group of authorized users, whether an attribute of the user meets a…

    Particular embodiments of a method comprise providing one or more ideograms (e.g., written characters, symbols or images that represent an idea or thing) for insertion into a message. A request may be received from a user for a restricted one of the ideograms. A determination may be made as to whether the user is authorized to access the restricted ideogram. This determination may be based on whether the user is a member of a group of authorized users, whether an attribute of the user meets a restriction requirement, or whether the request comprises an authorization code or token. If the user is authorized to access the restricted ideogram, then the restricted ideogram may be displayed to the user in association with the message. Otherwise, a restricted-content response may be generated.

    See patent
  • Ranking recommended search queries on online social networks

    Issued US 9460215

    In one embodiment, a method includes 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 card…

    In one embodiment, a method includes 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 card cluster including 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. Each query-filter references one or more nodes of the plurality of nodes or one or more edges of the plurality of edges.

    See patent
  • Single login procedure for accessing social network information across multiple external systems

    Issued US 9306927

    A social networking system contains information describing users of the social network and various connections among the users. A user can access multiple external systems that communicate with the social networking system to access information about the users of the social networking system. Login status of the user account on the social networking system is maintained. If the login status of the user account on the social networking system indicates that the user is not logged in, the user is…

    A social networking system contains information describing users of the social network and various connections among the users. A user can access multiple external systems that communicate with the social networking system to access information about the users of the social networking system. Login status of the user account on the social networking system is maintained. If the login status of the user account on the social networking system indicates that the user is not logged in, the user is required to provide authentication information. If the login status of the user account indicates that the user is logged in, social network information is provided to the user via an external system, subject to the privacy settings of users of the social networking system. If the user logs out from an external system, the user is also logged out from the social networking system.

    See patent
  • Controlling Access to Ideograms

    Filed US 20150222617

    Particular embodiments of a method comprise providing one or more ideograms (e.g., written characters, symbols or images that represent an idea or thing) for insertion into a message. A request may be received from a user for a restricted one of the ideograms. A determination may be made as to whether the user is authorized to access the restricted ideogram. This determination may be based on whether the user is a member of a group of authorized users, whether an attribute of the user meets a…

    Particular embodiments of a method comprise providing one or more ideograms (e.g., written characters, symbols or images that represent an idea or thing) for insertion into a message. A request may be received from a user for a restricted one of the ideograms. A determination may be made as to whether the user is authorized to access the restricted ideogram. This determination may be based on whether the user is a member of a group of authorized users, whether an attribute of the user meets a restriction requirement, or whether the request comprises an authorization code or token. If the user is authorized to access the restricted ideogram, then the restricted ideogram may be displayed to the user in association with the message. Otherwise, a restricted-content response may be generated.

    See patent
  • Ideograms for Captured Expressions

    Filed US 20150220774

    Particular embodiments of a method comprise analyzing an image to classify an expression displayed on a face shown in a captured image. Image analysis may include detecting the face in the image, generating a characterization of features of the face, and classifying the expression based on the characterization. The characterization of facial features may be based on benchmark metrics for a particular expression. One or more ideograms (e.g., written characters, symbols or images that represent…

    Particular embodiments of a method comprise analyzing an image to classify an expression displayed on a face shown in a captured image. Image analysis may include detecting the face in the image, generating a characterization of features of the face, and classifying the expression based on the characterization. The characterization of facial features may be based on benchmark metrics for a particular expression. One or more ideograms (e.g., written characters, symbols or images that represent an idea or thing) may be selected based on the expression. The selection may be based on one or more match scores for the expression. The match scores may be determined based on an ideogram dictionary or an ideogram usage history. The selected ideograms may then be presented, in association with the face, on a screen for the computing device.

    See patent
  • Ideograms Based on Sentiment Analysis

    Issued US 20150222586

    Particular embodiments of a method comprise analyzing a message to perform sentiment analysis with respect to at least a portion of the message. One or more sentiments associated with the at least a portion of the message may then be identified. One or more ideograms (e.g., written characters, symbols or images that represent an idea or thing), each corresponding to an identified sentiment, may then be suggested to a user for insertion into a message. Upon receiving a user selection of one or…

    Particular embodiments of a method comprise analyzing a message to perform sentiment analysis with respect to at least a portion of the message. One or more sentiments associated with the at least a portion of the message may then be identified. One or more ideograms (e.g., written characters, symbols or images that represent an idea or thing), each corresponding to an identified sentiment, may then be suggested to a user for insertion into a message. Upon receiving a user selection of one or more of the ideograms in relation to some portion of the message, an association may be saved in a user-specific dictionary linking the user-selected one or more of the ideograms with the portion of the message. In particular embodiments, the sentiment analysis may incorporate social-networking information and/or historical ideogram usage information.

    See patent
  • Ranking Recommended Search Queries on Online Social Networks

    Filed US 20150178284

    In one embodiment, a method includes 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 card…

    In one embodiment, a method includes 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 card cluster including 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. Each query-filter references one or more nodes of the plurality of nodes or one or more edges of the plurality of edges.

    See patent
  • Personalizing a web page outside of a social networking system with content from the social networking system

    Issued US 9065798

    A user device requests a web page from a web server of a third-party website, which is separate from a social networking system. The web server from the third-party website sends a markup language document for the requested web page to the user device which includes an instruction for a browser application running on the user device to incorporate information obtained from the social networking system within the web page. Based on the instruction in the received markup language document, the…

    A user device requests a web page from a web server of a third-party website, which is separate from a social networking system. The web server from the third-party website sends a markup language document for the requested web page to the user device which includes an instruction for a browser application running on the user device to incorporate information obtained from the social networking system within the web page. Based on the instruction in the received markup language document, the user device requests personalized content from the social networking system, which generates the requested personalized content based on social information about the user. The user device then renders the web page with the personalized content contained in a frame and displays the rendered web page and the frame to the user.

    See patent
  • Tool for creating structured objects and actions on a social networking system

    Issued US 9032290

    A social networking system includes a mechanism for integrating user actions on objects outside of the social networking system in the social graph. External system operators include widgets that, when executed by user devices, record user interactions that correspond to a defined structure of actions and objects. Third party operators utilize a tool provided by the social networking system to define the structure of actions and objects. External actions are recorded by the social networking…

    A social networking system includes a mechanism for integrating user actions on objects outside of the social networking system in the social graph. External system operators include widgets that, when executed by user devices, record user interactions that correspond to a defined structure of actions and objects. Third party operators utilize a tool provided by the social networking system to define the structure of actions and objects. External actions are recorded by the social networking system for publishing to the social graph.

    See patent
  • Dynamically providing a third-party checkout option

    Filed US 20150052036

    Methods for facilitating financial transactions include facilitating or otherwise increasing the ease and speed of checkout processes. In particular, one or more implementations comprise an e-commerce payment facilitator that acts as an intermediary between a commerce application and a payment gateway. The e-commerce payment facilitator can provide stored payment information to a commerce application based on a few simple selections by a user. This allows a user to easily and securely complete…

    Methods for facilitating financial transactions include facilitating or otherwise increasing the ease and speed of checkout processes. In particular, one or more implementations comprise an e-commerce payment facilitator that acts as an intermediary between a commerce application and a payment gateway. The e-commerce payment facilitator can provide stored payment information to a commerce application based on a few simple selections by a user. This allows a user to easily and securely complete commerce transactions, which simplifies the user's checkout experience and reduces barriers to purchase. Furthermore, the e-commerce payment facilitator can pass payment details to the commerce application's payment gateway. In addition to the foregoing, methods involve dynamically and intelligently providing a user the option of using payment information stored by the network application.

    See patent
  • Dynamic enforcement of privacy settings by a social networking system on information shared with an external system

    Issued US 8955145

    An external system (such as a website) that interacts with users communicates with a social networking system to access information about the users, who may also be users of the social networking system. If a privacy setting is changed in the social networking system, and the change applies to information that has been shared with an external system, the change is enforced at the external system. For example, the external system may be notified that the information is invalid and must be…

    An external system (such as a website) that interacts with users communicates with a social networking system to access information about the users, who may also be users of the social networking system. If a privacy setting is changed in the social networking system, and the change applies to information that has been shared with an external system, the change is enforced at the external system. For example, the external system may be notified that the information is invalid and must be deleted, or the external system may periodically request the information so that changes to the privacy settings are eventually experienced at the external systems. When an external system again needs the information, whether expired naturally or actively invalidated by the social network, the external system sends a new request for the information, which is subject to the (possibly revised) privacy settings.

    See patent
  • Generating recommended search queries on online social networks

    Issued US 8949250

    In one embodiment, a method includes accessing a social graph including a number of nodes and a number of edges connecting the nodes. Each of the edges between two of the nodes represent 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 number 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…

    In one embodiment, a method includes accessing a social graph including a number of nodes and a number of edges connecting the nodes. Each of the edges between two of the nodes represent 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 number 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 number of nodes or one or more edges of the number of edges.

    See patent
  • Methods and systems for context-based check-out flows using a pass-through payment gateway

    Issued US 20140365358

    Methods and systems for context-based check-out flows using a pass-through payment gateway (PTPG) are described. One method in a user computing device includes transmitting a probability request for a user to a network application seeking an indication of whether the user would likely utilize payment information stored by the network application while placing an order using a commerce application. Upon receiving a response, the commerce application presents a UI element indicating that the user…

    Methods and systems for context-based check-out flows using a pass-through payment gateway (PTPG) are described. One method in a user computing device includes transmitting a probability request for a user to a network application seeking an indication of whether the user would likely utilize payment information stored by the network application while placing an order using a commerce application. Upon receiving a response, the commerce application presents a UI element indicating that the user may utilize the stored payment information to complete the order. Another method in a PTPG includes receiving a request from a commerce application to charge a user for an order. In response, the gateway transmits a charge request to an identified payment gateway system for the commerce application on behalf of the commerce application such that a monetary amount is credited to an account of the commerce application directly by the payment gateway system.

    See patent
  • Dynamic sentence formation from structured objects and actions in a social networking system

    Issued US 8909515

    A social networking system includes a mechanism for integrating user actions on objects outside of the social networking system in the social graph. External system operators include widgets that, when executed by user devices, record user interactions that correspond to a defined structure of actions and objects. Third party operators utilize a tool provided by the social networking system to define the structure of actions and objects, verb tenses of action types, and noun forms object types.…

    A social networking system includes a mechanism for integrating user actions on objects outside of the social networking system in the social graph. External system operators include widgets that, when executed by user devices, record user interactions that correspond to a defined structure of actions and objects. Third party operators utilize a tool provided by the social networking system to define the structure of actions and objects, verb tenses of action types, and noun forms object types. External actions are recorded by the social networking system for publishing to the social graph in dynamically generated sentences formed using the structure of the actions and objects.

    See patent
  • Structured objects and actions on a social networking system

    Issued US 8849721

    A social networking system includes a mechanism for integrating user actions on objects outside of the social networking system in the social graph. External system operators include widgets that, when executed by user devices, record user interactions that correspond to a defined structure of actions and objects. Third party operators utilize a tool provided by the social networking system to define the structure of actions and objects. External actions are recorded by the social networking…

    A social networking system includes a mechanism for integrating user actions on objects outside of the social networking system in the social graph. External system operators include widgets that, when executed by user devices, record user interactions that correspond to a defined structure of actions and objects. Third party operators utilize a tool provided by the social networking system to define the structure of actions and objects. External actions are recorded by the social networking system for publishing to the social graph.

    See patent
  • Integrating structured objects and actions generated on external systems into a social networking system

    Issued US 8793593

    A social networking system includes a mechanism for integrating user actions on objects outside of the social networking system in the social graph. For example, streaming music on external systems may be integrated into the user experience on the social networking system. Third-party developers, in addition to administrators of the social networking system, may define objects and actions that enable integration of external music sources to be played and controlled using the social networking…

    A social networking system includes a mechanism for integrating user actions on objects outside of the social networking system in the social graph. For example, streaming music on external systems may be integrated into the user experience on the social networking system. Third-party developers, in addition to administrators of the social networking system, may define objects and actions that enable integration of external music sources to be played and controlled using the social networking system while also providing socially relevant information to other users of the social networking system. Actions and objects recorded from these external user interactions are structured to enable aggregation and structured querying, which enables data visualizations of the information discoverable on the social graph. In this way, interesting information about users' actions outside of the domain of the social networking system may be shared and compared with other users on the social networking system.

    See patent
  • Single login procedure for accessing social network information across multiple external systems

    Issued US 8763152

    A social networking system contains information describing users of the social network and various connections among the users. A user can access multiple external systems that communicate with the social networking system to access information about the users of the social networking system. Login status of the user account on the social networking system is maintained. If the login status of the user account on the social networking system indicates that the user is not logged in, the user is…

    A social networking system contains information describing users of the social network and various connections among the users. A user can access multiple external systems that communicate with the social networking system to access information about the users of the social networking system. Login status of the user account on the social networking system is maintained. If the login status of the user account on the social networking system indicates that the user is not logged in, the user is required to provide authentication information. If the login status of the user account indicates that the user is logged in, social network information is provided to the user via an external system, subject to the privacy settings of users of the social networking system. If the user logs out from an external system, the user is also logged out from the social networking system.

    See patent
  • Dynamic enforcement of privacy settings by a social networking system on information shared with an external system

    Issued US 8752186

    An external system (such as a website) that interacts with users communicates with a social networking system to access information about the users, who may also be users of the social networking system. If a privacy setting is changed in the social networking system, and the change applies to information that has been shared with an external system, the change is enforced at the external system. For example, the external system may be notified that the information is invalid and must be…

    An external system (such as a website) that interacts with users communicates with a social networking system to access information about the users, who may also be users of the social networking system. If a privacy setting is changed in the social networking system, and the change applies to information that has been shared with an external system, the change is enforced at the external system. For example, the external system may be notified that the information is invalid and must be deleted, or the external system may periodically request the information so that changes to the privacy settings are eventually experienced at the external systems. When an external system again needs the information, whether expired naturally or actively invalidated by the social network, the external system sends a new request for the information, which is subject to the (possibly revised) privacy settings.

    See patent
  • Personalizing a web page outside of a social networking system with content from the social networking system

    Issued US 8667064

    A user device requests a web page from a web server of a third-party website, which is separate from a social networking system. The web server from the third-party website sends a markup language document for the requested web page to the user device which includes an instruction for a browser application running on the user device to incorporate information obtained from the social networking system within the web page. Based on the instruction in the received markup language document, the…

    A user device requests a web page from a web server of a third-party website, which is separate from a social networking system. The web server from the third-party website sends a markup language document for the requested web page to the user device which includes an instruction for a browser application running on the user device to incorporate information obtained from the social networking system within the web page. Based on the instruction in the received markup language document, the user device requests personalized content from the social networking system, which generates the requested personalized content based on social information about the user. The user device then renders the web page with the personalized content contained in a frame and displays the rendered web page and the frame to the user.

    See patent
  • Personalizing a web page outside of a social networking system with content from the social networking system that includes user actions

    Issued US 8583738

    A user device requests a web page from a web server of a third-party website, which is separate from a social networking system. The web server from the third-party website sends a markup language document for the requested web page to the user device which includes an instruction for a browser application running on the user device to incorporate information obtained from the social networking system within the web page. Based on the instruction in the received markup language document, the…

    A user device requests a web page from a web server of a third-party website, which is separate from a social networking system. The web server from the third-party website sends a markup language document for the requested web page to the user device which includes an instruction for a browser application running on the user device to incorporate information obtained from the social networking system within the web page. Based on the instruction in the received markup language document, the user device requests personalized content from the social networking system, which generates the requested personalized content based on social information about the user. The user device then renders the web page with the personalized content contained in a frame and displays the rendered web page and the frame to the user.

    See patent
  • Personalizing a web page outside of a social networking system with content from the social networking system selected based on global information

    Issued US 8572174

    A user device requests a web page from a web server of a third-party website, which is separate from a social networking system. The web server from the third-party website sends a markup language document for the requested web page to the user device which includes an instruction for a browser application running on the user device to incorporate information obtained from the social networking system within the web page. Based on the instruction in the received markup language document, the…

    A user device requests a web page from a web server of a third-party website, which is separate from a social networking system. The web server from the third-party website sends a markup language document for the requested web page to the user device which includes an instruction for a browser application running on the user device to incorporate information obtained from the social networking system within the web page. Based on the instruction in the received markup language document, the user device requests personalized content from the social networking system, which generates the requested personalized content based on social information about the user. The user device then renders the web page with the personalized content contained in a frame and displays the rendered web page and the frame to the user.

    See patent
  • Markup language for incorporating social networking system information by an external website

    Issued US 8549072

    A social networking system contains information describing information about users of the social networking system and about various connections among the users. When a user of the social networking system accesses an external website, the external website may send the user a web page containing markup language with instructions to retrieve information associated with a user from a social networking system. The client device processes the annotations and sends a request for social information…

    A social networking system contains information describing information about users of the social networking system and about various connections among the users. When a user of the social networking system accesses an external website, the external website may send the user a web page containing markup language with instructions to retrieve information associated with a user from a social networking system. The client device processes the annotations and sends a request for social information related to the user to a social networking system, subject perhaps to privacy settings in the social networking system. The user's browser uses the information obtained from the social networking system in response to the request to render the markup language document for display on the user's computer system. This process allows the external website to use information from the social networking system to enhance the user's experience on the external website.

    See patent
  • Mechanism for binding a structured data protocol to a protocol offering up byte streams

    Issued US 8533357

    A mechanism for sending structured data using a corresponding byte stream. Upon accessing structured data such as a Simple Object Access Protocol (SOAP) envelope, a byte stream is generated. The byte stream includes bytes that represent the structured data, as well as a collection of bytes that represents properties about the byte stream such as, for example, a mode of communication. The byte stream may then be passed to a communication module (e.g., a TCP or Named Pipes module) capable of…

    A mechanism for sending structured data using a corresponding byte stream. Upon accessing structured data such as a Simple Object Access Protocol (SOAP) envelope, a byte stream is generated. The byte stream includes bytes that represent the structured data, as well as a collection of bytes that represents properties about the byte stream such as, for example, a mode of communication. The byte stream may then be passed to a communication module (e.g., a TCP or Named Pipes module) capable of receiving and transmitting the byte stream.

    Other inventors
    See patent
  • Integrating structured objects and actions generated on external systems into a social networking system

    Filed US 20130073983

    A social networking system includes a mechanism for integrating user actions on objects outside of the social networking system in the social graph. For example, streaming music on external systems may be integrated into the user experience on the social networking system. Third-party developers, in addition to administrators of the social networking system, may define objects and actions that enable integration of external music sources to be played and controlled using the social networking…

    A social networking system includes a mechanism for integrating user actions on objects outside of the social networking system in the social graph. For example, streaming music on external systems may be integrated into the user experience on the social networking system. Third-party developers, in addition to administrators of the social networking system, may define objects and actions that enable integration of external music sources to be played and controlled using the social networking system while also providing socially relevant information to other users of the social networking system. Actions and objects recorded from these external user interactions are structured to enable aggregation and structured querying, which enables data visualizations of the information discoverable on the social graph. In this way, interesting information about users' actions outside of the domain of the social networking system may be shared and compared with other users on the social networking system.

    See patent
  • Structured objects and actions on a social networking system

    Filed US 20130073632

    A social networking system includes a mechanism for integrating user actions on objects outside of the social networking system in the social graph. External system operators include widgets that, when executed by user devices, record user interactions that correspond to a defined structure of actions and objects. Third party operators utilize a tool provided by the social networking system to define the structure of actions and objects. External actions are recorded by the social networking…

    A social networking system includes a mechanism for integrating user actions on objects outside of the social networking system in the social graph. External system operators include widgets that, when executed by user devices, record user interactions that correspond to a defined structure of actions and objects. Third party operators utilize a tool provided by the social networking system to define the structure of actions and objects. External actions are recorded by the social networking system for publishing to the social graph.

    See patent
  • Tools for creating structured objects and actions on a social networking system

    Filed US 20130073979

    A social networking system includes a mechanism for integrating user actions on objects outside of the social networking system in the social graph. External system operators include widgets that, when executed by user devices, record user interactions that correspond to a defined structure of actions and objects. Third party operators utilize a tool provided by the social networking system to define the structure of actions and objects. External actions are recorded by the social networking…

    A social networking system includes a mechanism for integrating user actions on objects outside of the social networking system in the social graph. External system operators include widgets that, when executed by user devices, record user interactions that correspond to a defined structure of actions and objects. Third party operators utilize a tool provided by the social networking system to define the structure of actions and objects. External actions are recorded by the social networking system for publishing to the social graph.

    See patent
  • Server-assisted and peer-to-peer synchronization

    Issued US 8386587

    Systems and methods for synchronizing data between endpoints using elements of centralized and decentralized synchronization systems and communication topologies are disclosed. Such systems and methods may in some cases synchronize some subset of data with a centralized endpoint while another subset of data is synchronized in a decentralized fashion directly with other endpoints. Such systems and methods may include a variety of cooperative functionality to assist in the synchronization of data…

    Systems and methods for synchronizing data between endpoints using elements of centralized and decentralized synchronization systems and communication topologies are disclosed. Such systems and methods may in some cases synchronize some subset of data with a centralized endpoint while another subset of data is synchronized in a decentralized fashion directly with other endpoints. Such systems and methods may include a variety of cooperative functionality to assist in the synchronization of data between endpoints.

    See patent
  • Leveraging A Social Graph From A Social Network For Social Context In Other Systems

    Filed US 20130014284

    A social network contains information describing information about members of the social network and about various connections among the members. An external system that interacts with users (such as a website) communicates with the social network to access information about the members of the social network. In particular, the external system may determine whether a user is a member of the social network and then obtain information about the member and the member's connections within the…

    A social network contains information describing information about members of the social network and about various connections among the members. An external system that interacts with users (such as a website) communicates with the social network to access information about the members of the social network. In particular, the external system may determine whether a user is a member of the social network and then obtain information about the member and the member's connections within the social network. This allows an external system to use information from the social network to enhance a user's experience on the external system, while enforcing each member's privacy settings.

    See patent
  • Flexibly transferring typed application data

    Issued US 8296354

    The present invention extends to using Simple Object Access Protocol ("SOAP") to exchange typed objects, such as, for example, parameters for invoking methods. A computer system accesses typed object parameters corresponding to a typed object. The typed object is annotated with one or more message contract attributes of a message contract model defining a mapping between typed object parameters and corresponding SOAP elements. The computer system utilizes the message contract attributes to map…

    The present invention extends to using Simple Object Access Protocol ("SOAP") to exchange typed objects, such as, for example, parameters for invoking methods. A computer system accesses typed object parameters corresponding to a typed object. The typed object is annotated with one or more message contract attributes of a message contract model defining a mapping between typed object parameters and corresponding SOAP elements. The computer system utilizes the message contract attributes to map the typed object parameters into a SOAP element and inserts the SOAP element into a SOAP envelope. A receiving computer system accessing the SOAP element and utilizes the message contract attributes to map the SOAP element back into the typed object parameters.

    See patent
  • Personalizing a web page outside of a social networking system with recommendations for content from the social networking system

    Issued US 8280959

    A user device requests a web page from a web server of a third-party website, which is separate from a social networking system. The web server from the third-party website sends a markup language document for the requested web page to the user device which includes an instruction for a browser application running on the user device to incorporate information obtained from the social networking system within the web page. Based on the instruction in the received markup language document, the…

    A user device requests a web page from a web server of a third-party website, which is separate from a social networking system. The web server from the third-party website sends a markup language document for the requested web page to the user device which includes an instruction for a browser application running on the user device to incorporate information obtained from the social networking system within the web page. Based on the instruction in the received markup language document, the user device requests personalized content from the social networking system, which generates the requested personalized content based on social information about the user. The user device then renders the web page with the personalized content contained in a frame and displays the rendered web page and the frame to the user.

    See patent
  • Personalizing a web page outside of a social networking system with content from the social networking system

    Issued US 8250145

    A user device requests a web page from a web server of a third-party website, which is separate from a social networking system. The web server from the third-party website sends a markup language document for the requested web page to the user device which includes an instruction for a browser application running on the user device to incorporate information obtained from the social networking system within the web page. Based on the instruction in the received markup language document, the…

    A user device requests a web page from a web server of a third-party website, which is separate from a social networking system. The web server from the third-party website sends a markup language document for the requested web page to the user device which includes an instruction for a browser application running on the user device to incorporate information obtained from the social networking system within the web page. Based on the instruction in the received markup language document, the user device requests personalized content from the social networking system, which generates the requested personalized content based on social information about the user. The user device then renders the web page with the personalized content contained in a frame and displays the rendered web page and the frame to the user.

    See patent
  • Server-assisted and peer-to-peer synchronization

    Issued US 8239479

    Systems and methods for synchronizing data between endpoints using elements of centralized and decentralized synchronization systems and communication topologies are disclosed. Such systems and methods may in some cases synchronize some subset of data with a centralized endpoint while another subset of data is synchronized in a decentralized fashion directly with other endpoints. Such systems and methods may include a variety of cooperative functionality to assist in the synchronization of data…

    Systems and methods for synchronizing data between endpoints using elements of centralized and decentralized synchronization systems and communication topologies are disclosed. Such systems and methods may in some cases synchronize some subset of data with a centralized endpoint while another subset of data is synchronized in a decentralized fashion directly with other endpoints. Such systems and methods may include a variety of cooperative functionality to assist in the synchronization of data between endpoints.

    See patent
  • Utilizing abstract descriptions to generate, exchange, and configure service and client runtimes

    Issued US 7950023

    The present invention extends utilizing abstract descriptions to generate, exchange, and configure service and client runtimes. A computer system parses compiled code and potentially optional configuration information for implementing a service and converts the compiled code and any configuration information into an abstract service description. The abstract service description can then be converted into code document object model and service configuration information or exported as metadata. A…

    The present invention extends utilizing abstract descriptions to generate, exchange, and configure service and client runtimes. A computer system parses compiled code and potentially optional configuration information for implementing a service and converts the compiled code and any configuration information into an abstract service description. The abstract service description can then be converted into code document object model and service configuration information or exported as metadata. A corresponding service runtime can be initiated by calling a service initializer included in the abstract service description. The code document object model and configuration information and/or metadata can be transferred to another computer system. The other computer system can utilize the code document object model and configuration information and/or import the metadata to facilitate initialization of a compatible channel for communicating with the service runtime.

    See patent
  • Message object model

    Issued US 7949720

    Embodiments described herein provide for an overall object mode that allows for a single message object to represent multiple messaging formats. A general message object is populated with fields for multiple available messaging formats, which can be appropriately filled with information with fields for both versions 1.1 and 1.2. Depending on which version is being used or desired, the appropriate fields can be populated when creating an instance of the message object. The other fields that do…

    Embodiments described herein provide for an overall object mode that allows for a single message object to represent multiple messaging formats. A general message object is populated with fields for multiple available messaging formats, which can be appropriately filled with information with fields for both versions 1.1 and 1.2. Depending on which version is being used or desired, the appropriate fields can be populated when creating an instance of the message object. The other fields that do not correspond to that version, however, are left blank.

    See patent
  • Simultaneous API exposure for messages

    Issued US 7925710

    Embodiments described herein provide for a message object that simultaneously exposes an XML view and Type view for a message infoset. In this embodiment, interaction with a message can occur using either an XML or Type application program interface (API), which are synced. More specifically, embodiments herein provide or expose a common set of headers (e.g., SOAP headers) as "typed" properties (e.g., CLR properties), which allow for getting and/or setting a value thereof. In other words, the…

    Embodiments described herein provide for a message object that simultaneously exposes an XML view and Type view for a message infoset. In this embodiment, interaction with a message can occur using either an XML or Type application program interface (API), which are synced. More specifically, embodiments herein provide or expose a common set of headers (e.g., SOAP headers) as "typed" properties (e.g., CLR properties), which allow for getting and/or setting a value thereof. In other words, the Type API reads/writes values for typed properties without regard to how the message is encoded with XML. Moreover, the two APIs are synced such that a value can be set using one API and retrieved using the other. For example, an XML API may be used as a writing mechanism for interacting with a value, while the Type API can read that same value, and vise-versa.

    See patent
  • System and method for building and using communication binding objects

    Issued US 7921216

    The present invention provides for an automated, user friendly way of constructing and using a binding object. A developer is presented with and selects binding elements that will ultimately be used to create a runtime communication channel for transporting a message between a client and service endpoint. After receiving the user input, metadata, a channel factory and listener factory are created. The metadata describes binding elements and provides an abstract representation of a protocol…

    The present invention provides for an automated, user friendly way of constructing and using a binding object. A developer is presented with and selects binding elements that will ultimately be used to create a runtime communication channel for transporting a message between a client and service endpoint. After receiving the user input, metadata, a channel factory and listener factory are created. The metadata describes binding elements and provides an abstract representation of a protocol stack that implements communication aspects at runtime. The channel factory is configured to use the collection of metadata at runtime to generate the runtime communication channel. Further, the listener factory is configured to accept the runtime communication channel for de-multiplexing the communication aspects in order to process the message at a service endpoint. The present invention also provides for groupings of binding elements and standardized binding objects organized based on industry need.

    See patent
  • Communication channel model

    Issued US 7882236

    The present invention provides for a channel model capable of generating a runtime communication channel with pluggable modular channel components. These channel components implement one of a set of standard interfaces that allow processing details of communication semantics between components to be represented in a polymorphic way. A message and corresponding communication semantics are recursively passed through the channel components using the standard interface, thereby abstracting other…

    The present invention provides for a channel model capable of generating a runtime communication channel with pluggable modular channel components. These channel components implement one of a set of standard interfaces that allow processing details of communication semantics between components to be represented in a polymorphic way. A message and corresponding communication semantics are recursively passed through the channel components using the standard interface, thereby abstracting other modules and components from specific implementation details of how the communication semantics are performed. The message may then be sent to the next appropriate module for further processing, or the processing may be completed at that particular component or module. Note also that the message can also be de-multiplexed on the service side in a similar fashion as that described above.

    See patent
  • Varying of message encoding

    Issued US 7814211

    Embodiments described herein provide a user with the ability to vary the encoding of a message object rather than being bound to a specific one, e.g., the text encoding for SOAP messaging. Accordingly, a message encoding factory is provided that is responsible for mapping a message object (e.g., SOAP Infoset) into raw octets suitable for wire transmission. By encapsulating the notion of a message encoder factory abstractly, embodiments allow users to vary the encoding of an Infoset without…

    Embodiments described herein provide a user with the ability to vary the encoding of a message object rather than being bound to a specific one, e.g., the text encoding for SOAP messaging. Accordingly, a message encoding factory is provided that is responsible for mapping a message object (e.g., SOAP Infoset) into raw octets suitable for wire transmission. By encapsulating the notion of a message encoder factory abstractly, embodiments allow users to vary the encoding of an Infoset without varying the programming model (or any other aspect of the system that uses message). In other words, embodiments herein separate the transport (e.g., TCP, HTTP, etc.) from the encoding, which allows users to use any number of encoding mechanisms--even their own proprietary ones.

    See patent
  • Remote Storage Service API

    Filed US 20090241134

    Techniques are disclosed to provide an application programming interface to access data stored in a remote storage service. The data may be of any type, and is stored in core objects.

    See patent
  • Mechanism for preserving session state when using an access-limited buffer

    Issued US 7565395

    Preserving session state correlation in a distributed computing environment in which a service module instance receives messages from a general input buffer. The general input buffer is not accessed by a service module instance once the service module instance is determined to be recycled. After the service module instance receives a session initiation message through the general input buffer, a session-oriented input buffer is associated with the service module instance. Any subsequent session…

    Preserving session state correlation in a distributed computing environment in which a service module instance receives messages from a general input buffer. The general input buffer is not accessed by a service module instance once the service module instance is determined to be recycled. After the service module instance receives a session initiation message through the general input buffer, a session-oriented input buffer is associated with the service module instance. Any subsequent session messages are then received by the service module via the session-oriented input buffer. Even if the service module instance was determined to be recycled mid-session, the service module instance would still operate to process all of the remaining session messages from the session input buffer, thereby preserving session continuity.

    See patent
  • Interface infrastructure for creating and interacting with web services

    Issued US 7512957

    A web services namespace pertains to an infrastructure for enabling creation of a wide variety of applications. The infrastructure provides a foundation for building message-based applications of various scale and complexity. The infrastructure or framework provides APIs for basic messaging, secure messaging, reliable messaging and transacted messaging. In some embodiments, the associated APIs are factored into a hierarchy of namespaces in a manner that balances utility, usability…

    A web services namespace pertains to an infrastructure for enabling creation of a wide variety of applications. The infrastructure provides a foundation for building message-based applications of various scale and complexity. The infrastructure or framework provides APIs for basic messaging, secure messaging, reliable messaging and transacted messaging. In some embodiments, the associated APIs are factored into a hierarchy of namespaces in a manner that balances utility, usability, extensibility and versionability.

    See patent
  • Querying for services using soap over UDP

    Issued US 7453875

    A sending computer system can identify one or more available network resources at one or more network computers by sending a request for services using Simple Object Access Protocol (SOAP) over User Datagram Protocol (UDP). In particular, the sending computer system prepares a SOAP message that includes a request for available resources. The sending computer system then encapsulates the SOAP message into a user datagram, and sends the user datagram to one or more identifiable computer systems…

    A sending computer system can identify one or more available network resources at one or more network computers by sending a request for services using Simple Object Access Protocol (SOAP) over User Datagram Protocol (UDP). In particular, the sending computer system prepares a SOAP message that includes a request for available resources. The sending computer system then encapsulates the SOAP message into a user datagram, and sends the user datagram to one or more identifiable computer systems on the network. In one implementation, the sending computer system sends the user datagram to a multi-cast Uniform Resource Identifier (URI). The receiving computer system receives the message through UDP, unpacks the message, and responds to the SOAP message request. Accordingly, the sending computer system can query multiple computer systems in an efficient manner without necessarily incurring the overhead otherwise associated with connection-oriented communication.

    See patent
  • Message contract programming model

    Filed US 20070177590

    Embodiments described herein provide for a message contract programming model, which is a mechanism for service developers to control the processing, layout, and creation of messages (e.g., SOAP) without losing the benefits of a strongly-typed data contract model. Such programming model is based on attributes, which can be used to define the action or operations, headers, and body parts components of a message. These attributes may be used on a type annotated with message contract or on a…

    Embodiments described herein provide for a message contract programming model, which is a mechanism for service developers to control the processing, layout, and creation of messages (e.g., SOAP) without losing the benefits of a strongly-typed data contract model. Such programming model is based on attributes, which can be used to define the action or operations, headers, and body parts components of a message. These attributes may be used on a type annotated with message contract or on a service operation to control the manner in which the message (e.g., SOAP) is constructed from a service process, process parameters, and/or return values. The use of the message contract in conjunction with a message formatter as defined herein provides for many advantageous features and embodiments described herein.

    See patent
  • Partial message streaming

    Filed US 20070177583

    Embodiments provided herein support large messages by formatting at least a portion of the message in the form of a transport stream. More specifically, embodiments provide a SOAP model that can stream an object for a message without loading the entire message into an intermediate buffer. Accordingly, one embodiment supports loading SOAP headers into memory, yet streaming the body. This would allow, for example, large attachments (e.g., a video file) to accompany the SOAP message in the body…

    Embodiments provided herein support large messages by formatting at least a portion of the message in the form of a transport stream. More specifically, embodiments provide a SOAP model that can stream an object for a message without loading the entire message into an intermediate buffer. Accordingly, one embodiment supports loading SOAP headers into memory, yet streaming the body. This would allow, for example, large attachments (e.g., a video file) to accompany the SOAP message in the body, while still supporting random access to message headers. Accordingly, embodiments provide a SOAP data model that allows a developer to create an object and specify whether or not portions of the message should be buffered or streamed.

    See patent
  • System and method for message-level connection management

    Filed US 20050187979

    A concept for providing a data structure handing process is described. The concept includes determining a size of a data structure, selecting a data streaming protocol when the size exceeds a predetermined limit and selecting a buffered data protocol otherwise.

    See patent

More activity by Mike

View Mike’s full profile

  • See who you know in common
  • Get introduced
  • Contact Mike directly
Join to view full profile

Other similar profiles

Explore collaborative articles

We’re unlocking community knowledge in a new way. Experts add insights directly into each article, started with the help of AI.

Explore More

Others named Mike Vernal

Add new skills with these courses