CN105493081B - Distributed indexing in an enterprise - Google Patents

Distributed indexing in an enterprise Download PDF

Info

Publication number
CN105493081B
CN105493081B CN201380078480.7A CN201380078480A CN105493081B CN 105493081 B CN105493081 B CN 105493081B CN 201380078480 A CN201380078480 A CN 201380078480A CN 105493081 B CN105493081 B CN 105493081B
Authority
CN
China
Prior art keywords
index
client computer
enterprise
computer
computerized system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201380078480.7A
Other languages
Chinese (zh)
Other versions
CN105493081A (en
Inventor
雅科夫·费特尔松
欧哈德·科库斯
阿斐·克雷策-卡齐尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Varonis Systems
Original Assignee
Varonis Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Varonis Systems Ltd filed Critical Varonis Systems Ltd
Publication of CN105493081A publication Critical patent/CN105493081A/en
Application granted granted Critical
Publication of CN105493081B publication Critical patent/CN105493081B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A method for distributing an index of objects for an enterprise includes providing, by a computer, an index server of an enterprise with an index entry corresponding to at least one object of the computer indexed in the computer, thereby updating an index in the index server of the enterprise for the at least one object of the computer, and an apparatus for performing the method.

Description

Distributed indexing in an enterprise
Technical Field
The present disclosure relates generally to computerized systems, and more particularly to indexing of objects of computerized systems.
Background
Computer systems or computerized systems, particularly those of an enterprise, typically include a multitude of linked computers that store and manipulate a large number of objects, such as files. Thus, in at least some instances, in order to efficiently and quickly retrieve objects, an index or library of objects is constructed and maintained. Generally, tracking objects in a computerized system that indexes objects in an up-to-date manner is an ongoing process that can adversely affect the computerized system, such as in terms of equipment cost or response time.
Disclosure of Invention
One exemplary embodiment of the disclosed subject matter is a method for distributing an index of objects for an enterprise, the method comprising:
the index entry corresponding to the at least one object of the computer indexed in the computer is provided by the computer to the index server of the enterprise, thereby updating the index in the index server of the enterprise for the at least one object of the computer.
Another exemplary embodiment of the disclosed subject matter is an apparatus for distributing an index of objects for an enterprise, the apparatus comprising:
an index server of the enterprise;
at least one computer having at least one object, and
the apparatus is configured to index at least one object of the computer with an entry corresponding to the at least one object and to provide the entry to an index server of the enterprise.
Drawings
Some non-limiting exemplary embodiments or features of the disclosed subject matter are illustrated in the following figures.
Identical or duplicate or equivalent or similar structures, elements or parts appearing in one or more figures are generally labeled with the same reference number, optionally with one or more additional letters to distinguish similar entities or entity variants, and may not be labeled and/or described repeatedly.
The sizes of components and features shown in the drawings are chosen for convenience or clarity of presentation and are not necessarily shown to scale or true perspective. Some elements or structures are not shown or only partially shown and/or are shown at different views or different angles for convenience or clarity.
References to previously presented elements indicate that no further reference to the drawing or description of the element appears is necessary.
FIG. 1A schematically illustrates an arrangement of an index server having storage and at least one client computer connectable to the index server via a communication link, according to an exemplary embodiment of the disclosed subject matter;
FIG. 1B schematically illustrates the transfer of index entries according to an exemplary embodiment of the disclosed subject matter; and
fig. 2 schematically shows an outline of an operation according to an exemplary embodiment of the disclosed subject matter.
Detailed Description
In the context of the present disclosure, the term 'enterprise' means, without limitation, a computerized system comprising a plurality of computers in communication with each other and having and/or sharing and/or communicating with a data storage device. An enterprise is also called a 'computerized system', and a data storage device is also called a 'data storage device' or a 'storage device'.
For the sake of brevity, reference to enterprise operations, such as data transmission, means operations of one or more components and/or computers of an enterprise.
Typically, without limitation, an enterprise includes several computers, ranging between about 10 computers and about 1000 computers or more. Optionally, the enterprise includes fewer than 10 computers, and does not preclude having one computer, for example, as a host computer.
In the context of the present disclosure, the term 'object' means, without limitation, a data element of an enterprise, such as a document, file, database, access permission, or user identification.
In the context of the present disclosure, the term 'indexing' means, without limitation, compiling data about an object and/or data of an object in a library or catalog or index.
By way of a symbolic example, the index may resemble a collection of cards or records of a library, where each card or record includes information about a book in the library, such as title, author, publisher, code, content synopsis, keywords, categories, on-shelf location, borrowing restrictions or permissions, borrowing history, and return history, among others.
Also, for example, and without limitation, the index includes entries corresponding or corresponding to the object, such as object name, object address in storage and/or link to network storage, object access history, access permissions to the object, object category, object properties as set by the operating system, and in particular keywords and/or phrases and/or cullets and/or references and/or excerpts from the object, which are also collectively represented as metadata about the object. Depending on the context and/or circumstances, reference to metadata may relate to reference to a portion of the metadata.
Generally, without limitation, metadata, or portions thereof, are referred to as indices, where, however, metadata may be, but need not be, structured in some format. Typically, without limitation, the index is constructed and/or stored in a manner that allows for easy retrieval of the metadata or portions of the metadata of the object.
In the context of the present disclosure, the term 'indexing server' denotes, without limitation, one or more data processing apparatuses configured to index objects of an enterprise so that they may optionally be stored in one or more storage devices, such as in a database.
In the context of the present disclosure, the term 'client computer' refers, without limitation, to a computer and/or computerized device, such as a smartphone or tablet computer, linked and/or linkable to an enterprise (such as to a component of the enterprise) through one or more communication facilities, such as through a network and/or the internet or wireless communication or mobile communication or any combination of communications. Typically, client computers are configured to communicate and/or exchange data with the enterprise and/or components of the enterprise. Thus, in general, and without limitation, a client computer is considered or regarded as part of an enterprise, optionally temporarily or for some time, at least as it relates to data or objects of the client computer, but not necessarily as a physical part of the enterprise.
In the context of the present disclosure, the term 'connect' or 'link' means, without limitation, a direct communication connection and/or an indirect communication such as via a network and/or an interconnection of components.
In some embodiments, without limitation, the client computer is operated and/or controlled by a human operator (also referred to as a user).
The above-mentioned terms also indicate the pitch variation and the morphological variation thereof.
One technical challenge addressed by the disclosed subject matter is reducing the indexing load on an index server of an enterprise that includes and/or is connected to multiple client computers. The indexing load relates to computation and/or communication transfer and/or communication bandwidth consumption and indexing operations.
One technical solution in accordance with the disclosed subject matter is to configure a plurality of client computers to perform indexing of objects locally on the plurality of client computers, the objects being stored in the client computers and/or on storage devices of an enterprise via communications. The plurality of client computers generate a local index of the object and then provide the local index to the index server of the enterprise, thereby updating the index server of the enterprise. Thus, the indexing load is distributed at least partially among the plurality of client computers, thereby reducing the indexing load on the index servers of the enterprise.
In some embodiments, the object of the client computer is generated and/or received at the client computer and/or modified locally at the client computer. Optionally or additionally, a component of the enterprise (such as an indexing server) provides the object or portion of the object to the client computer for indexing, and/or the indexing server provides a partial index of the object to the client computer for further indexing of the object locally, such as through object content.
In response to one or more events and/or conditions, the client computer may provide a local index or other local index, such as a local index of another client computer, to the index server. For example, periodically (such as once an hour or once a day), or in response to a request by an index server of the enterprise, or in response to an object being updated or created on a client computer, or in response to an object located in enterprise storage being accessed by a local client computer.
Note that multiple client computers are linked to the enterprise, such as to one or more components of the enterprise, as well as to the index server. The client computers are linked to the enterprise through any communication facility or combination of communication facilities, such as through a LAN, WAN, or cellular communication, or any combination thereof. Client computers may be linked to the enterprise permanently and/or for short periods and/or in an on-demand (ad-hoc) manner.
Note that reference to multiple client computers does not exclude one client computer.
A potential technical effect of the disclosed subject matter is to reduce computing load and reduce communication bandwidth consumption in an enterprise, thereby enabling faster response and/or requiring less sophisticated and/or expensive instrumentation. Furthermore, distributing the indexing among the client computers allows parallel processing of the indexing, thereby significantly increasing the indexing efficiency, potentially enabling near real-time updating of the index server.
The following presents a general, non-limiting representation of the practice of the present disclosure, which outlines exemplary practices of embodiments of the present disclosure and provides a structural basis for variations and/or alternative and/or dissimilar embodiments, some of which are described below.
FIG. 1A schematically illustrates an arrangement 100 of an index server 102 of a computerized system functioning as an enterprise and a client computer 112 connectable to the index server 102 via a communication link 118. The connection of the client computers 112 to the index server 102 may be a direct connection and/or an indirect connection via interconnection of components and/or computers of the enterprise.
In some embodiments, the client computers 112 include a plurality of client computers, represented as client computers 112a through 112n (representing any number of client computers as shown by dashed line 196), and may be directly and/or indirectly connected to the index server 102 via communication links 118a through 118n, respectively.
As shown by dotted line 192, index server 102 includes storage 108 and maintains index 104 of objects of the enterprise, with entries of index 104 shown as entries 106.
As shown by dotted line 194, client computer 112 also maintains an index 114 of its objects, with the entries of index 114 shown as entries 116.
In some embodiments, once an object is created and/or received in a client computer 112, an index 114 is created if the object does not already exist in the client computer 112, and a corresponding entry is created in the index 114.
In some implementations, once an object is updated in the client computer 112, the corresponding entry is updated in the index 114.
In some implementations, when the index 104 corresponding to an object of an enterprise that is also present in a client computer 112 is updated, then the index 114 of the client computer 112 is updated accordingly. For example, when an object of an enterprise is updated, the enterprise notifies the client computer 112 via the communication and provides the corresponding updated entry. Optionally, in the event that the client computer 112 is not linked to the enterprise, the enterprise updates the client computer 112 in response to the client computer 112 re-linking to the enterprise.
FIG. 1B schematically illustrates the transfer of an entry 116 of an index 114 to an index 104 and the transfer of an entry 106 of an index 104 to an index 114, such as illustrated below, according to exemplary embodiments of the disclosed subject matter.
In some embodiments, as virtually shown by arrow 122, the client computer 112 updates the index 104 of the index server 102 with entries corresponding to the entries of the index 114, the entries of the index 114 corresponding to the objects of the client computer 112.
In some implementations, updating the index 104 of the index server 102 by the client computers 112 with respect to their objects also involves sending the objects to the enterprise, either cooperatively or individually.
In some implementations, the enterprise sends the object to the client computer 112 for maintenance and/or indexing in the client computer 112. Optionally, the corresponding entry of the index 104 from the index server 102 is transmitted to the index 114 of the client computer 112, as virtually shown by arrow 124.
In some implementations, the client computer 112 requests the object from the enterprise, such as in response to an interaction by a user of the client computer 112 for this purpose. Thus, the appropriate component of the enterprise sends the object to the client computer 112, and the index server 102 sends the corresponding entry from the index 104 to the index 114 of the client computer 112.
In some implementations, the enterprise initiates the transfer of the object to the client computer 112. Thus, the appropriate component of the enterprise sends the object to the client computer 112 and initiates the index server 102 to transfer the corresponding entry from the index 104 to the index 114 of the client computer 112.
In some implementations, the entries of the index 104 from the index server 102 that are communicated to the index 114 of the client computer 112 are incomplete, and the client computer 112 further indexes the object in the index 114, such as by searching the content of the object and/or attributes of the object.
In some implementations, objects are received from an enterprise for indexing the objects, such as by the content of the objects, statistics of the object content, and/or other elements or components of the objects (such as attributes of the objects), which may include, for example, access permissions or access history of the objects.
In some implementations, rather than sending the object from the enterprise to the client computer 112, the client computer 112 accesses the object in the enterprise online and indexes the object using the computing resources of the client computer 112.
For example, to reduce interference with enterprise operations, the client computer 112 simply reads the contents of the objects and/or the attributes of the objects and indexes the objects in the index 114. Thus, the client computer 112 updates the index 104 of the index server 102 with the corresponding entry from the index 114. In this manner, the client computer 112 may index multiple objects in the enterprise and update the index 104 with a large number of entries corresponding to the multiple objects.
Note that updating an object means modifying metadata of the object, such as access permissions, categories, etc. of the object, in addition to modifying the object itself (such as the content of the object).
Also, note that updating index entries corresponding to objects means updating related to metadata (such as keywords, phrases, access history, attributes, etc.) of the objects.
In some implementations, the client computer 112 indexes objects in response to requests from the enterprise (such as requests from the index server 102), while in some implementations the client computer 112 indexes objects autonomously (such as in response to a situation), such as updating an object or receiving an object or accessing an object in the client computer 112. Likewise, in some embodiments, when a client computer 112 operates online with and/or accesses an object of an enterprise, the client computer 112 updates its index 114 and then updates the index 104 of the enterprise accordingly.
In some implementations, the enterprise initiates the transfer of the object with the corresponding index entry to the client computer 112 in response to some condition or circumstance. For example, assume that a particular object of a business is designated for delivery to client computer 112. Thus, when an appropriate component of the enterprise detects that the client computer 112 has been connected and identified or recognized, such as by an IP value and/or credential of the client computer 112 and/or an operator of the client computer 112, the enterprise sends the particular object and initiates the index server 102 to send the corresponding entry from the index 104. In some implementations, credentials include elements such as access permissions to the object by the client computer 112 and/or its user, or any element that authorizes or permits access to the object (such as previous access to the object). As another example, an enterprise initiates the transfer of an object with a corresponding index entry to a client computer 112 in response to using and/or accessing the object in the enterprise.
In some implementations, under preset and/or determined conditions or circumstances, the client computer 112 sends at least a portion and/or all of the entries 116 of the index 114 to the index server 102, thereby updating the index 104 of the index server 102 with respect to the object.
In some embodiments, the pre-set conditions or circumstances for updating the index 104 by the client computer 112 include, but are not limited to, one or more of the following: a date, such as the first or last day of a month; time of day, such as midnight; periodically, such as every hour; or any combination thereof.
Optionally, the preset condition may only be applied if the index 114 was modified by the most recent update of the index 104 by the client computer 112. Optionally or additionally, the preset condition may only be applied if the index 114 is modified since the last update of the index 104 by the client computer 112, and only the entries that have been modified since the last update of the index 104 or the new entries 116 may be used to update the index 104.
In some embodiments, the determined conditions or circumstances for updating the index 104 by the client computer 112 include, but are not limited to, one or more of the following: modification of the index 114; update requirements from the index server 102; communication failures with enterprise components, such as communication failures with the index server 102; determining that too long a time has elapsed since the most recent update, such as a week or a month, for confirming that the update was not ignored for any reason; or any combination thereof.
The preset condition and the determined condition may be applied in any combination thereof.
In some implementations, a user of the client computer 112 may interact with the client computer 112 to initiate an update to the index 104 of the index server 102 by the client computer 112, such as by invoking an appropriate operation for this purpose. Generally, in some embodiments, only modified entries or new entries 116 since the most recent update are available to update the index 104 in response to user interaction. Optionally, a user of client computer 112 may initiate updating index 104 with all entries 116 of index 114.
The following describes a non-limiting exemplary scenario of the operation of the arrangement 100.
The accounting login of the enterprise is permanently connected or linked to the client computer of the enterprise's accounting server.
Accounting fills in documents such as electronic forms and financial transactions, and client computers create and/or update their indexes 114 with respect to the documents. After confirming that the transaction is correct, the accounting initiates the transfer of the document to the billing server and the updating of the index 104 of the index server 102, such as by designated operations (e.g., keyboard function keys).
Another non-limiting exemplary scenario of the operation of the arrangement 100 is described below.
Sales personnel of the enterprise visit the customer and provide the customer with some of the products of the enterprise.
After the customer agrees, the sales person connects his or her portable computer as a client computer to the business, such as by wireless communication, and formulates a quote document for the product. Accordingly, the portable computer updates its index 114 with respect to the document and updates the index 104 of the index server 102. Optionally, the portable computer also sends the document to a sales department of the enterprise immediately and/or at a later time. In some implementations, the portable computer also receives an index entry corresponding to the object from the index server in response to sending the object to the enterprise.
In an alternative variation of the described approach, a salesperson formulates several documents when visiting several customers, and connects the portable computer to the enterprise as a client computer at the end of a round of visits, and initiates an update of the index 104, optionally while sending the documents to the enterprise.
Yet another non-limiting exemplary scenario of the operation of the arrangement 100 is described below.
And making financial reports by auditing companies of the enterprises. Documents such as spreadsheets are written on the auditing company's computer that is a client computer, such as a computer connected to the enterprise through the internet. The computer creates and/or revises its index 114 for the documents and updates the index 104 of the index server 102. Optionally, the computer sends the document to an accounting department of the enterprise.
Yet another non-limiting exemplary scenario of the operation of the arrangement 100 is described below.
A network designer on behalf of an enterprise connects his or her computer to the enterprise, expecting an object for a withdrawal agreed upon by the market sector.
When a network designer connects his or her computer as a client computer to an enterprise, and once an appropriate component of the enterprise (such as a server of the marketplace department) recognizes the connection, the component sends the object to the computer and notifies the index server to send the corresponding entry of the index server.
Note that when referring to an index server, such as index server 102, sending or receiving index entries, in some embodiments it means sending or receiving via one or more components of an enterprise and/or communications of the components.
Note that the description relating to client computer 112 applies and/or is applicable to any of client computers 112a through 112 n.
In some implementations, the client computer 112 and any one or portion of the client computers 112 a-112 n are included in the enterprise at least in part and/or at least for a period of time.
In some implementations, the index server 102 includes and/or is representative of multiple index servers.
In some implementations, the storage 108 is a storage of an enterprise and/or a portion of a plurality of storage.
Note that the mention of an object is non-limiting and does not exclude a plurality of objects.
Note that reference to an index entry for an object is non-limiting and does not exclude one entry.
Note that the transfer of the index and/or object may be done in a push and/or pull manner, depending on the circumstances, such as the configuration of the client computer and/or index server.
In some implementations, tens or hundreds or more client computers are connected to the enterprise simultaneously and/or occasionally and/or sporadically. Thus, by delegating or distributing indexing of objects to client computers, enterprises and particularly index servers may save or indeed save significant computational load. For example, by avoiding detecting connections of client computers and exploring or querying client computers for objects and the content of objects, and indexing the objects.
For clarity, it is noted that indexing objects by multiple client computers may be somewhat analogous to 'grid computing' operations in some embodiments and with necessary changes made or taken into account.
Without limitation, some aspects described above may be succinctly expressed with respect to the objects (and, without limitation, representing multiple objects) of the client computer 112 as follows: providing, by the client computer 112, the index server 102 of the enterprise with entries 116 whose index 114 corresponds to the objects of the client computer 112, which are indexed in the client computer 112; and at least optionally in response to a request made to create and/or receive and/or update the object and/or enterprise in the client computer 112, and/or an update to the enterprise's object accessed online via the client computer 112.
Thus, the index 104 of the index server 102 of the enterprise is updated with respect to the objects of the client computers 112. Further, in some embodiments, the client computer 112 provides the object to the enterprise.
Fig. 2 schematically shows an outline of the operation of the arrangement 100 according to an exemplary embodiment of the disclosed subject matter, illustrating some elaborations on the above expressions.
In operation 202, in a computer connectable to a computerized system that is an enterprise, objects of the computer are indexed in an index of the computer with entries corresponding to the objects.
In some implementations, an object is created in a computer and/or received at the computer. In some embodiments, an existing object is updated in a computer.
In some embodiments, the object is received at a computer from an enterprise, and the index of the computer is optionally provided with an entry for the index server corresponding to the object.
In some implementations, the object is requested from the enterprise by a computer. Optionally or alternatively, the enterprise may optionally initiate the transfer of the object to the computer according to one or more conditions or circumstances as described above.
In operation 204, the computer is connected to the enterprise, such as to a component of the enterprise. For example, a server connected to a computer and/or enterprise.
In operation 206, an entry corresponding to the object is provided to the index server of the enterprise, thereby updating the index of the index server for the object.
In some embodiments, updating, by the computer, the index of the index server is performed according to one or more conditions or circumstances as described above.
Optionally, sending the object from the computer to the enterprise is performed in conjunction with and/or separate from updating the index of the index server by the computer in operation 208.
In some embodiments, the operation 204 of connecting the computer to the enterprise is performed before the operation 202 of indexing the objects of the computer, as illustrated by the double arrow 206.
Note that a computer's object also refers to an enterprise's object that is accessed and/or operated on-line by the computer.
There is therefore provided in accordance with the present disclosure a method for distributing an index of objects for an enterprise, the method comprising:
providing, by a computer, an index entry corresponding to at least one object of the computer indexed in the computer to an index server of an enterprise, thereby updating an index in the index server of the enterprise for the at least one object of the computer.
In some embodiments, at least one object is indexed in the computer in response to any one of: creating at least one object in a computer; receiving at least one object in a computer; updating at least one object in the computer; or a request made by an enterprise.
In some embodiments, at least one object is received in a computer from an enterprise.
In some embodiments, an index entry corresponding to the at least one object is further received in the computer from the enterprise for the index server.
In some embodiments, the method further comprises providing the at least one object to an enterprise.
In some embodiments, the at least one object of the computer is at least one object of an enterprise accessed online through the computer.
In some embodiments, updating the at least one object includes updating metadata of the at least one object.
There is therefore further provided in accordance with the present disclosure an apparatus for distributing object indices for an enterprise, the apparatus comprising:
an index server of the enterprise;
at least one computer having at least one object, and
the apparatus is configured to index at least one object of the computer with an entry corresponding to the at least one object and to provide the entry to an index server of the enterprise.
In some embodiments, the at least one computer is configured to index the at least one object in response to any one of: creating at least one object in at least one computer; receiving at least one object in at least one computer; updating at least one object in at least one computer; or a request made by an enterprise.
In some embodiments, the at least one computer is further configured to provide the at least one object to the enterprise.
In some embodiments, the apparatus is further configured to access at least one object of the enterprise online via at least one computer.
In some embodiments, updating the at least one object includes updating metadata of the at least one object.
In the context of some embodiments of the present disclosure, by way of example and without limitation, terms such as 'operating' or 'executing' also refer to capabilities such as 'operable' or 'executable', respectively.
The term 'processor' or 'computer' or system thereof is used herein as the general context of technology, such as a general purpose processor or microprocessor, a RISC processor or DSP, possibly including additional elements such as memory or communication ports. Alternatively or additionally, the term 'processor' or 'computer' or derivatives thereof refer to a device capable of executing provided or incorporated programs and/or capable of controlling and/or accessing data storage devices and/or other devices such as input ports and output ports. The term 'processor' or 'computer' also denotes a plurality of processors or computers that are connected and/or linked and/or otherwise communicating and that may share one or more other resources such as memory.
The terms ' software ' (software) ', ' program ' (program) ', ' software process ' (or ' process) ' or ' software code ' (code) ' or ' application (application) ' may be used interchangeably depending on their context and represent one or more instructions or commands or circuits for executing a sequence of operations typically representing an algorithm and/or other processes or methods. The program is stored in or on a medium such as RAM, ROM, or magnetic disk, or embedded in circuitry that is accessible and executable by a device such as a processor or other circuitry.
The processor and the program may constitute at least partially the same device, such as an electronic gate array like an FPGA or an ASIC, designed to perform programmed sequences of operations, optionally including or linked with a processor or other circuitry.
The term computerized apparatus or computerized system or similar term means an apparatus comprising one or more processors, which may be operated according to one or more programs or according to one or more programs.
As used herein, a process represents, without limitation, a set of operations for achieving a certain goal or result.
The terms 'configuring' and/or 'adapting' for an object or a change of object mean at least software and/or electronic circuits and/or auxiliary devices using design and/or implementation and/or being operable or operating to achieve the object.
An apparatus that stores and/or includes a program and/or data constitutes an article of manufacture. Unless otherwise specified, programs and/or data are stored in or on non-transitory media.
In the case of an electrical or electronic device being disclosed, it is assumed that a suitable power supply is used for the operation of the electrical or electronic device.
The flowchart and block diagrams illustrate the architecture, functionality, or operation of possible implementations of systems, methods and computer program products according to various embodiments of the disclosed subject matter. In this regard, each block of the flowchart or block diagrams may represent a module, segment, or portion of program code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the operations shown or described may be performed in a different order or in combination or as concurrent operations than sequential operations, so as to achieve the same or equivalent results.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising" and/or "including" when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
Unless otherwise specified, the terms used herein should not be construed as limiting, and are for the purpose of describing particular embodiments only, and are not intended to be limiting of the disclosed subject matter. While certain embodiments of the disclosed subject matter have been shown and described, it will be apparent that the disclosure is not limited to the embodiments described herein. Numerous modifications, changes, variations, substitutions and equivalents are not excluded.

Claims (11)

1. A method in a computerized system for distributing an index of objects, the method comprising:
indexing, in a client computer, at least one object using a local entry corresponding to the at least one object, wherein the at least one object is located on a storage device of the computerized system;
detecting access to the at least one object by the client computer; and updating the local entry in response to the detection of access,
updating access permissions and providing, by the client computer, to an index server of the computerized system, an index entry corresponding to at least one object of the client computer indexed in the client computer, thereby updating an index in the index server of the computerized system for the at least one object of the client computer, and
in response to identifying a credential to the computer, the computerized system initiates a transfer of an object with a corresponding index entry to the computer.
2. The method of claim 1, wherein the at least one object is indexed in the client computer in response to any one of: creating the at least one object in the client computer, receiving the at least one object in the client computer, updating the at least one object in the client computer; or a request made by the computerized system.
3. The method of claim 1, wherein the at least one object is received in the client computer from the computerized system.
4. The method of claim 3, wherein the index entry corresponding to the at least one object by the index server is further received in the client computer from the computerized system.
5. The method of claim 1, wherein the at least one object of the client computer is at least one object of the computerized system that is accessed online by the client computer.
6. The method of claim 2, wherein updating the at least one object comprises updating metadata of the at least one object.
7. An apparatus for distributing object indices for a computerized system, the apparatus comprising:
an index server of the computerized system;
a storage device of the computerized system, wherein at least one object is located in the storage device; and
at least one client computer, wherein the client computer is connected to the server,
the device is configured to:
indexing at least one object with a local entry corresponding to the at least one object,
detecting access to the at least one object by the client computer,
updating the local entries and updating access permissions in response to the detection of access and providing, by the client computer, an index entry corresponding to at least one object of the client computer indexed in the client computer to the index server of the computerized system, thereby updating an index in the index server of the computerized system for the at least one object of the client computer,
in response to identifying credentials to the at least one computer, the computerized system initiates a transfer of the object with the corresponding index entry to the at least one computer.
8. The device of claim 7, wherein the at least one client computer is configured to index the at least one object in response to any one of: creating the at least one object in the at least one client computer; receiving the at least one object in the at least one client computer; updating the at least one object in the at least one client computer; or a request made by the computerized system.
9. The apparatus according to claim 7, wherein said at least one client computer is further configured to provide said at least one object to said computerized system.
10. The apparatus of claim 7, further configured to access at least one object of the computerized system online through the at least one client computer.
11. The apparatus of claim 8, wherein updating the at least one object comprises updating metadata of the at least one object.
CN201380078480.7A 2013-07-04 2013-07-04 Distributed indexing in an enterprise Active CN105493081B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IL2013/050574 WO2015001543A1 (en) 2013-07-04 2013-07-04 Distributed indexing in an enterprise

Publications (2)

Publication Number Publication Date
CN105493081A CN105493081A (en) 2016-04-13
CN105493081B true CN105493081B (en) 2020-12-22

Family

ID=48916149

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380078480.7A Active CN105493081B (en) 2013-07-04 2013-07-04 Distributed indexing in an enterprise

Country Status (3)

Country Link
EP (1) EP3017383A1 (en)
CN (1) CN105493081B (en)
WO (1) WO2015001543A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981933A (en) * 2012-12-18 2013-03-20 武汉邮电科学研究院 Method and system for data increment backup of sensing layer of Internet of Things
US8433687B1 (en) * 2011-04-07 2013-04-30 Google Inc. Off-line indexing for client-based software development tools
CN103136286A (en) * 2011-12-05 2013-06-05 上海特易信息科技有限公司 Distributed type searching framework
CN103166991A (en) * 2011-12-14 2013-06-19 中国电信股份有限公司 Cross nodal point storage implementation method and device based on P2P and cloud storage

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7660787B2 (en) * 2006-07-19 2010-02-09 International Business Machines Corporation Customized, personalized, integrated client-side search indexing of the web
US8335776B2 (en) * 2008-07-02 2012-12-18 Commvault Systems, Inc. Distributed indexing system for data storage
US10394754B2 (en) * 2010-03-08 2019-08-27 International Business Machines Corporation Indexing multiple types of data to facilitate rapid re-indexing of one or more types of data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8433687B1 (en) * 2011-04-07 2013-04-30 Google Inc. Off-line indexing for client-based software development tools
CN103136286A (en) * 2011-12-05 2013-06-05 上海特易信息科技有限公司 Distributed type searching framework
CN103166991A (en) * 2011-12-14 2013-06-19 中国电信股份有限公司 Cross nodal point storage implementation method and device based on P2P and cloud storage
CN102981933A (en) * 2012-12-18 2013-03-20 武汉邮电科学研究院 Method and system for data increment backup of sensing layer of Internet of Things

Also Published As

Publication number Publication date
EP3017383A1 (en) 2016-05-11
CN105493081A (en) 2016-04-13
WO2015001543A1 (en) 2015-01-08

Similar Documents

Publication Publication Date Title
US11620400B2 (en) Querying in big data storage formats
CN109997126B (en) Event driven extraction, transformation, and loading (ETL) processing
JP7009455B2 (en) Data serialization in a distributed event processing system
US9740738B1 (en) Data retrieval from datastores with different data storage formats
US9235636B2 (en) Presenting data in response to an incomplete query
US10929406B2 (en) Systems and methods for a self-services data file configuration with various data sources
US20140172506A1 (en) Customer segmentation
US10360394B2 (en) System and method for creating, tracking, and maintaining big data use cases
US10956438B2 (en) Catalog with location of variables for data
EP3815342B1 (en) Adaptive user-interface assembling and rendering
US11250109B2 (en) Software features licensing and activation procedure
US20160253708A1 (en) Method and system for efficiently serving upsell content based on complex user archetypes
US10885565B1 (en) Network-based data discovery and consumption coordination service
EP3532922A1 (en) Processing application programming interface (api) queries based on variable schemas
US9892139B2 (en) Distributed indexing in an enterprise
CN105493081B (en) Distributed indexing in an enterprise
US20160110387A1 (en) Product lifecycle management system
JP6338909B2 (en) Content control system
US11714804B2 (en) Method and apparatus for managing link related to keyword advertisement
US20230108982A1 (en) Data processing utilizing an asynchronous communication repository
US10467077B2 (en) Configuration item integrity
CN109842646A (en) The treating method and apparatus of network request
MacDonald et al. Analysis of production authorization card schemes using simulation and neural network metamodels

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220401

Address after: USA New York

Patentee after: Varonis systems

Address before: Herzliya

Patentee before: VARONIS SYSTEMS Ltd.

TR01 Transfer of patent right