Methods and systems for searching and indexing virtual environments
First Claim
1. A system configured to generate search indexes, comprising:
- at least one computing device;
an interface configured to communicate with a virtual desktop farm;
a non-transitory computer storage medium having stored thereon executable instructions that direct the at least one computing device to implement;
a load balancing module configured to distribute indexing processes across multiple servers;
a throttling module configured to inhibit excessively loading system resources by limiting a number of user indexing processes executed by the system and a number of concurrent data scanning operations;
an initial index generation module configured to generate initial iterations of search indexes for a plurality of users associated with respective virtual desktops, wherein the initial index generation module is configured to;
determine, for a first user associated with a first virtual desktop executed using the virtual desktop farm, if a search index has been generated for the first user;
at partly in response to a determination that a search index has not been generated for the first user, begin generation of an initial iteration of a search index for the first user in accordance with the limitation on the number of user indexing processes and with the limitation on the number of concurrent data scanning operations;
receive an indication that the first user has logged off the first virtual desktop;
continue generating the initial iteration of the search index associated with the first user while the first virtual desktop executed using the virtual desktop farm is shut down;
store the initial iteration of the search index associated with the first user on a shared data store that stores search indexes for the plurality of users associated with respective virtual desktops executed using the virtual desktop farm;
an incremental search indexing module configured to initiate and perform an update to one or more existing iterations of search indexes associated with the plurality of users according to a schedule, including at least an existing iteration of a search index associated with the first user while the first virtual desktop, executed using the virtual desktop farm, is shut down;
a search processing module configured to receive a search query from the first user while the first user is logged into the first virtual desktop, identify, utilizing an iteration of the search index associated with the first user and stored on the server storing search indexes for the plurality of users associated with respective virtual desktops, matching documents, and to cause search results corresponding to the matching documents to be presented via the first virtual desktop.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for generating search indexes in a virtual desktop environment are disclosed. An initial index generation module is configured to generate initial iterations of search indexes for a plurality of users associated with respective virtual desktops and store the initial iterations of search indexes on a shared data store. An incremental search indexing module is configured to update existing iterations of search indexes associated with the plurality of users according to respective schedules. A search processing module is configured to receive a search query from a first user while the first user is logged into the first virtual desktop, identify, utilizing an iteration of the search index associated with a first user and stored on the server storing search indexes for the plurality of users associated with respective virtual desktops, matching documents, and to cause search results corresponding to the matching documents to be presented via the first virtual desktop.
179 Citations
30 Claims
-
1. A system configured to generate search indexes, comprising:
-
at least one computing device; an interface configured to communicate with a virtual desktop farm; a non-transitory computer storage medium having stored thereon executable instructions that direct the at least one computing device to implement; a load balancing module configured to distribute indexing processes across multiple servers; a throttling module configured to inhibit excessively loading system resources by limiting a number of user indexing processes executed by the system and a number of concurrent data scanning operations; an initial index generation module configured to generate initial iterations of search indexes for a plurality of users associated with respective virtual desktops, wherein the initial index generation module is configured to; determine, for a first user associated with a first virtual desktop executed using the virtual desktop farm, if a search index has been generated for the first user; at partly in response to a determination that a search index has not been generated for the first user, begin generation of an initial iteration of a search index for the first user in accordance with the limitation on the number of user indexing processes and with the limitation on the number of concurrent data scanning operations; receive an indication that the first user has logged off the first virtual desktop; continue generating the initial iteration of the search index associated with the first user while the first virtual desktop executed using the virtual desktop farm is shut down; store the initial iteration of the search index associated with the first user on a shared data store that stores search indexes for the plurality of users associated with respective virtual desktops executed using the virtual desktop farm; an incremental search indexing module configured to initiate and perform an update to one or more existing iterations of search indexes associated with the plurality of users according to a schedule, including at least an existing iteration of a search index associated with the first user while the first virtual desktop, executed using the virtual desktop farm, is shut down; a search processing module configured to receive a search query from the first user while the first user is logged into the first virtual desktop, identify, utilizing an iteration of the search index associated with the first user and stored on the server storing search indexes for the plurality of users associated with respective virtual desktops, matching documents, and to cause search results corresponding to the matching documents to be presented via the first virtual desktop. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented of method of managing search engine indexing with respect to a virtual desktop architecture, the method comprising:
-
receiving, via a first plurality of virtual desktops executing on a virtual desktop farm, at a virtual resource management system comprising at least a processor device, indexing parameters from a first plurality of users, the indexing parameters identifying data types, or data sources, or both data types and data sources to be indexed; generating, by the virtual resource management system, initial iterations of search indexes for the first plurality of users associated with respective virtual desktops executing on the virtual desktop farm and utilizing a shared data storage system; storing the initial iterations of search indexes on the shared data storage system; generating, by the virtual resource management system, updated iterations of the search indexes on the shared data storage system for at least a portion of the first plurality of users associated with respective virtual desktops, including search indexes of users logged off their respective virtual desktops; and receiving, by the virtual resource management system, a search query from a first user in the first plurality of users, while the first user is logged into a first virtual desktop executing on the virtual desktop farm, and identifying, utilizing an iteration of the search index associated with the first user and stored on the shared data storage system, matching documents, and causing search results corresponding to the matching documents to be presented via the first virtual desktop, wherein the first user is inhibited from accessing initial or updated iterations of indexes of other users stored on the shared data storage system. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23)
-
-
20. A system configured to generate search indexes, comprising:
-
at least one computing device; an interface configured to communicate with a virtual desktop farm; a non-transitory computer storage medium having stored thereon executable instructions that direct the at least one computing device to implement; an initial index generation module configured to generate initial iterations of search indexes for a plurality of users associated with respective virtual desktops executing on the virtual desktop farm and store the initial iterations of search indexes on a shared data store; an incremental search indexing module configured to update at least some of existing iterations of search indexes associated with the plurality of users according to respective schedules; a search processing module configured to receive a search query from a first user while the first user is logged into a first virtual desktop executing on the virtual desktop farm, identify, utilizing an iteration of the search index associated with the first user and stored on the server storing search indexes for the plurality of users associated with respective virtual desktops, matching documents, and to cause search results corresponding to the matching documents to be presented via the first virtual desktop executed using the virtual desktop farm, wherein the first user is inhibited from accessing initial or updated iterations of indexes of other users stored on the shared data store. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30)
-
Specification