The disclosure herein relates generally to methods for displaying history information.
Computer systems are known that allow for shared access to objects. As one example, shared storage systems can allow users to create or store objects such as files at a remote server, access the files via a network such as the internet, grant shared access to the files to other users, and in some examples, edit the file using a file creation and editing system that is associated with the shared storage system. As another example, a calendar application can allow a user to create a calendar object and grant shared access to the calendar objects to other users. As another example, a task management application can allow creation of task objects for assigning tasks to other users, thus granting the other users shared access to the task object. Shared access to an object by a second user can include any or all of the abilities to view the object, modify the object, share the object with additional users, make copies of the object, or delete the object. These types of systems are referred to herein as shared access systems. Shared access systems can allow actions to be taken with respect to an object. As an example, online document storage and editing systems are known that store files and allow multiple users who have been granted access to a particular file to take actions such as viewing or editing the file. In some shared access systems, users can be provided with information regarding actions taken with respect to certain objects by other users.
The disclosure relates to methods for displaying history information.
One aspect of the disclosed embodiments is a method that includes receiving, at one or more server computers from a user, a search request including a search input. The method also includes identifying, at the one or more server computers, a history information item based on the search input. The history information item includes information describing a prior state of the object. The method also includes determining, at one or more server computers, whether information describing a current state of the object corresponds to the search input. The method also includes outputting a prior-state based search result item that identifies the object and includes information based on the history information item. If the information describing the current state of the object corresponds to the search input, the method includes outputting a current-state based search result item that includes a link for accessing the object.
Another aspect of the disclosed embodiments is a method that includes receiving, at one or more server computers from a user, a search request including a search input. The method also includes identifying, at the one or more server computers, a history information item based on the search input. The history information item includes information describing a prior state of the object. The method also includes determining, at the one or more server computers, whether the object is currently accessible to the user. If the object is currently accessible to the user, the method includes outputting a current search result item that includes a link for accessing the object. If the object is not currently accessible to the user, the method includes outputting a historical search result item that identifies the object and includes information based on the history information item.
Another aspect of the disclosed embodiments is a method that includes receiving, at one or more server computers from a user, a search request including a search input. The method also includes generating, at the one or more server computers, historical search result items based on the search input and history information items. The method also includes generating, at the one or more server computers, current search result items based on object information, and generating, at the one or more server computers, a filtered set of the historical search result items by excluding historical search result items that correspond to objects that are represented by the current search result items. The method also includes outputting, for display, the current search result items and the filtered set of the historical search result items.
Another aspect of the disclosed embodiments is a method that includes receiving, at one or more server computers from a user, a search request including a search input. Another aspect of the disclosed embodiments is a method that includes identifying one or more objects from a plurality of objects that are stored at the one or more server computers based on a comparison of the search input with history information items that describe prior states of respective objects and based on a comparison of the search input with object information that describes a current state of respective objects. The method also includes outputting, for display, a search result item for each of the one or more objects, each search result item including information based on at least one of the history information items or the object information.
Another aspect of the disclosed embodiments is a method that includes receiving, at one or more server computers from a user, a search request including a search input having a plurality of input components. The method also includes identifying an object based on object information that matches a first subset of the input components from the search input but does not match at least one input component from the search input, wherein the object information describes a current state of the object. The method also includes identifying a history information item that matches a second subset of the input components from the search input but does not match at least one input component from the search input, wherein the history information item describes a prior state of the object. If each input component from the plurality of input components is included in at least one of the first subset of input component or the second subset of input components, the method also includes outputting, for display, a search result item for the object, the search result item including information based on at least one of the history information item or the object information.
The description herein makes reference to the accompanying drawings wherein like reference numerals refer to like parts throughout the several views, and wherein:
Methods for displaying history information are displayed herein. In shared access systems, search functions are provided that allow users to search for objects, such as documents. When multiple users are able view and/or modify an object, a user may not be aware of recent changes to the object, and because of these changes, the object may not appear in search results as the user expects. The systems and methods described herein utilize history information to generate historical search result items in situations where, previously, an object would have been identified in response to a search but is not currently identifiable in response to the search. This can allow a document to be found, or can allow a user to understand why a document is no longer identified as a search result in situations where information associated with the object has changed, the object has been moved, the object has been deleted, the object has been unshared, or other changes have occurred with respect to the object.
The systems, services, servers, and other computing devices described here are in communication via a network 150. The network 150 can be one or more communications networks of any suitable type in any combination, including wireless networks, wired networks, local area networks, wide area networks, cellular data networks, and the internet.
The application hosting service 130 can provide access to one or more hosted applications to a defined group of users including operators associated with the user system 110 and the additional user systems 120. As used here, a shared workspace is any manner of system, program, or interface that allows a defined group of users to utilize an access-restricted system in which information can be shared between users for the purpose of collaboratively working on a project. As will be discussed below, shared workspaces can implement document storage, creation, and editing functions. In some implementations, the application hosting service 130 allows a particular shared workspace to be accessed upon presentation of a credential, such as a username and password combination, that are associated with a registered user of that particular shared workspace. In some implementations, one or more users of each shared workspace are able to grant access to additional users or revoke access from existing users.
Each server computer 132 can include memory 220, such as a random access memory device (RAM). Any other suitable type of storage device can also be used as the memory 220. The memory 220 can include code and data 222 that can be accessed by the CPU 210 using a bus 230. The memory 220 can further include one or more application programs 224 and an operating system 226. The application programs 224 can include software components in the form of computer executable program instructions that cause the CPU 210 to perform the operations and methods described here.
A storage device 240 can be optionally provided in the form of any suitable computer readable medium, such as a hard disc drive, a memory device, a flash drive, or an optical drive. One or more input devices 250, such as a keyboard, a mouse, or a gesture sensitive input device, receive user inputs and can output signals or data indicative of the user inputs to the CPU 210. One or more output devices can be provided, such as a display device 260. The display device 260, such as a liquid crystal display (LCD) or a cathode-ray tube (CRT), allows output to be presented to a user, for example, in response to receiving a video signal.
Although
The storage system 320 is operable to provide a remotely accessible interface by which users can store files, access those files, and share those files with other users. The storage system 320 can provide access via, for example, a web based interface that can be output for display in the context of a web browser at a client device, such as the user system 110. The storage system 320 can store objects 322, object information 324 (e.g. metadata) that describes the current state of each of the objects 322, and access control information 326 for each of the objects 322 that identifies users that are authorized to access the objects 322 and can describe a specific type of access that is authorized for each user. Thus, for example, one of the objects 322 will not be accessible to a specified user if that user is not designated by the access control information 326 as being authorized to access the object 322. Thus, as an example, the objects 322 at the storage system 320 can include a first group of objects that are accessible to the user and a second group of objects that are not accessible to the user, as determined based on the access control information 326.
The access control information 326 for each of the object 322 can be an access control list in any suitable form as is well known in the art. Access to the object information 324 for each of the objects can be subject to access control, such that a portion of the object information 324 will be available to a specified user based on the access control information 326.
The editing system 330 is a network accessible system that allows for the creation and editing of documents. The editing system 330 can, in some implementations, be utilized in conjunction with the storage system 320 to obtain documents from the storage system 320 and to store documents at the storage system 320. In some implementations, the editing system 330 is accessible via a web browser based interface that can be output for display at a client device, such as at the user system 110.
The history service 310 is operable to receive information from shared access services. The history service 310 can store information describing the objects 322 along with information, such as a time stamp, representing the time at which the object corresponded to the information. As one example, the information stored by the history service 310 can describe the current state of one of the objects 322 at a specified time, where the current state information can include an identity of the object a name of the object a description of the object, keywords describing the object, a current location (e.g. folder) for the object, current access control information for the object, or any other data regarding the object. The information stored by the history service 310 can also describe actions taken with respect to objects using the shared access services including, for example, an identity of an object, an action taken with respect to that object, the identities of one or more users associated with the action, information related to the time at which the action occurred, and information identifying one or more systems that were involved executing the action with respect to the object. In these examples, the information describing the identity of the object can be a unique internal identifier that is used by the history service 310 and shared access systems that access the object, and is not user-modifiable, thus allowing a file to be identified regardless of changes to information associated with the object, such as its name and location. As an example, a unique object ID can be assigned to each object, thus allowing identification of objects that correspond to history information items 312, and allowing determinations to be made as to whether multiple history information items 312 correspond to the same item.
The information that is received by the history service 310 can be stored in the form of history information items 312, which can be stored at the history service 310 or can be stored such that they are accessible to the history service 310. For example, the history service 310 can be implemented by the application hosting service 130, and the history information items 312 can be stored at storage devices that are associated with and managed by the application hosting service 130. The history information items 312 can be stored in any suitable form. As one example, the history information items 312 can be stored as objects in a data base.
The history information items 312 can be utilized to provide insight to users as to the prior states of one or more objects and the actions that have been taken with respect to one or more objects. As will be explained herein, the history information items 312 can be incorporated in historical search result items that are output for display in response to a search request.
The storage system 320 can implement storage of objects, such as documents, images or other files, in a hierarchical storage arrangement that includes folders. Other types of storage organization methods could be implemented. The interface screen 400 can include a navigation area 410 showing folders and/or attribute-based collections of documents (recent items, favorite items, etc.) that are accessible to a user to whom the interface screen 400 is output for display. The interface screen 400 can also include an object area 420 where the contents or members of a folder or collection are displayed. In the illustrated example, the object area is in the form of a list of objects. The user can select one or more objects and perform actions with respect to those objects using interface elements, such as buttons. Examples of actions that can be performed with respect to objects include viewing, opening, moving, and deleting objects. In some implementations, additional information can be displayed in the object area 420. The additional information can include, for example, an identity of an owner of each object, and a time of creation and/or modification of each object. The interface screen can further include a search box 430, which the user can use to provide a search input, such as a keyword, as a search term for searching for objects that are stored at the storage system. A search at the search box can be made with respect to a single folder or collection of documents, or with respect to multiple folders or collections of documents. In one implementation, a search is conducted with respect to a folder or collection currently displayed in the object area 420, and a search made from a root folder can encompass all of the objects that are accessible to the user.
The search input of the search request 510 can be utilized as an input for each of an object search component 520 and a history search component 540. The object search component 520 is configured to generate search results representing the current states of objects that are currently accessible to the user. The object search component 520 produces, as an output, object search result items 530. The object search result items 530 each identify one of the objects 322 and include information that describes a current state of the object.
The object search component 520 can generate the object search result items 530 based on the search input of the search request 510 and information regarding the current state of the objects 322 that are stored at the storage system 320. This information can be, for example, the object information 324, and/or can be based on the objects 322 themselves. The object search component 520 can search with respect to a subset of the objects 322 that are stored at the storage system 320, where the subset includes the objects 322 that the user is authorized to access but excludes the objects 322 that the user is not authorized to access. A determination as to whether or not a specified user is authorized to access a specified object can be made, for example, using access control information that is associated with the object, such as an access control list.
The history search component 540 is configured to generate search results representing prior states of objects that are currently stored at the storage system 320 or were previously stored at the storage system 320, and with respect to objects which the user who submits the search is currently authorized to access or was previously authorized to access. Thus, the history search component 540 can help users to identify files based on their previous states, and can help users identify files that previously existed and were accessible to the user, but no longer exist or are no longer accessible to the user.
The history search component 540 produces, as an output, history search result items 550. The history search result items 550 each identify one of the objects 322 and include information that describes a prior state of the object. The history search component 540 can generate the history search result items 550 based on the search input of the search request 510 and information regarding a prior state of the objects 322 that are stored at the storage system 320. This information can be or include, for example, the history information items 312. The history information items 312 that are accessible to a user can describe states of objects and/or actions taken with respect to objects at points in time when the user was authorized to access the object.
In one example, the history search component 540 identifies one or more history information items 312 that relate to one of the objects 322 based on the search input of the search request 510, and outputs one or more history search result items 550. Multiple history search result items 550 can be generated in relation to a single one of the objects 322. For example, a first history search result item can relate to a state of the object at a particular point in time, a second history search result item can relate the state of the object at the time a first action (e.g. moved, deleted, edited, etc.) was taken with respect to the object and a third history search result item can relate to a second action taken with respect to the object.
The object search result items 530 and the history search result items 550 can be provided to an output component 560. The output component 560 is operable to generate information, such as in the form of a response 570, based on one or both of the object search result items 530 and the history search result items 550. The response can be, for example, an interface screen, a portion of an interface, or information that is utilized for generating an interface screen that can be output for display to a user, such as at the user system 110. The response can include information that relates to multiple objects. For example, a search for a document title could produce results that represent several different documents having that title, such as documents located in different folders and having different contents.
The output component 560 can determine whether two or more search result items from the object search result items 530 and/or the history search result items 550 relate to a single one of the objects 322. Thus, the output component 560 could, as examples, identify two or more object search result items 530 as relating to a single object, could identify two or more history search result items 550 as relating to a single object, and/or could identify a set of one or more object search result items 530 and one or more history search result items 550 as relating to a single object. This can be done, for example, based on the unique identifier for each of the objects 322 at the storage system 320. This determination can be used for grouping or filtering results.
As an example, the output component can output a single search result item for each of one or more objects that are identified based on the search input of the search request 510, where each search result item includes information based on at least one of the history information items 312 or the object information 324.
The output component 560, in some implementations, generates a set of search results based on the object search result items 530 and the history search result items 550 by excluding at least some of the object search result items 530 or at least some of the history search result items. This can include generating a filtered set of either or both of the object search result items 530 or the history search result items 550.
The output component 560 can select, with respect to a specified object, a single one of the history search result items 550 that relates to that object for inclusion in the response 570. In one example, the output component 560 selects one of the history search result items 550 for the object based on the time at which the action described by the history search result item occurred. For example, the history search result item that is selected can be the one that described the most recent action taken with respect to a specific object. In another example, the output component selects one of the history search results items 550 based on a change to a value that corresponds to the search input. Thus, if the user searches for “tasks” a history item relating to an action that changed the name of an object from “tasks” to “assignments” could be identified and selected by the output component 560.
The output component 560 can, for an object, determine whether the object is currently accessible to the user who made the search request 510. If the object is currently accessible to the user, the response 570 can include a link to the object as part of the search result. Thus, for example if a search result based on the history information items 312 refers to an object that is currently accessible to the user, the response 570 can include a link to the object. Whether or not an object is currently accessible to a user can be determined using the access control information 326.
The output component 560 can, in some implementations, filter some or all of the history search result items 550 based on the object search result items. In some implementations, only one search result item is output for display with respect to each unique object that is identified by the search.
As one example, the output component 560 determines whether an object represented by one or more of the history search result items 550 is also represented by one or more of the object search result items 530. This can be done based on the unique identifier for each of the objects 322 at the storage system 320. Thus, if one of the objects 322 is represented by one of the object search result items 530, the history search result items that relate to that object can be filtered and thus excluded from the response 570. In this implementation, the output component 560 can generated a filtered set of the history search result items 550 by excluding items that correspond to objects that are represented by the object search result items 530.
As another example, by filtering the results using the output component 560, if information describing the current state of an object, such as the object information 324, corresponds to the search input of the search request 510, the output component 560 can include in the response 570 a result reflecting the current-state of the object. This can include a link for accessing the object. Alternatively, if the information describing the current state of the object does not correspond to the search input, the output component 560 can include in the response information reflecting a prior-state of the object, including information that identifies the object and information regarding the objection from the history information items 312.
As another example, if an object identified based on the search input of the search request 510 is currently accessible to the user, the output component 560 can include in the response a current search result item that includes a link for accessing the object based on the object search result items 530, and if the object is not currently accessible to the user, the output component can instead output a historical search result item based on the history search result items 550, which identifies the object and includes information based on the history information items 312.
As another example, the response 570 that is generated by the output component 560 can include information identifying an object based on partial matches with respect to each of the history information items 312 and the object information 324. The object search component 520 identifies objects based on matches to some, but not all of the components of a multiple component search input, and the history search component 540 also identifies objects based on matches to some, but not all of the components of search input. The output component, upon receiving the object search results 530 and the history search result items 550, can include an object for which only partial matches were made (i.e. less than all components of the search input were matched). In one example, one or more components of the search input are not matched based on the object information 324, but those unmatched components are matched for the same object based on the history information items 312. Thus, in this example, all of the components of the search input are matched based on at least one of the object information 324 or the history information items 312, but at least one of the components is matched based on only one of the object information 324 or the history information items 312, and a search result describing the object is included in the response 570.
In
In
In operation 710, a search request is received. In this context, receiving means any manner by which the search request becomes available. For example, a search request can be received at the one or more server computers 132 by transmission over a network, retrieval from a storage device, an input made at a human interface device that is associated with the one or more server computers, or in any other suitable manner. The search request can include a search input, as previously described. The search request can, for example, be as described with respect to the search request 510.
In operation 720, a search is conducted based on history information. This can be performed, for example, in the manner described with respect to the history search component 540.
In operation 730, a search is conducted based on object information. This can be performed, for example, in the manner described with respect to the object search component 520.
In operation 740, results are generated output in response to the search request. This can be performed, for example, in the manner described with respect to the output component 560. The process then ends.
It should be understood that search results based on object history information can be output in many suitable forms. As a further example,
In
In
The foregoing description describes only some exemplary implementations of the described techniques. Other implementations are available. For example, the particular naming of the components, capitalization of terms, the attributes, data structures, or any other programming or structural aspect is not mandatory or significant, and the mechanisms that implement the invention or its features may have different names, formats, or protocols. Further, the system may be implemented via a combination of hardware and software, as described, or entirely in hardware elements. Also, the particular division of functionality between the various system components described herein is merely exemplary, and not mandatory; functions performed by a single system component may instead be performed by multiple components, and functions performed by multiple components may instead performed by a single component.
The words “example” or “exemplary” are used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “example’ or “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the words “example” or “exemplary” is intended to present concepts in a concrete fashion. As used in this application, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise, or clear from context, “X includes A or B” is intended to mean any of the natural inclusive permutations. That is, if X includes A; X includes B; or X includes both A and B, then “X includes A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form. Moreover, use of the term “an embodiment” or “one embodiment” or “an implementation” or “one implementation” throughout is not intended to mean the same embodiment or implementation unless described as such.
The implementations of the computer devices (e.g., clients and servers) described herein can be realized in hardware, software, or any combination thereof. The hardware can include, for example, computers, intellectual property (IP) cores, application-specific integrated circuits (ASICs), programmable logic arrays, optical processors, programmable logic controllers, microcode, microcontrollers, servers, microprocessors, digital signal processors or any other suitable circuit. In the claims, the term “processor” should be understood as encompassing any of the foregoing hardware, either singly or in combination. The terms “signal” and “data” are used interchangeably. Further, portions of each of the clients and each of the servers described herein do not necessarily have to be implemented in the same manner.
Operations that are described as being performed by a single processor, computer, or device can be distributed across a number of different processors, computers or devices. Similarly, operations that are described as being performed by different processors, computers, or devices can, in some cases, be performed by a single processor, computer or device.
Although features may be described above or claimed as acting in certain combinations, one or more features of a combination can in some cases be excised from the combination, and the combination may be directed to a sub-combination or variation of a sub-combination.
The systems described herein, such as client computers and server computers, can be implemented using general purpose computers/processors with a computer program that, when executed, carries out any of the respective methods, algorithms and/or instructions described herein. In addition or alternatively, for example, special purpose computers/processors can be utilized which can contain specialized hardware for carrying out any of the methods, algorithms, or instructions described herein.
Some portions of above description include disclosure presented in terms of algorithms and symbolic representations of operations on information. 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. These operations, while described functionally or logically, are understood to be implemented by computer programs. Furthermore, it has also proven convenient at times, to refer to these arrangements of operations as modules or by functional names, without loss of generality. It should be noted that the process steps and instructions of implementations of this disclosure could be embodied in software, firmware or hardware, and when embodied in software, could be downloaded to reside on and be operated from different platforms used by real time network operating systems.
Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system memories or registers or other such information storage, transmission or display devices.
At least one implementation of this disclosure relates 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 on a computer readable storage medium that can be accessed by the computer.
All or a portion of the embodiments of the disclosure can take the form of a computer program product accessible from, for example, a non-transitory computer-usable or computer-readable medium. The computer program, when executed, can carry out any of the respective techniques, algorithms and/or instructions described herein. A non-transitory computer-usable or computer-readable medium can be any device that can, for example, tangibly contain, store, communicate, or transport the program for use by or in connection with any processor. The non-transitory medium can be, for example, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application specific integrated circuits (ASICs), or any type of media suitable for tangibly containing, storing, communicating, or transporting electronic instructions.
It is to be understood that the disclosure is not to be limited to the disclosed embodiments but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
5579471 | Barber et al. | Nov 1996 | A |
6006239 | Bhansali et al. | Dec 1999 | A |
6009405 | Leymann et al. | Dec 1999 | A |
6119165 | Li et al. | Sep 2000 | A |
6314105 | Luong | Nov 2001 | B1 |
6449688 | Peters et al. | Sep 2002 | B1 |
6590568 | Astala et al. | Jul 2003 | B1 |
6614804 | McFadden et al. | Sep 2003 | B1 |
6687735 | Logston et al. | Feb 2004 | B1 |
6711557 | Palaniappan | Mar 2004 | B1 |
6947396 | Salmi | Sep 2005 | B1 |
7030861 | Westerman et al. | Apr 2006 | B1 |
7113917 | Jacobi et al. | Sep 2006 | B2 |
7146377 | Nowicki et al. | Dec 2006 | B2 |
7386576 | Watanabe et al. | Jun 2008 | B2 |
7620902 | Manion et al. | Nov 2009 | B2 |
7660902 | Graham et al. | Feb 2010 | B2 |
7711771 | Kirnos | May 2010 | B2 |
7756821 | Havens et al. | Jul 2010 | B2 |
7821405 | Heidloff et al. | Oct 2010 | B2 |
7827299 | Cadarette | Nov 2010 | B2 |
7904303 | Chien et al. | Mar 2011 | B2 |
7908183 | Jacobi et al. | Mar 2011 | B2 |
8041672 | Ogawa et al. | Oct 2011 | B2 |
8132111 | Baron et al. | Mar 2012 | B2 |
8156059 | Dunning et al. | Apr 2012 | B2 |
8194986 | Conwell | Jun 2012 | B2 |
8196047 | Fisher et al. | Jun 2012 | B2 |
8285700 | Steelberg et al. | Oct 2012 | B2 |
8298087 | Smith | Oct 2012 | B1 |
8407613 | Hope | Mar 2013 | B2 |
8412731 | Aubert et al. | Apr 2013 | B2 |
8417000 | Mendis | Apr 2013 | B1 |
8429565 | Agarawala et al. | Apr 2013 | B2 |
8458174 | Duerig | Jun 2013 | B1 |
8464184 | Cook et al. | Jun 2013 | B1 |
8467955 | Jiang et al. | Jun 2013 | B2 |
8468164 | Paleja et al. | Jun 2013 | B1 |
8479122 | Hotelling et al. | Jul 2013 | B2 |
8504565 | Pitts | Aug 2013 | B2 |
8522230 | Nathan et al. | Aug 2013 | B2 |
8522258 | Shaw | Aug 2013 | B1 |
8532400 | Babenko et al. | Sep 2013 | B1 |
8547352 | Park et al. | Oct 2013 | B2 |
8548844 | Steelberg et al. | Oct 2013 | B2 |
8555173 | Kast | Oct 2013 | B2 |
8560975 | Beaver et al. | Oct 2013 | B2 |
8571331 | Cifarelli | Oct 2013 | B2 |
8584022 | O'Shaughnessy et al. | Nov 2013 | B1 |
8612439 | Prahlad et al. | Dec 2013 | B2 |
8612470 | Fushman et al. | Dec 2013 | B1 |
8624836 | Miller et al. | Jan 2014 | B1 |
8638312 | Lim | Jan 2014 | B2 |
8644688 | Fishman et al. | Feb 2014 | B2 |
8661053 | Flynn et al. | Feb 2014 | B2 |
8670597 | Petrou et al. | Mar 2014 | B2 |
20020099844 | Baumann et al. | Jul 2002 | A1 |
20020112116 | Nelson | Aug 2002 | A1 |
20020116399 | Camps et al. | Aug 2002 | A1 |
20020178271 | Graham et al. | Nov 2002 | A1 |
20020184375 | Wagner et al. | Dec 2002 | A1 |
20030184653 | Ohkubo | Oct 2003 | A1 |
20030208490 | Larrea et al. | Nov 2003 | A1 |
20040135904 | Shiota et al. | Jul 2004 | A1 |
20050033777 | Moraes | Feb 2005 | A1 |
20050131992 | Goldstein et al. | Jun 2005 | A1 |
20060059174 | Mese et al. | Mar 2006 | A1 |
20060159127 | Childress et al. | Jul 2006 | A1 |
20060229932 | Zollo et al. | Oct 2006 | A1 |
20060242581 | Manion et al. | Oct 2006 | A1 |
20080123904 | Sakamoto et al. | May 2008 | A1 |
20080126476 | Nicholas et al. | May 2008 | A1 |
20080165141 | Christie | Jul 2008 | A1 |
20080177623 | Fritsch et al. | Jul 2008 | A1 |
20080195956 | Baron et al. | Aug 2008 | A1 |
20080270398 | Landau et al. | Oct 2008 | A1 |
20090112868 | Rajamani | Apr 2009 | A1 |
20090327975 | Stedman | Dec 2009 | A1 |
20100017426 | Marston | Jan 2010 | A1 |
20100046392 | Childress et al. | Feb 2010 | A1 |
20100070707 | Nishimura | Mar 2010 | A1 |
20100161441 | Hounsell | Jun 2010 | A1 |
20100211575 | Collins et al. | Aug 2010 | A1 |
20100241971 | Zuber | Sep 2010 | A1 |
20100250337 | Kassaei | Sep 2010 | A1 |
20100251305 | Kimble et al. | Sep 2010 | A1 |
20100256981 | Nielsen et al. | Oct 2010 | A1 |
20100332846 | Bowden et al. | Dec 2010 | A1 |
20100332958 | Weinberger et al. | Dec 2010 | A1 |
20110010672 | Hope | Jan 2011 | A1 |
20110044512 | Bambha et al. | Feb 2011 | A1 |
20110208668 | Phillips | Aug 2011 | A1 |
20110289423 | Kim et al. | Nov 2011 | A1 |
20120032436 | Zantout et al. | Feb 2012 | A1 |
20120072449 | Patch | Mar 2012 | A1 |
20120078845 | Kasbekar et al. | Mar 2012 | A1 |
20120089610 | Agrawal et al. | Apr 2012 | A1 |
20120096046 | Kucera | Apr 2012 | A1 |
20120136936 | Quintuna | May 2012 | A1 |
20120192086 | Ghods et al. | Jul 2012 | A1 |
20120197980 | Terleski et al. | Aug 2012 | A1 |
20120213404 | Steiner | Aug 2012 | A1 |
20120233227 | Alexander et al. | Sep 2012 | A1 |
20120246153 | Pehle | Sep 2012 | A1 |
20120254332 | Irvin | Oct 2012 | A1 |
20120290609 | Britt | Nov 2012 | A1 |
20120290926 | Kapadia | Nov 2012 | A1 |
20120303477 | Ben-Itzhak | Nov 2012 | A1 |
20120303684 | Sakurai et al. | Nov 2012 | A1 |
20120324368 | Putz et al. | Dec 2012 | A1 |
20130024464 | Berner et al. | Jan 2013 | A1 |
20130073976 | McDonald et al. | Mar 2013 | A1 |
20130080940 | Reeves et al. | Mar 2013 | A1 |
20130104080 | Bosworth et al. | Apr 2013 | A1 |
20130132896 | Lee et al. | May 2013 | A1 |
20130138674 | Jeong et al. | May 2013 | A1 |
20130138685 | Brucher et al. | May 2013 | A1 |
20130173637 | Kim et al. | Jul 2013 | A1 |
20130185638 | Tischer | Jul 2013 | A1 |
20130188886 | Petrou et al. | Jul 2013 | A1 |
20130202198 | Adam et al. | Aug 2013 | A1 |
20130263289 | Vijayan et al. | Oct 2013 | A1 |
20130339435 | De Armas | Dec 2013 | A1 |
20140019317 | Casares et al. | Jan 2014 | A1 |
20140019910 | Kim et al. | Jan 2014 | A1 |
20140029798 | Flynn et al. | Jan 2014 | A1 |
20140068443 | Eng et al. | Mar 2014 | A1 |
20140164535 | Lynch et al. | Jun 2014 | A1 |
20140236722 | Rathus et al. | Aug 2014 | A1 |
20140317552 | Romatoski | Oct 2014 | A1 |
20150193521 | Schoeffler et al. | Jul 2015 | A1 |
Number | Date | Country |
---|---|---|
0371608 | Jun 1990 | EP |
2187322 | May 2010 | EP |
2458512 | Nov 2010 | EP |
1275222 | Oct 2011 | EP |
0051021 | Dec 2001 | WO |
03090096 | Oct 2003 | WO |
2007085083 | Aug 2007 | WO |
2009032712 | May 2009 | WO |
WO2012092025 | Jul 2012 | WO |
Entry |
---|
Automatic Album Maker Moment.me Arrives on Android, Adds a “Manual Mode” Mode to Boost Engagement, TechCrunch, Feb. 18, 2013, http://techcrunch.com/2013/02/18/automatic-album-maker-moment-me-arrives-on-android-adds-a-manual-mode-mode-to-boost-engagement/. |
Flayvr, A. Mobile App That Automatically Creates Photo Albums, Raises $450K Seed Round, TechCrunch, Oct. 4, 2012, http://techcrunch.com/2012/10/04/flayvr-a-mobile-app-that-automatically-creates-photo-albums-raises-450k-seed-round/. |
Larson, Michael, “Probing Network Characteristics: A Distributed Network Performance Framework”, Dr. Dobb's Journal, Jun. 2004, pp. 22-29. |
Lowe, D. , “Object recognition from local scale-invariant features,” International Conference on Computer Vision Corfu, Greece (Sep. 1999) pp. 1150-1157. |
ISR & Written Opinion, RE: Application # PCT/US2015/020375; Jun. 12, 2015. |
ISR and Written Opinion of the International Searching Authority for International Application No. PCT/US2015010618, Mar. 25, 2015. |
ISR & Written Opinion, RE: Application #PCT/US2015/020378 citing new art; Aug. 18, 2015. |