A method and apparatus for sharing captured media data via a social networking service is described herein. The method includes receiving a list of one or more media data files captured via a mobile (i.e., portable) computing device, the list to include, for each of the media data files, data identifying one or more real-world experiences of a user of the social networking service associated with the respective media data file. The method also includes transmitting information for providing an interface to the mobile computing device to enable the user to share one or more of the media data files in the social network with one or more other users by identifying each media data file with the data identifying a corresponding real-world experience. Furthermore, the method allows for the sharing of data related to the context of each corresponding real-world experience.
|
1. A method comprising:
receiving a list of one or more media data files, wherein the list includes, for each of the one or more media data files, respective data identifying one or more real-world experiences of a user of a social network associated with the media data file, the social network comprising a plurality of users and a networking service to track and enable connections between the users; and
transmitting information, based on the list, to represent as a first search result in an interface provided via a mobile computing device, wherein the interface comprises an input box to receive content that is to be included in a post to be shared with users of the social network, the interface further comprising a first graphical user interface (gui) element, wherein a selection of the first gui element is to limit a first search request to media files that each represent respective content that is associated with a real-world experience of the user, wherein the first search result comprises one or more items each identifying a respective media data file and a corresponding real-world experience, wherein a selection of a first item of the one or more items from the first search result via the interface is to choose a respective media data file to be included in the post.
9. A non-transitory computer readable storage medium including instructions that, when executed by a processor, cause the processor to perform a method comprising:
receiving a list of one or more media data files, wherein the list includes, for each of the one or more media data files, respective data identifying one or more real-world experiences of a user of a social network associated with the media data file, the social network comprising a plurality of users and a networking service to track and enable connections between the users; and
transmitting information, based on the list, to represent as a first search result in an interface provided via a mobile computing device, wherein the interface comprises an input box to receive content that is tobe included in apost to be shared with users of the social network, the interface further comprising a first graphical user interface (gui) element, wherein a selection of the first gui element is to limit a first search request to media files that each represent respective content that is associated with a real-world experience of the user, wherein the first search result comprises one or more items each identifying a respective media data file and a corresponding real-world experience, wherein a selection of a first item of the one or more items from the first search result via the interface is to choose a respective media data file to be included in the post.
17. A server system comprising:
a memory;
a processor; and
a social networking service module included and the memory and executed via a processor to:
receive a first search request from a user of a social network, via a client device, wherein an interface provided via a client device comprises an input box to receive content that is to be included in a post to be shared with users of the social network, wherein the interface further comprises a first graphical user interface (gui) element, wherein a selection of the first gui element limits the first search request to media data files that each represent respective content that is associated with a real-world experience of the user;
retrieve, in response to the first search request, a list of one or more media data files each associated with a respective real-world experience of the user, the list to further include, for each of the media data files, respective data identifying a real-world experience of the user associated with the media data file; and
transmit information based on the list, to represent as a first search result in the interface, wherein the first search result comprises one or more items each identifying a respective media data file and a corresponding real-world experience, wherein a selection of a first item of the one or more items from the first search result via the interface is to choose a respective media data file to be included in the post.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of 6, wherein the interface is accessible via a second gui element presented within the networking service module to accept user text input to share a message with one or more other users of the social network.
8. The method of
10. The non-transitory computer readable storage medium of
11. The non-transitory computer readable storage medium of
12. The non-transitory computer readable storage medium of
13. The non-transitory computer readable storage medium of
14. The non-transitory computer readable storage medium of
15. The non-transitory computer readable storage medium of 14, wherein the interface is accessible via a second gui element presented within the networking service module to accept user text input to share a message with one or more other users of the social network.
16. The non-transitory computer readable storage medium of
18. The server system of
19. The server system of
20. The server system of
21. The server system of
22. The server system of
23. The server system of
24. The server system of
25. The server system of
request the list of one or more media data files associated with real-world experiences of the user from the media data server system.
|
Embodiments of the invention relate to the field of social networks, and more particularly, to enabling a history of real-world user experiences to be shared via a social network.
Social networking services allow users to share messages and media data with members of their social network. For example, a user may post a message to reflect a thought, a mood, an event, or to share information such as a link, document, media file, or resource with other members. When a user wishes to post a message related to a recent experience, activity, event, or the like, there currently exists no interface to present the user with media data relevant to the user's message without also presenting media data that has little or no relevance to user's experience, activity, event, etc. Furthermore, the user is limited in terms of what information he is able to share; while a user may capture, for example, image data related to an experience, the image data alone does not convey other contextual data related to the experience. Thus, there exists a need for a solution to enable social network users to quickly and efficiently share user-generated content relevant to their real world experiences—i.e., presenting social network users with media data that captures their experiences, organized and ordered by the context of each experience, as well as data related to the context of each experience.
A method and apparatus for sharing captured media data via a social networking service is described herein. The method includes receiving a list of one or more media data files captured via a mobile (i.e., portable) computing device, the list to include, for each of the media data files, data identifying one or more real-world experiences of a user of the social networking service associated with the respective media data file, the social networking service to track and enable connections between various users. The method also includes transmitting information for providing an interface to the mobile computing device to enable the user to share one or more of the media data files in the social network with one or more other users of the social network, the interface to identify each media data file with the data identifying a corresponding real-world experience. Furthermore, the method allows for the sharing of data related to the context of each corresponding real-world experience.
These and other aspects and embodiments are described in detail in the drawings, the description, and the claims.
Embodiments of the invention will be understood more fully from the detailed description given below and from the accompanying drawings of various embodiments of the invention, which, however, should not be taken to limit the invention to the specific embodiments, but are for explanation and understanding only.
Embodiments of an apparatus, system and method for sharing media data based on one or more real-world user experiences through a social networking service are described herein. In the following description numerous specific details are set forth to provide a thorough understanding of the embodiments. One skilled in the relevant art will recognize, however, that the techniques described herein can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring certain aspects.
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 invention. Thus, the 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. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
Mobile device 110 and search server 130 may be communicatively coupled via network 102 using any of the standard network protocols for the exchange of information. In one embodiment, mobile device 110 is coupled with network 102 via a wireless connection, such as a cellular telephone connection, wireless fidelity connection, etc. Mobile device 110 and search server 130 may run on one Local Area Network (LAN) and may be incorporated into the same physical or logical system, or different physical or logical systems. Alternatively, mobile device 110 and search server 130 may reside on different LANs, wide area networks, cellular telephone networks, etc. that may be coupled together via the Internet but separated by firewalls, routers, and/or other network devices. It should be noted that various other network configurations can be used including, for example, hosted configurations, distributed configurations, centralized configurations, etc.
In this embodiment, mobile device 110 is able to capture digital image data with a digital camera (not shown) and capture audio data with a microphone (not shown) included in the mobile device. The captured digital image data may include still digital photographs, a series of digital photographs, recorded digital video, a live video feed, etc.
Digital image data may capture people, as well as real-world objects such as places or things, while digital audio data may capture music, conversations that convey data such as names, places, and news events, etc. When mobile device 110 captures media data, such as digital image data and/or digital audio data, audio/visual based search client 112 transmits the captured media data to search server 130. In one embodiment, audio/visual based search client 112 also transmits sensor data, such as location data and time data along with the captured media data, which corresponds to the location and time when the media data was captured. Audio/visual based search system 132 of search server 130 receives the media and sensor data, and performs one or more recognition processes on the media data, as discussed below.
In one embodiment, when audio/visual based search system 132 of search server 130 receives media data from audio/visual based search client 112, it performs one or more image recognition processes on digital image data and/or performs one or more audio recognition processes on the digital audio data. For example, audio/visual based search system 132 may perform a facial recognition process on people within the digital image data or an image matching process on objects within the digital image data. Audio/visual based search system 132 may also (or alternatively) perform an audio recognition process on the audio data to determine whether a recorded or live song is playing, determine what words are being spoken, etc.
In one embodiment, when audio/visual based search system 132 identifies a specific person, a specific object (e.g., artwork, architecture, monuments, retail locations, etc.), a specific song, words indicative of location, words indicative of a person in simultaneously captured digital image, etc., it stores data indicative of the match in audio/visual based search history 134. The stored match is a record of a user experience in the real world. For example, when a person is matched within digital image data, audio/visual based search system 132 may store the event that caused the digital image data to be captured, the person's identity, the location where the digital image was captured, and the time the digital image was captured in a database record or searchable index within audio/visual based search history 134. Furthermore, the entry in audio/visual based search history 134 is stored along with the user identification data, such as user account, a unique ID, etc.
Said recognition processes are performed on any additional media data received from mobile device 110, and matches are stored in audio/visual based search history 134. Since the audio and/or video data matches are stored in association with data identifying a user of mobile device 110, a history of user experiences in the real world captured by mobile device 110 is stored at audio/visual based search history 134. Said history of real-world user experiences is searchable, as discussed below.
In one embodiment, mobile device 110 is also responsible for receiving user queries to search audio/visual based search history 134 (other computing devices, such as a personal computer, laptop, tablet computer, smartphone, etc., may receive and transmit queries against a history of user experiences, as discussed below). The query may be a text based query entered into a user interface of audio/visual based search client 112, and transmitted by mobile device 110 to search server 130. The query may also be a spoken or audio query received by audio/visual based search client 112 via a microphone (not shown) of mobile device 110, and transmitted to search server 130. When the query is a spoken or audio query, audio/visual based search client 112 may either transmit the audio to search server 130, or mobile device 110 may parse the query to locate keywords which are then transmitted as a text-based query to search server 130.
Audio/visual based search system 132 may receive the user query from audio/visual based search client 112. As discussed above, when a query is a spoken or audio query that has not been parsed (i.e., the query is audio data), audio/visual based search system 132 parses the query to locate keywords, as discussed above. Audio/visual based search system 132 performs the search against the audio/visual based search history 134 for items relevant to the query and which are related to the user identification data associated with a user of mobile device 110. Audio/visual based search system 132 transmits results of the search to the mobile device for audio/visual based search client 112 to display to a user.
In one embodiment, the history of user experiences stored at audio/visual based search history 134 enable queries to be executed on a user's history of real-world experiences, such as “What was the playlist of songs at the party last night?,” “What were the paintings I saw when I was on vacation in Paris?,” “Who were the people at the business lunch this afternoon?,” “How many books did I read in May?,” etc. The queries enable a user to search and locate the people, places, and things that he or she has experienced.
Queries may be issued for histories across multiple users. For example, friends on a social networking website may specify that their user experience histories on audio/visual based search history 134 are available for searches by friends, the public, members of user groups, etc. Thus, a user might be able to enter queries such as “Where were my friends last night?”, “What did John see on vacation?”, etc.; however, a user of a social networking website may wish to publish specific user experiences (i.e., one or a subset of experiences available from audio/visual based search history 134). Thus, embodiments of the invention enable a social networking website to submit a type of query to search server 130 as described below.
In yet another embodiment, queries may be issued for histories that have been generated by multiple users. A group of users may be generating histories for a common purpose. For example, a group of security guards, airport screeners, etc. may generate histories while they are working. Then at a later point in time, a query such as “Show me the faces of all people that were seen between 1 P.M. and 3 P.M.” may be entered by any member of the group, a supervisor in charge of the group, etc.
In this embodiment, audio/visual based search client 212 includes audio capture module 220, image capture module 222, sensor data generators 224, audio/visual search generator 216, audio/visual based search system interface 214, social network service client 230, and audio visual based search user interface 228. Audio/visual based search system 232 includes client interface 236, history and analytics search engine 240, audio/visual based search engine 238, and audio/visual based search history 234. Social network service engine 242 includes client interface 244; while shown separately, it is to be understood that in other embodiments, social network service engine may be included in the same device or system as audio/visual based search system 232. In this embodiment, social network service engine 242, audio/visual based search client 212 and audio/visual based search system 232 communicate with each other over various networks 202 and network configurations as discussed above in
In audio/visual based search client 212, a user may capture media data utilizing one or both of audio capture module 220 and image capture module 220 in order to generate a history of user experiences, as discussed herein. A user may specify that image data and/or audio data are transferred to audio/visual based search system 232 when captured by a user initiated event, such as a user taking a picture, speaking into a microphone, pressing a button on audio/visual based search user interface 228 indicating that user wishes to add media data to audio/visual based search history 234, etc. In one embodiment, a user is able to set location based preferences where audio/visual based search client 212 is to capture media data. For example, when a mobile device is in Mountain View, Calif., audio/visual based search client 212 may be set to continuously, or at regular periodic intervals, capture media data without a user initiating the media capture. In another example, a user's current location determines if they are in a popular location (e.g., one in which a certain number of other users have captured media data for experience histories). When the user is determined to be within a popular location, preference manager may automatically turn on media capture without intervention of a user. Audio capture module 220 and/or image capture module 222 may be set to continuously or periodically capture media data for a specific interval of time. For example, media may be continuously captured for two hours after a specific event (e.g., after arriving at a specific location, in response to a user command, etc.). A user may further set media capture to always on, so that audio capture module 220 and image capture module 222 are continuously capturing media data without a user initiating the media capture. In one embodiment, the settings for media data capture may change between the modes discussed above based on current conditions of a battery of a mobile device. Preferences settings may be received, changed, updated, etc. via a user interface provided by audio/visual based search user interface 228.
In response to the capture of media data, audio/visual search generator 216 prepares the captured media data for transmission to audio/visual based search system 232. In one embodiment, audio/visual search generator 216 generates digital signatures for objects within image data captured by image capture module 222, selects audio samples or generates digital signatures from audio data captured by audio capture module 220, and obtains data from sensor data generators 224, such as location data, time data, acceleration data, etc. In another embodiment, audio/visual search generator 216 does not generate image signatures or locate audio samples. Audio/visual search generator 216 combines the media data with the sensor data, which are then transmitted by audio/visual based search system interface to client interface 236 of audio/visual based search system 232.
When audio/visual based search engine 238 receives digital image data and/or audio data, audio/visual based search engine 238 generates digital signatures for objects within the received image data and selects audio samples from the received audio data. However, as discussed above, audio/visual based search engine 238 may also receive image signatures and audio samples, and thus does not generate the signatures and samples. In one embodiment, audio/visual based search engine 238 utilizes the digital image signatures and/or audio samples to perform one or more recognition processes on the media data to attempt to determine specific objects, people, things, etc. within digital image data, or determine words, a song title, people's names, etc., within audio data. For example, audio/visual based search engine 238 may utilize the image signatures and/or audio samples to search visual and audio search servers, databases, indexes, etc. (not shown). When audio/visual based search engine 238 finds a match, indicating that an object within image data or a sound within audio data has been recognized, audio/visual based search engine 238 stores the results in audio/visual based search history 234. In one embodiment, audio/visual based search engine 238 also stores user identification data and relevant sensor data along with the match results. As discussed above, as more matches are found for media data captured by the user, a history of user experiences is created by audio/visual based search system 232.
In this embodiment, a user is enabled to search an associated history of user experiences by generating search queries via audio/visual based search user interface 228. Audio/visual based search user interface 228 may receive queries in the form of text inputted by the user. Audio/visual based search user interface 228 may also receives queries in the form of audio input received by audio capture module. For example, voice command based searching is received by audio/visual based search user interface 228 in the form of spoken word; audio/visual based search user interface 228 parses the voice command based search to locate keywords. Based on the keywords, audio/visual based search user interface 228 generates a keyword based search query. Regardless of the way a query is generated, audio/visual based search system interface 214 transmits the query to client interface 236.
In one embodiment, history and analytics search engine 240 receives the search query from client interface 236. History and analytics search engine 240 then performs the search on audio/visual based search history 234 associated with the user who generated the search. Because the audio/visual based search history stores a history of user experiences, history and analytics search engine 240 executes searches such as “How many books did I read last month?,” “Who was at the club this weekend?,” “What buildings did I see in Sydney, Australia?,” etc. History and analytics search engine 240 receives results of the search, and client interface 236 transmits the results to audio/visual based search client 212, which are displayed to a user via audio/visual based search user interface 228.
Social network service engine 242 provides a social networking service to the user of audio/visual based search client 212. Said social networking service provides the user with means for distributing content to other users of the service (e.g., friends, family, acquaintances, etc.). Said content may be messages, pictures, videos, audio data, and the like.
Client interface 244 included in social networking service engine 242 is communicatively coupled to both client interface 236 of audio/visual based search system 232 and social network service client 230 of audio/visual based search client 212 to enable the user to share media data files related to their history of real-world experiences within the social network. Said history presented within social network service client 230 may be reduced (i.e., filtered) based on various social networking contexts as described below.
Method 300 is performed by processing logic that may comprise hardware (circuitry, dedicated logic, etc.), software (such as is run on a general purpose computer system or a dedicated machine), firmware, or a combination. In one embodiment, method 300 is performed by an audio/visual based search system (e.g., audio/visual based search client 132 or 232) and a social networking service provider (e.g., social networking service engine 242).
Processing logic begins by receiving captured media data files from a client device (processing block 302), such as the digital image data and/or digital audio data. Processing logic performs image and/or audio recognition on the received media data (processing block 304). For example, processing logic may perform an image recognition process on received video or image data to search for real world objects, people, or other known objects and perform an audio recognition process on received video or audio data to search for known audio, such as songs, voice recognition, keywords etc.
Processing logic then determines whether a person, object, or sound has been recognized (processing block 306). When a match is found, and thus a person, object, or sound within the media data has been identified, processing logic stores the results in an audio/visual based search history for a user (processing block 308). The social networking service is then notified that media data related to a history of real-world experiences is available to potentially be shared via the social networking service (processing block 310). In some embodiments, in the event no person, object, or sound has been recognized in processing block 306, the media file is associated with known data (e.g., location or time data) by default in order to store the file in the audio/visual based search history for the user; in other embodiments, in the event no person, object, or sound has been recognized in processing block 306, the social networking service is notified of the existence of the media file, but it is not automatically associated with an identifiable real-world experience, and the user is prompted to enter data to describe the media file in order to store the file in the audio/visual based search history for the user.
When the social network server system receives the request for media data in the context of the current use of the social networking service (processing block 406), the request is converted into a query for an audio/video based search system (processing block 408) for the system to execute on a history of the user's real-world experiences, which have been captured and recorded in an audio/visual based search history. For example, a user's interaction with the social networking service may be related to an event (e.g., a party, a holiday, etc.) and this interaction is interpreted as a search for media data related to the event. In another example, the user may be currently located in an identifiable location, and this is interpreted as a search for media data captured at this location. In another embodiment, the user is simply presented with a list of media capture events; the user selects one of the events, which is interpreted as a search for captured media data related to that event.
Processing logic then transmits the search to an audio/visual based search system. The search is received from the audio visual based search client (processing block 410) and processing logic queries an audio/visual based search history based on the received search. Processing logic transmits results of the query to the social networking service (processing block 412), which in turn transmits the results to the social network client interface (processing block 414).
The social network client interface receives the results of the query from the audio/visual based search system (processing block 416) and displays the results of the query to the user within the social network client interface (processing block 418). In one embodiment, the results of the query display data indicative of the media data in the user's history of real world experiences. For example, query results that include digital images or video data may include the display of thumbnail images indicative of the image data or a sample of video data within the social network client interface. As another example, query results that include audio data may include the display of album artwork that corresponds to matched songs in the history of user experiences. In one embodiment, said social network client interface comprises a graphical user interface presented to the user, and this interface is to further display the query results. For example, the results display may be displayed on a map indicating the locations where matches relevant to the query have occurred, along a timeline illustrating the relationship between when matches relevant to the query have occurred, displayed in a slider that enables a user to browse a plurality of different matches relevant to the query, etc. Thus, embodiments of the invention present users with a collection of media data related to their recent experiences, organized or ordered by different criteria (e.g., chronologically, by location, by type), enabling users to quickly and efficiently select what result they want to share through the social network.
Client interface 500 further includes window pane 508 to allow USER1 to share ideas, activities, events, and interests within his/her individual networks. In this example, window pane 508 displays messages shared between users of the social network. For example, shared message 518 was sent by USER2 to USER1 and shared message 520 was sent by USER3 to USER1.
Input box 510 accepts user commands to share (via SHARE icon 516) content with other members of the social network. For example, input box 510 may accept user text input to share a message with other users. Input box 501 may also be utilized to share media data with other users. Icons 512 may select a type of file to share (i.e., image, video, audio, etc.). In this embodiment, the ‘star’ icon is used to access media data related to USER1's history of real-world experiences, while the remaining icons are used to access media data that are not necessarily related to USER1's history of real-world experiences.
As can been seen in
As can been seen in
Input box 610 accepts user commands to share (via SHARE icon 616) content of the social network. In this example, USER1 has input the string “Had Lunch with User4 at Location” into input box 610. Upon selecting the ‘star’ icon from icons 612 via cursor 614, embodiments of the invention parse said string for keywords and convert it into a search for related media data included in USER1's history of real-world experiences. In this example, keyword 632 (‘lunch’) is interpreted as a search for image or video data related to food at around the typical hours for lunch, keyword 634 (‘User4’) is interpreted as a search for whether USER4 is included in USER1's social network of contacts, and keyword 636 (‘Location’) is interpreted as a search for an image or video data identifying said location. It is understood that different and more complex searches may be performed based on said string—e.g., image or video data related to food that is associated with both a time stamp around the typical hours of lunch and said location may be searched and displayed, if any exist.
In this example, as shown in
The system may further be coupled to display device 770, such as a cathode ray tube (CRT) or a liquid crystal display (LCD) coupled to bus 715 through bus 765 for displaying information to a computer user. Alphanumeric input device 775, including alphanumeric and other keys, may also be coupled to bus 715 through bus 765 for communicating information and command selections to processor 710. An additional user input device is cursor control device 780, such as a mouse, a trackball, stylus, or cursor direction keys coupled to bus 715 through bus 765 for communicating direction information and command selections to processor 710, and for controlling cursor movement on display device 770.
Another device, which may optionally be coupled to computer system 700, is a communication device 790 for accessing other nodes of a distributed system via a network in order to transmit a list of captured media data via a social media client interface as described above. Communication device 790 may include any of a number of commercially available networking peripheral devices such as those used for coupling to an Ethernet, token ring, Internet, or wide area network. Communication device 790 may further be a null-modem connection, or any other mechanism that provides connectivity between computer system 700 and the outside world. Note that any or all of the components of this system illustrated in
It will be appreciated by those of ordinary skill in the art that any configuration of the system may be used for various purposes according to the particular implementation. The control logic or software implementing embodiments of the invention can be stored in main memory 750, mass storage device 725, or other storage medium locally or remotely accessible to processor 710.
It will be apparent to those of ordinary skill in the art that the system, method, and process described herein can be implemented as software stored in main memory 750 or read only memory 720 and executed by processor 710. This control logic or software may also be resident on an article of manufacture comprising a computer readable medium having computer readable program code embodied therein and being readable the mass storage device 725 and for causing processor 710 to operate in accordance with the methods and teachings herein.
Device 838 includes display system 844 comprising processor 846 and display 848. Display 848 may be, for example, an optical see-through display, an optical see-around display, or a video see-through display. Processor 846 may receive data from remote device 842, and configure the data for display. Processor 846 may be any type of processor, such as a micro-processor or a digital signal processor, for example.
Device 838 may further include on-board data storage, such as memory 850 coupled to processor 846. Memory 850 may store software that can be accessed and executed by processor 846, for example.
Remote device 842 may be any type of computing device or transmitter including a laptop computer, a mobile telephone, etc., that is configured to transmit data to device 838. Remote device 842 and device 838 may contain hardware to enable communication link 840, such as processors, transmitters, receivers, antennas, etc.
Communication link 840 is illustrated as a wireless connection; however, wired connections may also be used. For example, communication link 840 may be a wired link via a serial bus such as a universal serial bus or a parallel bus. A wired connection may be a proprietary connection as well. Communication link 840 may also be a wireless connection using, e.g., Bluetooth® radio technology, communication protocols described in IEEE 802.11 (including any IEEE 802.11 revisions), Cellular technology (such as GSM, CDMA, UMTS, EV-DO, WiMAX, or LTE), or Zigbee® technology, among other possibilities. Remote device 842 may be accessible via the Internet and may comprise a computing cluster associated with a particular web service (e.g., social-networking, photo sharing, address book, etc.).
It is to be understood that the above description is intended to be illustrative, and not restrictive. Many other embodiments will be apparent to those of skill in the art upon reading and understanding the above description. The scope of the invention should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
Some portions of the detailed description above are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent series of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the discussion above, it is appreciated that throughout the description, discussions utilizing terms such as “capturing,” “transmitting,” “receiving,” “parsing,” “forming,” “monitoring,” “initiating,” “performing,” “adding,” or the like, refer to the actions and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (e.g., electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
The embodiments of the invention also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a non-transitory computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions.
The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the method operations. The required structure for a variety of these systems will appear from the description above. In addition, the embodiments of the invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.
The present description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as may be suited to the particular use contemplated.
Adam, Hartwig, Neven, Hartmut, Petrou, David, Garcia-Barrio, Laura
Patent | Priority | Assignee | Title |
10067996, | Feb 28 2007 | Red Hat, Inc. | Selection of content for sharing between multiple databases |
10726063, | Sep 04 2014 | Salesforce.com, Inc. | Topic profile query creation |
10762158, | Feb 05 2014 | AIRBNB, INC | Capturing and managing knowledge from social networking interactions |
10838819, | Jan 18 2017 | Microsoft Technology Licensing, LLC | Including personal relationship metadata within duplicated resources shared across partitioned storage |
11113356, | Feb 05 2014 | AIRBNB, INC | Capturing and managing knowledge from social networking interactions |
ER2280, |
Patent | Priority | Assignee | Title |
6377793, | Dec 06 2000 | GOOGLE LLC | System and method of accessing and recording messages at coordinate way points |
6480713, | Dec 06 2000 | GOOGLE LLC | System and method of accessing and recording messages at coordinate way points |
6681107, | Dec 06 2000 | GOOGLE LLC | System and method of accessing and recording messages at coordinate way points |
6690516, | Jan 31 2000 | GOOGLE LLC | Head mount type display device |
7363024, | Dec 06 2000 | GOOGLE LLC | System and method of accessing and recording messages at coordinate way points |
8179434, | May 09 2008 | METTLER-TOLEDO, INC | System and method for imaging of curved surfaces |
8332424, | May 13 2011 | GOOGLE LLC | Method and apparatus for enabling virtual tags |
8484223, | Feb 17 2010 | Canon Kabushiki Kaisha | Image searching apparatus and image searching method |
8649776, | Jan 13 2009 | AT&T Intellectual Property I, L.P. | Systems and methods to provide personal information assistance |
20030020812, | |||
20050083413, | |||
20050128072, | |||
20050162523, | |||
20060264209, | |||
20070088488, | |||
20070096909, | |||
20070236575, | |||
20070250901, | |||
20080043108, | |||
20080140444, | |||
20080167004, | |||
20080285940, | |||
20090003662, | |||
20090006937, | |||
20090049004, | |||
20090089352, | |||
20090094520, | |||
20090100050, | |||
20090102859, | |||
20090165140, | |||
20090182644, | |||
20100046842, | |||
20100103075, | |||
20100318507, | |||
20110025842, | |||
20110069179, | |||
20110072015, | |||
20110135144, | |||
20110143811, | |||
20110145214, | |||
20110212717, | |||
20110213664, | |||
20110255738, | |||
20110256886, | |||
20120004036, | |||
20120045093, | |||
20120159326, | |||
20120233000, | |||
20120320013, | |||
20130036134, | |||
20130096731, | |||
20130110802, | |||
20130169626, | |||
20140073291, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 03 2011 | PETROU, DAVID | Google Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 027510 | /0579 | |
Dec 04 2011 | GARCIA-BARRIO, LAURA | Google Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 027510 | /0579 | |
Dec 15 2011 | ADAM, HARTWIG | Google Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 027510 | /0579 | |
Dec 20 2011 | NEVEN, HARTMUT | Google Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 027510 | /0579 | |
Jan 09 2012 | Google Inc. | (assignment on the face of the patent) | / | |||
Sep 29 2017 | Google Inc | GOOGLE LLC | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 044566 | /0657 |
Date | Maintenance Fee Events |
Feb 03 2020 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Feb 02 2024 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Aug 02 2019 | 4 years fee payment window open |
Feb 02 2020 | 6 months grace period start (w surcharge) |
Aug 02 2020 | patent expiry (for year 4) |
Aug 02 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 02 2023 | 8 years fee payment window open |
Feb 02 2024 | 6 months grace period start (w surcharge) |
Aug 02 2024 | patent expiry (for year 8) |
Aug 02 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 02 2027 | 12 years fee payment window open |
Feb 02 2028 | 6 months grace period start (w surcharge) |
Aug 02 2028 | patent expiry (for year 12) |
Aug 02 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |