![]() APPARATUS AND METHODS OF TITLED DATA CACHE MANAGEMENT AND NON-TRANSITIONAL MEDIA LEGIBLE BY COMPUTER
专利摘要:
device and management methods of titled data cache and computer readable non-transitory media. the present invention relates to systems and methods of managing a named data cache. a data server can generate and send titled data to a data cache server. the data cache server, a server that can be located closest to the user within a computer network of data providers, can receive and cache the titled data. a permission server can store user permissions and pass the user's permissions to the data server and the data cache server. after receiving a data request, the data cache server can retrieve the requested data from the cache and send a subset of the cached data that correlates the user's permissions to the user, without having to request the data from the data server. Dice. 公开号:BR112012008967B1 申请号:R112012008967-6 申请日:2010-10-18 公开日:2021-04-13 发明作者:Venkatanarayanan Krishnamoorthy;Srinivasan Varadrajan;Stephen Zucknovich;Jacques Leisy;Vladimir Jornitski 申请人:Financial & Risk Organisation Limited; IPC主号:
专利说明:
FIELD OF THE INVENTION The present invention is directed to a computer-based system and a method for the storage and distribution of electronic information, and, more particularly, for the distribution of information to authorized recipients. BACKGROUND Global computer networks, such as the Internet, allow information to be distributed to a wide range of people in locations around the world. One of the advantages of the Internet is that the communication protocols used are non-proprietary, thus allowing end users to access and use the Internet without the need for custom hardware or software. Many different industries use computer networks as a way to provide their customers with quick access to large amounts of data. In these companies, the speed at which secure and non-secure data is provided to remote users is of the utmost importance and is often an area of distinction for these companies. A common technique for companies to distribute data more quickly to users involves using proxy servers that reside closer to the network for users who are requesting the data. When using a proxy server to cache, the response to a user's first data request, subsequent requests for identical data from the same user can be handled by the proxy server, without the need to query a data server to retrieve the same information again. However, the use of proxy servers to provide user data may be inappropriate when data providers need robust control of data access. For example, financial data providers are required to comply with the laws and regulations that govern the distribution of financial data. In addition, financial information is quite valuable and financial data providers must have a means of preventing access by unauthorized and / or non-paying customers. Thus, financial data providers, as well as data providers in other industries, can generate titled data, which is restricted to a subset of users. In many current systems, titled data is requested from a data source and data in transit is marked as non-cacheable to prevent unauthorized users from accessing cached data. For example, after a user requests and receives titled data from a secure data provider, the user's permissions to access protected data can later be revoked. Non-cacheable data will not be stored on a proxy server, and subsequent data requests for the same data will have to be retrieved again from the data server. However, on larger client-server systems that provide titled data to users, the server's capacity is more or less linearly related to the number of users on the system. Thus, for each order generated by a user or the addition of a new user, the capacity of the servers needed to generate and send the entitled data increases. Servers can only handle a fixed number of requests per hour, so as the number of requests grows, the number of servers must increase, which increases the cost for financial companies to generate and send entitled data. Therefore, there is a need for additional methods and systems, which provide access to titled data. BRIEF SUMMARY The present invention, as more fully described below and shown in the figures, relates to a data management system for managing titled data. Aspects of the present invention are related to the data cache titled in a server data cache to allow faster access and data delivery. In at least one embodiment, a computer system, such as a data cache server that stores data near a supplier's network entry point is described. The ability to cache, or store data, in a location close to the consumer can allow the number of users and the number of user requests to increase without increasing the number of data servers, which generate data. Locating a server data cache near the supplier's network entry point decreases the time it takes to send data to the end user, because transferring data to the data cache server is usually done before an order from the user to the data. In addition, data cache servers are less expensive than data servers and therefore lessens the expense for financial companies to generate and send data to the user. In at least one embodiment, a computer server is configured to receive data entitled from a data server and received data cache. The titled data may have associated data permissions corresponding to at least one user authorized to access the computer server. The computer server can cache the entitled data and store the entitled data and a related identifier corresponding to the permissions of the associated data and entitled data. The computer server can retrieve the user's permission corresponding to a user and determine whether the user's permissions intersect with the permissions of the titled data from the associated data cache. If the user's permissions intersect with the permissions of the associated cached data data, the computer server can send at least a subset of cached data to the user. In at least one embodiment, a data cache management method may include a computer system that receives a first request for data corresponding to a first user having first usage permissions. The computer system can determine whether a first response data corresponding to the user's first data request and first permission is stored in a local data cache. If the first response data is stored in the local cache, the first user can be sent the response data. The second data request corresponding to a second user with second user permissions can be received. The second user permission can be different from the first user permissions. The computer system can determine whether a second response data corresponding to the second user request and second user permissions is stored in a local data cache and whether data from the second response is stored in the local data cache, sending to the second user the data from the second answer. The second response data may differ from the first response data. Other features and advantages of the invention will become apparent to those skilled in the art after reviewing the following detailed description, claims and drawings, in which similar numbers are used to designate similar features. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is an illustrative embodiment of a network and a data processing device used in the data cache management system, in accordance with certain embodiments of the present invention. Figure 2 is a component diagram for an illustrative data cache management system, in accordance with certain embodiments of the present invention. Figure 3 is a flow diagram of an illustrative embodiment of titled data cache management, in accordance with certain embodiments of the present invention. Figure 4 is another component diagram of an illustrative data cache management system in accordance with certain embodiments of the present invention. Figure 5a is a table containing the data corresponding to the sample data permissions in an illustrative data cache management system in accordance with certain embodiments of the present invention. Figure 5b is a table containing example user permissions on an illustrative data cache management system in accordance with certain embodiments of the present invention. Figure 6 is a flow diagram of an illustrative embodiment of titled data cache management, in accordance with certain embodiments of the present invention. Figure 7 is a flow diagram of another illustrative embodiment of titled data cache management, in accordance with certain embodiments of the present invention. Figure 8 is a flow diagram of another illustrative embodiment of titled data cache management, in accordance with certain embodiments of the present invention. Before embodiments of the invention are explained in detail, it is to be understood that the invention is not limited in its application to the details of construction and arrangement of the components presented in the following description or illustrated in the drawings. The invention is capable of other embodiments and of being practiced or carried out in various ways. Also, it is to be understood that the phraseology and terminology used here are for the purpose of description and should not be considered as limiting. Instead, the phrases and terms used here are to be given their broadest interpretation and meaning. The use of "including" and "comprising" and their variations is intended to encompass the items listed below and their equivalents, as well as additional items and equivalents thereof. The use of the terms "assembled", "connected", "together", "positioned", "coupled" and similar terms is intended to include both assembly, connection and coupling, positioning and direct and indirect fitting. DETAILED DESCRIPTION Figure 1 illustrates an example of a network architecture and a data processing device that can be used to implement one or more illustrative aspects of the invention. Several network nodes 103, 105, 107 and 109 can be interconnected over a wide area network (WAN) 101, such as the Internet. Other networks can also or alternatively be used, including private intranets, corporate networks, local area networks, wireless networks, personal networks (PAN), and so on. The 101 network is for illustrative purposes and can be replaced with fewer or complementary computer networks. A local area network (LAN) can have one or more of any known network topology and can use one or more of a variety of different protocols, such as Ethernet. Devices 103, 105, 107, 109 and other devices (not shown) can be connected to one or more of the networks through twisted pair wires, coaxial cables, optical fibers, radio waves or other means of communication. The term "network", as used and represented here in the drawings, refers not only to systems in which remote storage devices are coupled together via one or more communication paths, but also to standalone devices, which can be coupled, from time to time, to such systems that have the storage capacity. Therefore, the term "network" includes not only a "physical network", but also a "content network", which consists of data attributable to a single entity that resides on all physical networks. The components can include one or more data from server 103, web server 105, and client computers 107, 109. Data server 103 provides full access, control and management of databases and control software to perform one or more illustrative aspects of the invention, as described herein. The data server 103 can be connected to the web server 105 through which users interact with and obtain the data as requested. Alternatively, data server 103 can act as a web server itself and be connected directly to the Internet. The data server 103 can be connected to the web server 105 through network 101 (for example, the Internet), via direct or indirect connection, or through some other network. Users can interact with data server 103 using remote computers 107, 109, for example, using a web browser to connect to data server 103 through one or more externally exposed web sites hosted by web server 105. Users client computers 107, 109 can be used in conjunction with the data server 103 to access data stored on it, or can be used for other purposes. For example, from the client device 107 the user can access the web server 105 using an Internet browser, as is known in the art, or by running a software application that communicates with the web server 105 and / or data server 103 over a computer network (such as the Internet). Servers and applications can be combined on the same physical machines, and maintain different virtual or logical addresses, or can reside on different physical machines. Figure 1 illustrates just one example of a network architecture that can be used, and those skilled in the art will appreciate that the specific network architecture and data processing devices used may vary and are secondary to the functionality they provide, as additionally described here. For example, the services provided by the web server 105 and data server 103 can be combined into a single server. Each component 103, 105, 107, 109 can be any type of known computer, server or data processing device. Data server 103, for example, may include a processor 111 that controls the overall operation of data server 103. Data server 103 may further include RAM 113, ROM 115, network interface 117, input / output interfaces 119 ( eg keyboard, mouse, monitor, printer, etc.) and memory 121. AE / SO 119 can include a variety of interface units and drives for reading, writing, displaying and / or printing data or files. Memory 121 can further store operating system software 123 to control the general operation of data processing device 103, logic control 125 to instruct data server 103 to effect aspects of the invention as described herein, and other software applications 127 providing secondary, support and / or other functionality that may or may not be used in conjunction with aspects of the present invention. The control logic can also be referred to here as the data server software 125. The functionality of the data server software can refer to operations or decisions made automatically based on rules encoded in the control logic, made manually by a user providing entry into the system, and / or a combination of automatic processing based on user input (for example, queries, data updates, etc.) Memory 121 may also store data used in carrying out one or more aspects of the invention, including a first database 129, and a second database 131. In some embodiments, the first database may include the second database (for example, as a table, separate report, etc.) That is, the information can be stored in a single database, or separated into different logical, virtual or physical databases, depending on the system design. Devices 105, 107, 109 may have similar or different architecture, as described in relation to device 103. Those skilled in the art will appreciate that the functionality of data processing device 103 (or other device 105, 107, 109), such as as described here, can be distributed across multiple data processing devices, for example, to distribute the processing load across multiple computers, to segregate transactions based on geographic location, user access level, quality of service (QoS), etc. One or more aspects of the invention can be incorporated into computer usable or readable data and / or computer executable instructions, such as in one or more program modules, executed by one or more computers or other devices, as described herein. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform certain tasks or perform certain types of abstract data, when executed by a processor on a computer or other device. The modules can be written in a source code programming language that is later compiled for execution, or it can be written in a scripting language, such as (but not limited to) HTML or XML. Computer-executable instructions can be stored on a computer-readable medium such as a hard disk, optical discs, removable storage medium, solid-state memory, RAM, etc. As will be appreciated by a person skilled in the art, the functionality of the program modules can be combined as desired or distributed in various embodiments. In addition, the functionality can be incorporated in whole or in part, in firmware or equivalent hardware, such as integrated circuits, arrays of field programmable logic gates (FPGA), and the like. Data structures in particular can be used to more effectively implement one or more aspects of the invention, and these data structures are contemplated within the scope of the computer executable instructions and usable computer data described herein. Referring to Figure 2, an illustrative embodiment of a data management system 200 is shown. As shown in Figure 2, the data management system 200 can include a cache data server 202, a data server 204, and an authorization server 206. Data cache server 202 can be any type of data server. computer designed to cache data for delivery to users, and can be detached from data server 204. In one embodiment, data cache server 202 can be an edge device that is located at the end of the computer resources (for example , computer network) for a data provider and can be the entry point for users on the data provider’s network. When storing data at the edge of computer resources, in a location closer to the user than the data server 204 saving time and costs can result from sending data to users from server 202 data cache instead of requesting data of a data server 204 each time an order is placed. By eliminating the need to request and receive data from the data server 204, the data delivery time for a user can be decreased. In addition, the load of numerous data requests from the potentially increased performance and system reliability. As shown in Figure 2, the data cache of server 202 can communicate with a data server 204, which contains titled data. Titled data refers to data that is kept securely so that access to certain titled data can be restricted to certain users. In some examples, users may have associated sets of permissions (that is, rights) that determine their access to different data in the system. For example, users may be entitled to see an entire dataset or just specific rows of data within the dataset. In addition, titled data may require that a user's permissions be verified before sending the titled data to the user. For example, titled data can include financial transaction data. In one example, each time a user requests data, the user's permissions must be verified with a 206 permission server, before sending the titled data to the user. In at least one embodiment, the data server 204 contains data that is both straight and temporal. Time data refers to data that can change, or can have several different values over time. For example, time data can be a stock price of the company that has different values at different times throughout the day, week, month, year, etc. Permission server 206 can store user permissions for several different users and / or groups of system users, and can retrieve user permissions in response to a query from a data cache server 202 or a data server 204 identify one or more of the users of the system. For example, a user may be allowed to see an entire data set, specific rows and / or columns from a single data set, or certain sections of a set at the same time without being allowed to view other data. In another example, a user can belong to one or more groups (for example, customers, brokers, administrators), so that all users in the group can have permissions that allow users to view specific data (for example, inventory data, customer data). When users submit data requests to the system, the identities of the user (s) can be determined from the user ID and / or authentication information contained in the data requests. In one embodiment, permission server 206 provides user permissions to data cache server 202. Permission server 206 can also communicate user permissions to data server 204, and data server 204 can send either the titled data and user permissions for data cache server 202. In certain examples, authorization server 206 may be a separate device from the data cache of server 202 and data from server 204. Alternatively, the server authorization number 206 may be located within a physically secure portion of either data cache server 202 or data server 204. In some implementations, due to the secure nature of user permissions, it may not be desirable to transmit user data or group permission over a public network or another insecure computer network. Thus, secure and / or encryption computer networks can be used to transmit data to and for permission from authorization server 206 and servers 202, 204. In addition, other security measures may be applied during data transmission, such as such as not transmitting a user's permissions on the same data transmission, such as the user's identity. Referring to example Figure 3, when data cache server 202 receives data from data server 204, as illustrated in S305, data cache server 202 stores a copy of the data locally (that is, stores data data) within the data cache memory of server 202, as illustrated in S310. The data received from the data server 204 may contain a data ID, which can be used to update the stored data without a user request. The data ID can be generated by the data server 204. The data received from the data server 204 can also contain a list of user permissions or enabling tokens that allow the user to access the data. The data cache server 202 can receive and store a plurality of different data sets. In certain examples, the data cache server 202 may receive the data in response to a request from the initial user for the data. In other examples, the data can be sent to the data cache server 202 before any user requests for the data. In another example, the data can be sent to the data cache server 202, when a new version of the data arrives. In this example, data can be sent to data cache server 202 when data server 204 is notified that the data has changed. In this example, the data server 204 can notify the data cache server 202 of the changed data. In response, data cache server 204 updates the copy of the corresponding cached data. This change data notification can use a previously provided DataID. When storing data, the data cache server 202 can also “tag” the data with the cache signature and / or a list of allowable entities (PES) that allow the data cache server 202 to search the data at a later time for different users without consulting the data server 204, as illustrated in S315. As illustrated below in figures 5a and 5b, S315 can comprise storing one or more variables corresponding to the context of the data request (for example, a cache signature), without taking into account the user requesting the data, and one or more additional variables corresponding to user permissions associated with the requested data (for example, entities that can be allowed), on the data cache server 202. As shown in Figures 5a and 5b, the cache signature, PES and enabling token they can be stored in the same frame, or they can reference from a different table, or they can be otherwise linked, the titled data to which they are linked. In certain examples, the cache signature can be based on the request for data received from a user (for example, type / range of data requested and other criteria), but it does not need to be based on any individual or group permissions of the user who is requesting the data. For example, the cache signature can be generated by the hash (HMAC-SHA1) of the data request or part of the data request without any user data or user permissions. The data cache server 202 can generate multiple enabling tokens from the same data and thus update multiple copies of the data stored on the data cache server 202 to allow a quick search of the cache when a user request to access it. In certain examples, for a specific data set delivered from server 204 to data cache server 202, the presented data set may contain the same data regardless of the permissions of the user requesting the data. However, the data sent to the user, for example, user 222 or user 224, may be limited, depending on the permissions of the requesting user. Thus, the data cache server 202 can determine and provide all or part of a set for a requesting user depending on the user's permission level (ie rights), entitled data, but can cache data from the whole set to respond to future requests from the same user and / or different users. A user can have permissions that determine which parts of the data set (or the entire data set) the user will be allowed to access. For example, a user may have row-level permissions, which allow the user to access certain lines of data within the data set. Another type of right or permission can be selection level permissions, which determine a list of rows to be returned, depending on the user's permissions. In selection level permissions, data cache server 202 can request specific lines of data, but the data sent by data server 204 would only be the lines corresponding to the user's selection level permissions. It should be noted that if the requested lines are not in the cache, then the data containing the requested lines can also be returned in the request to the data cache server 202 and then cached in the cache server. 202. Recently cached data may or may not be sent to the user, depending on whether the user is allowed to request the data. In certain examples, user permissions can be stored in a binary format. For example, the user's permission can be set to "1" for a specific data line to indicate that the user is allowed to access the line, and "0" to indicate that the data cache server 202 should deny access. of the user to the queue. By defining user permissions, data cache server 202 is capable of receiving a set of data and delivering different subsets of data from a plurality of users with different sets of user permissions. For example, a first user who has a first set of user permissions can receive a first subset of data from the original data set, and a second user who has a second set of user permissions can receive a second subset of data from from the original data set, without data cache server 202, it will necessarily return to query data server 204. Data sets sent to data cache server 202 from data server 204 may include corresponding data permissions for the user who initiated the data request and for other users of the system. Each data set can be associated with a plurality of allowable permissions. Thus, if a user has all data permissions allowed, so that the user's permissions intersect with the permissions of the data set, the user may be allowed access (for example, view, modify, delete, etc.), the subset of data that the user is authorized to access. When a user request for data is received at the data cache server 202, as illustrated in S320, the user request is calculated at S325 to identify a cache signature associated with the data request. In one example, this calculation is done by hashing the order that has no user specific data. Then, in S330, the data cache server 202 is queried to determine whether the corresponding cache signature data has previously been cached. If the requested data exists on the 202 data cache server (for example, if a matching cache signature is found), then, in S335, the requesting user's permissions are checked to determine whether there is an intersecting set of permissions for the cached data. If the permissions of the requesting user and the requested data in cache intersect, in such a way that there is at least one permission from the user that corresponds to at least one permission from the stored data, a subset of the data can be sent to the user, in S340. For example, referring to Figures 5a, a data set may contain specific permissions (for example, allowable entities), such as PI and P2 permission level line for a data line, PI permission for data line 2, the permission P2 for data line 3, and permission P4 for data line 4. In the example shown in Figure 5b, User 1 has the permission of the associated user PI, User 2 has the associated user permissions P2 and P6, User 3 has the associated user permission P2 and User 4 has the associated user permissions P3 and P5. Therefore, in this example, data cache server 202 can determine that a user's permissions intersect with data from row 1 and data from row 2 (because a user has PI permission and both data from line 1 and line 2 data also has PI permission. ) and can send both Line 1 and Line 2 User Data 1 data. So, when processing a second User 4 request, data cache server 202 can determine that User 4's permissions to only cross with data from the line 1 (because both User 4 and Data Line 4 have P3 permission), and can only send data line 1 to User 4. As illustrated in figure 5b, in addition to having a user permission, users can also be associated with one or more groups (for example, user roles). In this example, user 1 and user 3 are members of group A and User 2 is a member of group B. Groups, as users, can also have associated data permissions. In this example, group A has PI and P5 permissions, Group B has PI, P2 and P3 permissions, and Group C has P4 and P5 permissions. Each group receives a unique enabling token. In this example, group A has an enabling Token 1, Group B has an enabling Token 2, and Group C has an enabling Token 3. As a result, a user receives an enabling token 1 by virtue of belonging to the group A, 2 user receives an enabling token 2 by virtue of belonging to group B, and user 3 is assigned an enabling token 1 and 3 because they belong to group A and C. In this example, user 4 does not have a tag of rehabilitation since user 4 is not a member of a group. The enabling token corresponds to a grouping of permissions. Different enabling Tokens can include the same permission. In at least some examples, the number of enabling tokens associated with a user may be less than the number of associated user permissions. Referring to Figure 6, an illustrative flow diagram is shown in which the different subsets of titled data are delivered to different users who have different permissions. In this example, in S610, a data cache from server 202 receives a data request for titled data from a first user. In S615, data cache server 202 determines whether the titled data requested on the data cache server has 202 intersecting permissions with the permissions of the first user. This can be done through the first generation of the subscription from the cache request and can include the generation of an enabling token. In S620, for the data response subset with the permissions that intersect with the permissions of the first user, the data cache server 202 transmits the first subset to the first user. On the S625, data cache server 202 receives a similar data request (for example, a data request requesting the same columns and rows of data and / or a query with the same query context) from a second user with different user permissions than the first user. In S630, data cache server 202 can determine whether the cached title data requested by the second user intersects with the second user's permissions. In S635, if the permissions of the second user intersect with the permissions of the data that exists in the cache, then the data cache server 202 sends a second subset of cached data. As discussed above, the second stored data set sent to the second user may be different from the first subset of the stored data sent to the first user, in response to the similar (or the same) data request. In addition, both the first subset of the stored data and the second set of stored data can originate from a single data set stored in the data cache server 202. In certain embodiments, the data stored on the data cache server 202 may also include an expiration date and / or time. In these examples, if data cache server 202 receives a data request and the data response has expired, data cache server 202 may not send the cached data to the user, but may request updated data from the data server 204, and then send the updated data to the user. If the cached data has not expired, data cache server 202 can send the cached data to the user. In other embodiments, the data cache server 202 may use other techniques to determine whether the cached data is obsolete (for example, changed), and requires an update. Referring now to Figure 4, data server 204 can receive updated data. Upon receipt of new data, data server 204 may use a publishing server 208 to notify data cache server 202 of updated data. In order to provide updated data to data cache server 202 in a timely manner, publishing servers 208 will notify data cache server 202 that new data has arrived using a DatalD corresponding to the data. DatalD represents a hierarchy of related data cached on data cache server 202. Upon receipt of this notification, data cache server 202 sends a request to data server 204 for updated data. Data server 204 actively updates data cache server 202 when data server 204 receives new data through a publishing server 208. Referring to figure 5a, line 1 shows the Fund.Est.Cons DatalD. group 1. IBM. This DatalD, which includes the domains: Funds, est, cons, Group 1, and IBM, can be considered a hierarchy with the root starting in Funds and a leaf ending in IBM. The data server 204 can notify the data cache server 202 of changed data by sending any portion of the bounded DatalD, for example, sending a DatalD notification from Fund.Est would cause the data cache server to recover data for Fund.Est.Cons. Groupl. IBM., Fund.Est.Cons.Groupl. INTC. Fund.Est.Det.Group2.IBM and Fund.Est.Det.Group2.INTC. As another example, sending a DatalD notification from Fund.Est.Cons would cause the data cache server to retrieve the Fund.Est.Cons.Groupl data. IBM., And Fund.Est.Cons.Groupl. INTC. DatalD allows a large number of different cached data to be updated with a small number of notifications. In certain configurations the data cache server will send a notification to users (for example, user 1 and User2) that DatalD has changed. Userl and User2 may have their own caching systems and may wish to have timely notification of data changes. Referring to Figure 7, an illustrative flow diagram is shown describing a technique for updating a data cache. In S710, the data cache server 202 receives a user request for the titled data that can be cached in the data cache server 202. In S715, the data cache server retrieves 202 permissions from the requesting user, for example example, the identification of the user who is requesting and sending a permission query to the permission server 206 to retrieve the permissions, groups and enabling Tokens associated with the user. On the S720, the data cache server 202 determines whether the requested data stored in the data cache has permissions that intersect with the retrieved user's permissions. If the data is stored in the cache memory, the data cache server 202 that confirms the cache data has not expired, as shown in S725. If the requested cached data has not expired, data cache server 202 can send a subset of the cached data, based on user permissions, to the user at S730. In S735, the data cache server 202 receives asynchronous notifications from a publishing server 208. It should be understood that receiving notifications from the publishing server data 208 need not occur only after responding to a user request. That is, receiving data update notifications on S735 can occur one or more times before, during, or after responding to user requests, as shown in Figure 7. In certain examples, data server 204 and / or the publishing server 208 can determine events or by which updated schedule data is transmitted to data cache server 204, not knowing when data cache server 202 may be responding to user requests. Therefore, data cache server 202 can be configured to respond simultaneously to user requests for cached data, while receiving and processing data notifications and thus receiving new data from the server data server 204 208 and / or publication. In some examples, publishing servers 208 may use the same (or similar) software as data server 204 to facilitate communication between publishing servers 208 and data server 204. For example, publishing servers 208 may use web services to manage subscriptions. In certain embodiments, a remote user, such as user 222, can subscribe to publishing servers 208 to receive asynchronous updates. In this embodiment, publishing servers 208 can send data on a website using XML via HTTP to update the remote user. Publishing servers 208 may also include a registration table in order to register and unregister remote users. In one embodiment, publishing servers 208 may provide a remote user with a URL to notify the remote user of new data published about the web service. Publishing servers 208 can also include a / publish / subscribe table to manage updates to data cache server 202. In this embodiment, data cache server 202 is added to the subscriber table and data is added to a publication / subscription table. Like data changes, data server 204 notifies publishing servers 208 that an entry has been made to the publish / subscribe table. If data cache server 202 is located in the publish / subscribe table with the same signature, the cache can be updated on data cache server 202. In certain examples, publishing servers 208 may also include a notification system. In at least one embodiment, the communication system may be physically located within publishing server 208. When a user 222 or data cache server 202 subscribes to updated data publishing servers 208, the notification system may place a entry in the form of a request for updated data in an update notification queue. This queue can contain all the data needed to update an enrolled user, such as data cache server 202 or user 222. After placing an order in the queue, the entire queue can be checked for previous orders for the same data. If there is a previous order, the queue entry is updated instead of creating a new entry. The queue can be implemented as a queue FIFO (First In - First Out). The notification software can send a notification to the subscriber that the data is updated and delete the corresponding queue entry. The notification system can also manage the number of updated data notifications generated by the data server 204. The notification system can determine whether a prior notification and a later notification both exist and delete one of the notifications, because the notification is no longer relevant. Queue management can prevent duplicate notifications from occurring within a threshold frequency. For example, the queue management system may not allow a duplicate notification to occur within a predetermined time interval (for example, 1 minute). By preventing duplicate notifications from occurring, the number of requests to data server 204 can be reduced. In some examples, upon receiving notification of cached data change from publishing server 208, data cache server 202 may make a determination to invalidate (for example, mark as obsolete) the portion of the data cache that contains the old data, and / or request updated data (for example, asynchronously requested) for all old data known to data server 204 or publishing server 208. When data cache server 202 receives a request from a user for data 222, which is known to be interrupted, one of two responses can be given. Depending on the time of the new data updates and / or the user permissions of the requesting user, the data cache server 202 may send an older version of the requested data to the user, or may delay delivery of the requested data to the user until that the updated data is received by the data cache server 202. For example, the software application on the data cache server 202 handles the user's request can determine whether the user should be provided with the updated data or whether the user should be satisfied with the oldest data. As mentioned above, when the data cache server 202 determines that some of the cached data is (or may be) obsolete, it can request updated data from the data server 204. If the data server 204 is unable to provide updated data for the data cache server 202, the update request from data cache server 202 may remain in the queue until data server 204 is able to process the request and send the updated data. In certain examples, if the data server 204 is able to update the cache, the system may send an alert to an administrator or monitoring facility to the data provider. In one embodiment, at least one queue notification can contain incremental sequence numbers, so that a plurality of data caches can be allowed to query each other for the most recent sequence number. For example, a cache can transmit its sequence number for a specific permission, and additional caches on the data cache server 202 can all respond and transmit its order number corresponding to the specific permission. In this example, if a cache has a higher sequence number than another cache, the cache having the largest sequence number can flag your data and then, as expired data, it can update requests from the data server 204. In at least one embodiment, if the cache receives a notification from the notification service, the cache updates and stores a new sequence number. In at least one embodiment, data cache server 202 may use a distributed cache. In this case, a single server can be considered the master and manage notifications and update the cache, which is distributed among all data cache servers (or group of servers). After a failure event from a master data cache server, another master server is selected from the server group. As mentioned above, the data sent to a user responding to a user's request may depend on the user's permissions. In addition, in other embodiments, the response data sent to a user may be more restricted or segmented, depending on other characteristics of the user. For example, a user can only receive additional data (or less data) based on the user's geographic region. In another embodiment, depending on the type of account the user has with the financial provider, the user can only see a selected amount or type of data. Based on the response provided to the user from the server data cache 202 on these additional characteristics can be referred to as segmentation. To use this type of segmentation, a common set of codes can be associated with a plurality of data sets to define data set permissions. The permissions defined by the code set can result in a user not being able to see data outside the user's current countries or regions, or they can restrict user data based on other characteristics. Referring to Figure 6, an illustrative flow diagram is shown, in which different subsets of data entitled are delivered to different users who have different permissions. Referring to Figure 7, an illustrative flow diagram is shown describing a technique for updating a data cache. Typically, users would be assigned an enabling token to manage permissions in this way. The enabling token allows a large number of permissions to be grouped into a smaller number of sets as described above. Referring to Figure 8, a flow chart is shown illustrating some of the aspects mentioned above to provide data caching for authorized users. As shown in S805, data cache server 202 receives a request for titled data from a user, such as user 222. In S810, data cache server 202 can first hash the request and can then determine whether the data exist in the local cache store. If the requested data is present in the local cache (S810: Yes), data cache server 202 can then retrieve the permissions of the requesting user from permission server 206 in S815, and then determine whether the user's permissions cross (for example, it has a cached data permissions at S820. User enabling tokens can allow group permissions to be represented as a smaller number of payloads. Whether user permissions intersect with data permissions or exists an enabling token combined with the cache signature (S 820: Yes), data cache server 202 can then determine whether the cached data has expired at S825. If the cache data has not expired (S825: n), the data cache server 202 can then send the data to the user, as shown in S830. If the user's permissions do not intersect with the data permissions (S820: No), the data cache server 202 responds to the user that the user does not have permission to view the data. In this example, if the cached data has expired (S825: Yes), then in S835 the data cache server 202 can request updated data from data server 204. In S840, data server 204 sends the requested updated data to the data cache server 202. Then, in S845, the data cache server 202 receives the updated data and caches data locally, before sending the updated data to the requesting user in S830. Returning to step S810, if data cache server 202 determines that the data corresponding to the user's request does not exist in the cache (S810: No), data cache server 202 can request data from data server 204 in S835. In certain examples, the data cache of server 202 may also request user permissions or the enable token in S815 simultaneously, in order to potentially operate more efficiently. In S845, data cache server 202 receives the updated data and stores the data locally, and can then send the updated data to the user in S830. As described above, data cache server 202 can also subscribe to one or more publishing servers 208 to receive updates to the cache as data changes, as shown on the S850. When data cache server 202 subscribes to publishing server 208, publishing server 208 sends updated data or a notification that the data has been changed to data cache server 202, as illustrated in S855. In certain examples, asynchronous processes running on the publishing server 208 and / or the data cache server 202 can be scheduled periodically and / or an event conducted in order to effectively maintain the data cache entitled in the server data cache 202 for up to date. Figure 8 indicates a dashed line between S850 and S855 to show the temporal nature of the subscription to publishing server 208 and the time the data arrives at the data cache server asynchronously 202 due to a change. It is to be understood that the invention is not limited in its application to the details of construction and to the disposition of the components and stages of the method established herein. The invention is capable of other embodiments and of being practiced or carried out in various ways. Variations and modifications of the foregoing are within the scope of the present invention. For example, a person skilled in the art will appreciate that the steps illustrated in the illustrative figures can be performed in another way than the recited order, can be repeated, and that one or more illustrated steps can be optional, according to aspects of the disclosure. It is to be understood that the invention described and defined here extends to all alternative combinations of two or more of the individual characteristics mentioned or evident from the text and / or drawings. All of these different combinations constitute the various alternative aspects of the present invention. The embodiments described herein explain the best known methods for practicing the invention and will allow other persons skilled in the art to use the invention.
权利要求:
Claims (23) [0001] 1. An apparatus comprising: one or more processors; and memory storing executable instructions that, when executed by one or more processors, make the device: receiving titled data from a data server, the titled data having associated data permissions defining one or more permissions required by a requesting user to access the titled data; store the titled data and a cache signature corresponding to the titled data; receive a first data request for the titled data; CHARACTERIZED for: hashing the first data request, resulting in the cache signature; retrieve user permissions corresponding to the first user; determine that the user permissions corresponding to the first user intersect with the data permissions; and transmitting a first set of the titled data as a response to the first data request for the titled data. [0002] 2. Apparatus, according to claim 1, CHARACTERIZED by the fact that the memory additionally stores executable instructions that, when executed by one or more processors, make the apparatus: determine if the titled data is expired before responding to the first request for data for the titled data. [0003] 3. Apparatus, according to claim 1 or 2, CHARACTERIZED by the fact that the memory additionally stores executable instructions that, when executed by one or more processors, make the apparatus: receive a second request for data for the titled data from a second user; retrieve user permissions corresponding to the second user; and transmitting a second set of titled data as a response to the second data request for titled data, where the second set of titled data is different from the first set of titled data. [0004] 4. Apparatus according to any one of claims 1 to 3, CHARACTERIZED by the fact that the memory additionally stores executable instructions that, when executed by one or more processors, make the apparatus: subscribe to a publishing server to receive data updates entitled, when the titled data changes. [0005] 5. Device, according to claim 4, CHARACTERIZED by the fact that the memory additionally stores executable instructions that, when executed by one or more processors, make the device: receive an update of the titled data from the publishing server before an expiration of the titled data. [0006] 6. Apparatus, according to claim 1 or 2, CHARACTERIZED by the fact that the memory additionally stores executable instructions that, when executed by one or more processors, make the apparatus: receive a second request for data for the titled data from the first user; determine that user permissions have been changed after receiving the first data request; and transmitting a second set of titled data as a response to the second data request for titled data, where the second set of titled data is different from the first set of titled data. [0007] 7. Method comprising: receiving, by a computing device, entitled data from a data server, entitled data having associated data permissions defining one or more permissions required by a requesting user to access the entitled data; store the titled data and a cache signature corresponding to the titled data; receive a first request for data for titled data from a first user; hash the first data request, resulting in the cache signature; CHARACTERIZED for: retrieving user permissions corresponding to the first user; determine that the user permissions corresponding to the first user intersect with the data permissions; and transmitting a first set of the titled data as a response to the first data request for the titled data, where the cache signature is based on the user's requested data. [0008] 8. Method, according to claim 7, CHARACTERIZED by the fact that it further comprises: determining whether the titled data is expired before responding to the first data request for the titled data. [0009] 9. Method, according to claim 7 or 8, CHARACTERIZED by the fact that it additionally comprises: subscribing to a publishing server to receive updated data; receive asynchronous data updates for titled data from the publishing server; and replace the cached data with updated updated data. [0010] 10. Method, according to any of claims 7 to 9, CHARACTERIZED by the fact that it additionally comprises: requesting and receiving user permissions from a permission server. [0011] 11. Method, according to any of claims 7 to 10, CHARACTERIZED by the fact that it additionally comprises: receiving a second data request for the titled data from the first user; determine that the user permissions corresponding to the first user have changed after receiving the first data request; transmitting a second set of titled data as a response to the second data request for titled data, where the second set of titled data is different from the first set of titled data. [0012] 12. Method, according to any of claims 7 to 11, CHARACTERIZED by the fact that it additionally comprises: storing, with the titled data, an enabling token corresponding to the data permissions. [0013] 13. Method, according to claim 12, CHARACTERIZED by the fact that the enabling token corresponds to data permissions and is assigned to a group of users, in which each user in the user group is allowed access to the subject data data permissions. [0014] 14. Method, according to claim 9, CHARACTERIZED by the fact that it additionally comprises: receiving a notification that notifies the computing device of an update of multiple data domains organized in a hierarchy, in which the titled data is assigned to by least one of the multiple data domains. [0015] 15. Method, according to any of claims 7 to 12, CHARACTERIZED by the fact that the memory additionally stores executable instructions that, when executed by one or more processors, make the device: receive an update notification that includes an identification of one or more data domains that need to be updated, where the titled data is assigned to at least one of the one or more data domains; and request an update of the titled data in response to the update notification. [0016] 16. Method, according to any of claims 7 to 12 or 15, CHARACTERIZED by the fact that it additionally comprises: receiving a second data request for the titled data from a second user; hash the second data request to the titled data, resulting in the cache signature; retrieve user permissions corresponding to the second user; and transmitting a second set of titled data as a response to the second data request for titled data, where the second set of titled data is different from the first set of titled data. [0017] 17. Method comprising: receiving, by a computing device, a first data request, the first data request corresponding to a first user having first user permissions; hash the first data request, resulting in a cache signature; determine which first response data corresponding to the first data request and corresponding to the first user permissions is stored in a local data cache using the cache signature; send the first response data to the first user; CHARACTERIZED by: receiving, by the computing device, a second data request corresponding to a second user having second user permissions, in which the second data request requests the same data as the first data request, and in which the second permissions users are different from the first user permissions; hash the first data request, resulting in a cache signature, in which the cache signature is based on the user's requested data; determining which second response data corresponding to the second user request and corresponding to the second user permissions is stored in the local data cache using the cache signature; and sending the second response data to the second user, where the second response data is different from the first response data. [0018] 18. Method, according to claim 17, CHARACTERIZED by the fact that it further comprises: when determining which requested data is not stored in the local data cache, request the requested data from a data server and cache the data received from the local data cache. [0019] 19. Method, according to claim 17 or 18, CHARACTERIZED by the fact that it additionally comprises: checking an expiration of the first response data before sending the first response data. [0020] 20. Non-transient, computer-readable media that stores executable instructions configured to, when executed, make a device: receiving titled data from a data server, titled data having associated data permissions defining one or more permissions required by a user requester to access the titled data; store the titled data and a cache signature corresponding to the titled data; receive a first request for data for titled data from a first user; hash the first data request, resulting in the cache signature; CHARACTERIZED by: retrieving user permissions corresponding to the first user; determine that the user permissions corresponding to the first user intersect with the data permissions; and transmitting a first set of the titled data as a response to the first data request for the titled data, where the cache signature is based on the user's requested data. [0021] 21. Computer readable non-transitory media, according to claim 20, CHARACTERIZED by additionally storing executable instructions that, when executed, make the device: receive a second data request for the titled data from a second user; retrieve user permissions corresponding to the second user; and transmitting a second set of titled data as a response to the second data request for titled data, where the second set of titled data is different from the first set of titled data. [0022] 22. Computer readable non-transitory media, according to claim 21, CHARACTERIZED by additionally storing executable instructions that, when executed, make the device: hash the second data request for the titled data, resulting in the cache signature. [0023] 23. Computer readable non-transitory media, according to claim 20, CHARACTERIZED for additionally storing executable instructions that, when executed, make the device: receive an update notification that includes an identification of one or more data domains that need to be updated , in which the titled data is assigned to at least one of the one or more data domains; and request an update of the titled data in response to the update notification.
类似技术:
公开号 | 公开日 | 专利标题 BR112012008967B1|2021-04-13|APPARATUS AND METHODS OF TITLED DATA CACHE MANAGEMENT AND NON-TRANSITIONAL MEDIA LEGIBLE BY COMPUTER US10805227B2|2020-10-13|System and method for controlling access to web services resources US8996482B1|2015-03-31|Distributed system and method for replicated storage of structured data records US9444904B2|2016-09-13|Content distribution management system US9448932B2|2016-09-20|System for caching data US8560654B2|2013-10-15|Change management CN105144725A|2015-12-09|Scalable content delivery network request handling mechanism AU2020220160B2|2021-07-01|System, method and computer-readable storage medium for customizable event-triggered computation at edge locations US9002790B2|2015-04-07|Hosted storage locking US20180019985A1|2018-01-18|Distributed key/value store system using asynchronous messaging systems US7143244B2|2006-11-28|System and method for invalidating data in a hierarchy of caches US20110078242A1|2011-03-31|Automatic moderation of media content by a first content provider based on detected moderation by a second content provider AU2018403177B2|2021-05-13|Data isolation in distributed hash chains US20080091955A1|2008-04-17|System and method for rotating data in crypto system US11095705B2|2021-08-17|Content distributed over secure channels US20210056094A1|2021-02-25|Transaction processing failover Chu0|Session Service Architecture–
同族专利:
公开号 | 公开日 RU2012119298A|2013-11-27| EP2491493A4|2015-04-15| WO2011049848A1|2011-04-28| US20130152172A1|2013-06-13| AU2010310836A1|2012-05-31| JP2013514565A|2013-04-25| CN102713865B|2015-12-16| US8397066B2|2013-03-12| CN102713865A|2012-10-03| US20110093925A1|2011-04-21| US9043881B2|2015-05-26| JP5638082B2|2014-12-10| BR112012008967A8|2018-09-11| EP2491493B1|2020-05-20| AU2010310836B2|2016-11-17| RU2577191C2|2016-03-10| EP2491493A1|2012-08-29|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US5941947A|1995-08-18|1999-08-24|Microsoft Corporation|System and method for controlling access to data entities in a computer network| JP2001014209A|1999-06-25|2001-01-19|Sharp Corp|Device and method for relaying information and computer readable recording medium recording information relaying program| JP2002358229A|2001-06-04|2002-12-13|Ntt Data Corp|Cache device and computer program| JP2003186747A|2001-12-14|2003-07-04|Nec Corp|Access authority management system, its management method and program| AUPS339102A0|2002-07-04|2002-08-01|Three Happy Guys Pty Ltd|Method of monitoring volumes of data between multiple terminals and an external communication network| US6959362B2|2003-05-07|2005-10-25|Microsoft Corporation|Caching based on access rights in connection with a content management server system or the like| US8108939B2|2003-05-29|2012-01-31|Oracle International Corporation|Method and apparatus to facilitate security-enabled content caching| US7577659B2|2003-10-24|2009-08-18|Microsoft Corporation|Interoperable credential gathering and access modularity| WO2005043279A2|2003-10-31|2005-05-12|Disksites Research And Development Ltd.|Device, system and method for storage and access of computer files| US20050144482A1|2003-12-17|2005-06-30|David Anuszewski|Internet protocol compatible access authentication system| US20050154915A1|2004-01-09|2005-07-14|Peterson Matthew T.|Networked computer user identification and authentication apparatus method and system| US9081872B2|2004-06-25|2015-07-14|Apple Inc.|Methods and systems for managing permissions data and/or indexes| US7600230B2|2004-07-06|2009-10-06|Oracle International Corporation|System and method for managing security meta-data in a reverse proxy| US20070208946A1|2004-07-06|2007-09-06|Oracle International Corporation|High performance secure caching in the mid-tier| US7529931B2|2004-12-23|2009-05-05|Microsoft Corporation|Managing elevated rights on a network| US7962915B2|2005-03-18|2011-06-14|International Business Machines Corporation|System and method for preserving state for a cluster of data servers in the presence of load-balancing, failover, and fail-back events| JP4515319B2|2005-04-27|2010-07-28|株式会社日立製作所|Computer system| JP2007128371A|2005-11-04|2007-05-24|Fujitsu Ltd|Content retrieval system| US8151323B2|2006-04-12|2012-04-03|Citrix Systems, Inc.|Systems and methods for providing levels of access and action control via an SSL VPN appliance| US7845003B2|2006-10-31|2010-11-30|Novell, Inc.|Techniques for variable security access information| JP2009140290A|2007-12-07|2009-06-25|Fujitsu Ltd|Content repeater, content relay system, content relay method and program|US9026589B1|2010-05-04|2015-05-05|Amazon Technologies, Inc.|Stubbing techniques in distributed-services environments| EP2705459B1|2011-04-30|2020-08-05|VMWare, Inc.|Dynamic management of groups for entitlement and provisioning of computer resources| US9444904B2|2012-03-16|2016-09-13|Thomson Reuters Global Resources|Content distribution management system| CN103490886B|2012-06-12|2017-04-05|阿里巴巴集团控股有限公司|The verification method of permissions data, apparatus and system| CN103530568B|2012-07-02|2016-01-20|阿里巴巴集团控股有限公司|Authority control method, Apparatus and system| US8782411B2|2012-07-25|2014-07-15|Oracle International Corporation|System and method of extending oauth server with third party authentication/authorization| US8806595B2|2012-07-25|2014-08-12|Oracle International Corporation|System and method of securing sharing of resources which require consent of multiple resource owners using group URI's| US9009787B2|2012-07-25|2015-04-14|Oracle International Corporation|System and method of mapping and protecting communication services with OAuth| US9639318B2|2012-09-26|2017-05-02|Tencent TechnologyCompany Limited|Systems and methods for sharing image data| US9015378B2|2013-05-15|2015-04-21|Google Inc.|Determining sensor information in the background on a mobile device| US20150033292A1|2013-07-25|2015-01-29|Ddn Ip Holdings Limited|Method and System for Sharing and Distributing Content| US20150227630A1|2014-02-13|2015-08-13|Microsoft Corporation|Caching queries for dynamic webpages| JP6323109B2|2014-03-26|2018-05-16|日本電気株式会社|Document management system, key-value store apparatus, document management method, and program| CN105338016B|2014-06-27|2019-08-23|国际商业机器公司|Data high-speed caching method and device and resource request response method and device| JP6394175B2|2014-08-19|2018-09-26|富士ゼロックス株式会社|Server apparatus, information processing system, and program| US20160212198A1|2015-01-16|2016-07-21|Netapp, Inc.|System of host caches managed in a unified manner| US9679026B2|2015-02-06|2017-06-13|Bank Of America Corporation|Methods and apparatus for bifurcating data storage for enabling implementation and manipulation of an interactive hierarchical entitlement structure| CN106209735A|2015-04-30|2016-12-07|中国移动通信集团公司|A kind of information processing method, device and Electronic Health Record system| CN105141576A|2015-06-30|2015-12-09|广州支点网络科技有限公司|Authorization management system and authorization method| KR20170058726A|2015-11-19|2017-05-29|삼성전자주식회사|Broadcast receiving system including broadcast receiving apparatus and controlling method thereof| CN105610716B|2016-03-09|2019-01-08|北京邮电大学|A kind of multimedia flow Optimization Scheduling, apparatus and system based on SDN| US9948660B2|2016-04-26|2018-04-17|Ca, Inc.|Computer security based on hierarchical cache latency signature authentication| US10652248B2|2016-07-28|2020-05-12|Molecula Corp.|Systems and methods of managing data rights and selective data sharing| US10374792B1|2016-09-29|2019-08-06|EMC IP Holding Company LLC|Layout-independent cryptographic stamp of a distributed dataset| CN108108597A|2016-11-25|2018-06-01|沈阳美行科技有限公司|A kind of method for authenticating and device based on NGTP frameworks| TWI652592B|2017-04-20|2019-03-01|周宏建|Storage device and access control method thereof| CN108197256A|2017-12-29|2018-06-22|北京辰森世纪科技股份有限公司|Access the method and system of specified network service platform| US10409524B1|2018-04-25|2019-09-10|Advanced Micro Devices, Inc.|Dynamic memory traffic optimization in multi-client systems| US11263348B2|2018-09-28|2022-03-01|Atlassian Pty Ltd.|Managing content authorization in a federated application system| CN109933719B|2019-01-30|2021-08-31|维沃移动通信有限公司|Searching method and terminal equipment| US20200349080A1|2019-05-03|2020-11-05|Western Digital Technologies, Inc.|Distributed cache with in-network prefetch| US20210075612A1|2019-09-06|2021-03-11|Jpmorgan Chase Bank, N.A.|System and method for implementing market data rights enforcement| CN111787088A|2020-06-28|2020-10-16|百度在线网络技术(北京)有限公司|Method and device for processing applet data| CN111737499B|2020-07-27|2020-11-27|平安国际智慧城市科技股份有限公司|Data searching method based on natural language processing and related equipment|
法律状态:
2018-10-02| B25D| Requested change of name of applicant approved|Owner name: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY (CH) Owner name: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY | 2019-01-08| B06F| Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]| 2019-10-01| B25A| Requested transfer of rights approved|Owner name: FINANCIAL AND RISK ORGANISATION LIMITED (GB) | 2019-11-12| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]| 2020-10-27| B06A| Notification to applicant to reply to the report for non-patentability or inadequacy of the application [chapter 6.1 patent gazette]| 2021-02-17| B09A| Decision: intention to grant| 2021-04-13| B16A| Patent or certificate of addition of invention granted|Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 13/04/2021, OBSERVADAS AS CONDICOES LEGAIS. |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 US12/582,180|2009-10-20| US12/582,180|US8397066B2|2009-10-20|2009-10-20|Entitled data cache management| PCT/US2010/053003|WO2011049848A1|2009-10-20|2010-10-18|Entitled data cache management| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|