IP Library Granted Patent US 8,505,027
Granted Patent B2
US 8,505,027 · App. 11/315,413 · Granted Aug 6, 2013

Elective data sharing between different implementations of a software product

Inventors: Douglas K. Warner (Bozeman, MT); J. Neal Richter (Belgrade, MT); Stephen D. Durbin (Bozeman, MT)
Assignee: Oracle OTC Subsidiary LLC
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,505,027
App. No.
11/315,413
Granted
Aug 6, 2013
Kind
B2
Abstract

The present invention is directed to a system and method for selectively sharing data between different implementations of the same software program in a network environment. The program implementations are otherwise independent with each executing its own private memory space in a single computer or on multiple computers in the network. The present invention enables a first implementation of a program to borrow or utilize data collected, derived or otherwise utilized by a second implementation of the same program.

Claims (62)

1. A method for providing selective private data sharing between at least two different tenant implementations of a software program in a hosted, multi-tenant implementation of the software program, said method comprising:

providing, by a computer system, a first-implementation of the software program to a first tenant and a second implementation of the software program to a second tenant, said first implementation having a first data store including a first set of private business data for a first business entity, and said second implementation having a second data store including a second set of private business data for a second business entity, wherein said private business data is data that is not publicly available outside of the first business entity or second business entity, and wherein the first business entity and the second business entity are different entities;

identifying, by the computer system, a shareable subset for each of said first and second data stores, said first and said second data stores are maintained according to a common schema and the shareable subsets are identified based at least in part based on the common schema;

anonymizing, by the computer system, the sharable subset for each of said first and second data stores;

providing, by the computer system, access by either of said first and said second implementations to said anonymized shareable subsets of said first and second data stores, whereby said first implementation is capable of transparently utilizing said second set of private business data during processing and said second implementation is capable of transparently utilizing said first set of private business data during processing based on the anonymized shareable subsets of said first and second data stores; and

tracking, by the computer system, a statistical use of shared data between said sharable subsets.

2. The method of claim 1 further comprising:

requesting, by the computer system, in said first implementation one or more informational items from the private business data;

determining, by the computer system, if said one or more informational items is one of said shareable subsets; and

providing, by the computer system, said one or more informational items to said first implementation from said second data store.

3. The method of claim 1 further comprising:

storing, by the computer system, in said first implementation one or more informational items from the private business data to said first data store;

determining, by the computer system, if said one or more informational items is one of said shareable subsets; and

updating, by the computer system, said second data store with said one or more private informational items.

4. The method of claim 1 wherein providing access to said shareable subsets provides access to one or more tables within said data store of said first implementation by said second implementation.

5. The method of claim 1 wherein said providing the first-implementation of the software program to the first tenant and the second implementation of the software program to the second tenant includes hosting said first and second implementations.

6. The method of claim 1 further comprising:

utilizing, by the computer system, said shareable subsets to create survey data.

7. The method of claim 1 further comprising:

utilizing, by the computer system, said shareable subsets to predict economic trends.

8. The method as in claim 1 wherein said access is provided to one or more users of said software program.

9. A non-transitory computer readable storage device having stored thereon a computer program for implementing a method of providing selective private data sharing between at least two different tenant implementations of a software program in a hosted, multi-tenant implementation of the software program, the method comprising:

hosting in a computing environment, a first implementation of the software program to a first tenant and a second implementation of the software program to a second tenant, said first implementation having a first data store including a first set of private business data for a first-business entity, and said second implementation having a second data store including a second set of private business data for a second business entity, wherein said private business data is data that is not publicly available outside of the first business entity or second business entity, and wherein the first business entity and the second business entity are different entities;

identifying a shareable subset for each of said first and second data stores, wherein said first and said second data stores are maintained according to a common schema and the shareable subsets are identified based at least in part based on the common schema;

anonymizing the sharable subset for each of the first and second data stores;

providing access by either of said first and said second implementations to said anonymized shareable subsets of said first and second data stores whereby said first implementation may transparently utilize said second set of business data during processing and said second implementation may transparently utilize said first set of business data during processing based on the anonymized shareable subsets of said first and second data stores; and

tracking a statistical use of shared data between said sharable subsets.

10. The non-transitory computer readable storage device of claim 9 having the implemented method further comprising:

requesting in said first implementation one or more informational items from the private business data;

determining if said one or more informational items is one of said shareable subsets; and

providing said one or more informational items to said first implementation from said second data store.

11. The non-transitory computer readable storage device of claim 9 having the implemented method further comprising:

storing in said first implementation one or more informational items from the private business data to said first data store;

determining if said one or more informational items is one of said shareable subsets; and

updating said second data store with said one or more informational items.

12. The non-transitory computer readable storage device of claim 9 having the implemented method wherein providing access to said shareable subsets, provides access to one or more tables within said data store of said first implementation, by said second implementation.

13. The non-transitory computer readable storage device of claim 9 having the implemented method further comprising:

utilizing said shareable subsets to create survey data.

14. The non-transitory computer readable storage device of claim 9 having the implemented method further comprising:

utilizing said shareable subsets to predict economic trends.

15. The non-transitory computer readable storage device of claim 9 wherein said access is provided to one or more users of said software program.

16. A system comprising:

a processor; and

a memory coupled with and readable by the processor and having stored therein a set of instructions which, when executed by the processor, cause the processor to provide selective private data sharing between at least two different tenant implementations of a software program in a hosted, multi-tenant implementation of the software program by:

providing a first-implementation of the software program to a first tenant and a second implementation of the software program to a second tenant, said first implementation having a first data store including a first set of private business data for a first business entity, and said second implementation having a second data store including a second set of private business data for a second business entity, wherein said private business data is data that is not publicly available outside of the first business entity or second business entity, and wherein the first business entity and the second business entity are different entities;

identifying a shareable subset for each of said first and second data stores, wherein said first and said second data stores are maintained according to a common schema and the shareable subsets are identified based at least in part based on the common schema;

anonymizing the sharable subset for each of said first and second data stores;

providing access by either of said first and said second implementations to said anonymized shareable subsets of said first and second data stores, whereby said first implementation is capable of transparently utilizing said second set of private business data during processing and said second implementation is capable of transparently utilizing said first set of private business data during processing based on the anonymized shareable subsets of said first and second data stores; and

tracking a statistical use of shared data between said sharable subsets.

17. The system of claim 16 further comprising:

requesting in said first implementation one or more informational items from the private business data;

determining if said one or more informational items is one of said shareable subsets; and

providing said one or more informational items to said first implementation from said second data store.

18. The system of claim 16 further comprising:

storing in said first implementation one or more informational items from the private business data to said first data store;

determining if said one or more informational items is one of said shareable subsets; and

updating said second data store with said one or more private informational items.

19. The system of claim 16 wherein providing access to said shareable subsets provides access to one or more tables within said data store of said first implementation by said second implementation.

20. The system of claim 16 wherein said providing the first-implementation of the software program to the first tenant and the second implementation of the software program to the second tenant includes hosting said first and second implementations.

21. The system of claim 16 further comprising utilizing said shareable subsets to create survey data.

22. The system of claim 16 further comprising utilizing said shareable subsets to predict economic trends.

23. The system as in claim 16 wherein said access is provided to one or more users of said software program.

Assignments (2)
MERGER Recorded Oct 31, 2012
From: RIGHTNOW TECHNOLOGIES, INC.
To: ORACLE OTC SUBSIDIARY LLC
Reel/Frame 029218/0025 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2005
From: WARNER, DOUGLAS K.; RICHTER, J. NEAL; DURBIN, STEPHEN D.
To: RIGHTNOW TECHNOLOGIES, INC.
Reel/Frame 017407/0389 →
Continuity (1)
Related Publication 20070150856A1 · Jun 28, 2007